お世話になります。
Nays2D+の結果について、EvaTRIP Pro で瀬淵分析を行いたいのですが、添付のようなエラーが出ます。 原因についてご教示いただけますでしょうか。
また、そもそもNays2D+の結果をEvaTRIP Proで分析可能なのでしょうか。
よろしくお願いします。
s-ozera様
こんにちは 開発者ではありませんが、このエラーについては心当たりがあるので回答します。
まず結論ですが 現状のEvaTRiP ProではNays2D+の結果を分析することはできません。ただし、EvaTRiP ProはPythonで書かれたオープンソースのソルバーなので簡単な編集でNays2D+の解析も対応可能です。
つぎにエラーの原因ですが Nays2D+が2次元の格子と3次元の格子の2つを持つソルバーであることが原因です。 EvaTRiP Proで使用されている計算結果を読み込む関数が格子が1種類しかないものを対象にした関数ですので計算結果を読み込めずエラーが発生しています。
対処法ですが、 現在EvaTRiP Proで使用されている関数を複数の格子対応の関数に差し替えることです。 私の環境で関数を差し替えて実行しましたが、Nays2D+でも読み込みエラーが発生せず解析できることを確認できました。
動作は保証しませんが、私が行った変更を参考までに以下に示します。 念の為バックアップを取ってから作業することをおすすめします。
1. iRICがインストールされているフォルダの中にEvaTRiP Proのソースコードが入っているので、”common.py”をお好みのテキストエディタで開きます。 (デフォルトでは”C:\Users\ユーザー名\iRIC_v4_dev\solvers\ArrcPWRI_EvaTRiP_Pro”に入っています) 2. 101行目~106行目に計算結果を読み込む関数が以下のようにあります。 https://i-ric.org/webadmin/wp-content/uploads/2024/09/2024-09-20_19h04_25.png 3. これらの”iric.cg_iRIC_Read_Sol_Node_Real”を”iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”に書き換えます。さらに2番目の引数として”1″を追加します。 https://i-ric.org/webadmin/wp-content/uploads/2024/09/2024-09-20_19h07_22.png 4. 保存します
これで計算を再実行すると回るようになっていると思います。 Nays2DHなどもこれまで通り問題なく使えるはずです。
是非試してみてください。
一応参考までに変更内容を説明しますと、”iric.cg_iRIC_Read_Sol_Node_Real”が格子が1つのみある場合の計算結果を読み込む関数で、”iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”が複数の格子がある場合の関数です。 “iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”は引数に「何番目の格子の値か」を与える必要があるので基本的に平面2次元格子が含まれている番号である”1″を追加しました。
関数の詳細は以下です。 “iric.cg_iRIC_Read_Sol_Node_Real” https://iric-solver-dev-manual.readthedocs.io/ja/v4_jp/06/03/cg_iRIC_Read_Sol_Node_Real.html “iric.cg_iRIC_Read_Sol_Node_Real_WithGridId” https://iric-solver-dev-manual.readthedocs.io/ja/v4_jp/06/03/cg_iRIC_Read_Sol_Node_Real_WithGridId.html
KeitaHoshino 様
ご回答ありがとうございます。 また、ご丁寧に対処法までご教示くださり、大変助かります。 その方法で試してみようと思います。
今後ともよろしくお願いいたします。
コメントを投稿するにはログインしてください。
このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。
コメント
s-ozera様
こんにちは
開発者ではありませんが、このエラーについては心当たりがあるので回答します。
まず結論ですが
現状のEvaTRiP ProではNays2D+の結果を分析することはできません。ただし、EvaTRiP ProはPythonで書かれたオープンソースのソルバーなので簡単な編集でNays2D+の解析も対応可能です。
つぎにエラーの原因ですが
Nays2D+が2次元の格子と3次元の格子の2つを持つソルバーであることが原因です。
EvaTRiP Proで使用されている計算結果を読み込む関数が格子が1種類しかないものを対象にした関数ですので計算結果を読み込めずエラーが発生しています。
対処法ですが、
現在EvaTRiP Proで使用されている関数を複数の格子対応の関数に差し替えることです。
私の環境で関数を差し替えて実行しましたが、Nays2D+でも読み込みエラーが発生せず解析できることを確認できました。
動作は保証しませんが、私が行った変更を参考までに以下に示します。
念の為バックアップを取ってから作業することをおすすめします。
1. iRICがインストールされているフォルダの中にEvaTRiP Proのソースコードが入っているので、”common.py”をお好みのテキストエディタで開きます。
(デフォルトでは”C:\Users\ユーザー名\iRIC_v4_dev\solvers\ArrcPWRI_EvaTRiP_Pro”に入っています)
2. 101行目~106行目に計算結果を読み込む関数が以下のようにあります。
https://i-ric.org/webadmin/wp-content/uploads/2024/09/2024-09-20_19h04_25.png
3. これらの”iric.cg_iRIC_Read_Sol_Node_Real”を”iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”に書き換えます。さらに2番目の引数として”1″を追加します。
https://i-ric.org/webadmin/wp-content/uploads/2024/09/2024-09-20_19h07_22.png
4. 保存します
これで計算を再実行すると回るようになっていると思います。
Nays2DHなどもこれまで通り問題なく使えるはずです。
是非試してみてください。
一応参考までに変更内容を説明しますと、”iric.cg_iRIC_Read_Sol_Node_Real”が格子が1つのみある場合の計算結果を読み込む関数で、”iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”が複数の格子がある場合の関数です。
“iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”は引数に「何番目の格子の値か」を与える必要があるので基本的に平面2次元格子が含まれている番号である”1″を追加しました。
関数の詳細は以下です。
“iric.cg_iRIC_Read_Sol_Node_Real”
https://iric-solver-dev-manual.readthedocs.io/ja/v4_jp/06/03/cg_iRIC_Read_Sol_Node_Real.html
“iric.cg_iRIC_Read_Sol_Node_Real_WithGridId”
https://iric-solver-dev-manual.readthedocs.io/ja/v4_jp/06/03/cg_iRIC_Read_Sol_Node_Real_WithGridId.html
KeitaHoshino 様
ご回答ありがとうございます。
また、ご丁寧に対処法までご教示くださり、大変助かります。
その方法で試してみようと思います。
今後ともよろしくお願いいたします。