こんにちは,iric初心者です. ソルバーを自身で編集しているのですが,新しく作ったソルバーにもともとのソルバー(nays2dh)で作った格子をインポートしようとすると,”このCGNSファイルは現在のソルバーと互換性がありません”と表示されます. ここで質問ですが,それぞれのソルバー同士で互換性を持たせるにはどのような操作が必要でしょうか?? お忙しい中恐縮ですが,ご回答お待ちしております.
8201様
こんにちは、ご質問ありがとうございます。 結論から言うとdefinition.XMLのGridRelatedCondition要素内でItem要素で定義している格子属性のname属性を揃えることで異なるソルバー間でも格子属性を引き継ぐことができます。
他の方の参考にもなるかと思いますのですこし長く回答します。
まずはじめに「このCGNSファイルは、〇〇用のもので、現在のソルバーと互換性がありません。続行すると、格子の属性は一部のみインポートされる可能性があります。このファイルから格子をインポートしますか?」というメッセージは、選択しているソルバーと異なるソルバーや、バージョンの異なる(新しい)同じソルバーから格子を読み込もうとすると表示されるメッセージです。 たとえ格子に定義されている値が同じでもこのメッセージは表示されます。
ここでいう互換性とは格子に定義されている値のことです。 例として、以下にNays2DHとNays2D Floodの格子属性を比較したものを載せます。 https://i-ric.org/webadmin/wp-content/uploads/2024/07/eeb4570631d9f010129e7e3b9a780a4a.png このようにソルバーによって格子属性があったりなかったりします。上記エラーメッセージは「読み込み先にも読み込み元にもある属性しか読み込めませんよ」ということを言っています。 この例では青い両矢印で繋がれているものだけが格子をインポートした際に読み込まれる値です。「マニングの粗度係数」と「粗度」も一見共通しているように見えますがこれは読み込まれません。
ここでご質問の本題の「ソルバー同士で互換性を持たせるにはどうするか?」≒「違うソルバーから格子属性ごと格子をインポートする」について、計算格子の格子属性の定義はdefinition.XMLのGridRelatedCondition要素内に格子属性毎にItem要素で定義されています。ここでの”name”属性の値がお互いのソルバーで一致していれば読み込まれます。”caption”属性はあくまで表示名なのでここが違っていても問題はありません。 Nays2DHとNays2D Floodのdefinition.XMLを比較してみると以下のように地形高と障害物セルはnameが一致していますが、粗度についてはnameが異なることがわかります。 https://i-ric.org/webadmin/wp-content/uploads/2024/07/2024-07-16_09h44_37.png
コメントを投稿するにはログインしてください。
このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。
コメント
8201様
こんにちは、ご質問ありがとうございます。
結論から言うとdefinition.XMLのGridRelatedCondition要素内でItem要素で定義している格子属性のname属性を揃えることで異なるソルバー間でも格子属性を引き継ぐことができます。
他の方の参考にもなるかと思いますのですこし長く回答します。
まずはじめに「このCGNSファイルは、〇〇用のもので、現在のソルバーと互換性がありません。続行すると、格子の属性は一部のみインポートされる可能性があります。このファイルから格子をインポートしますか?」というメッセージは、選択しているソルバーと異なるソルバーや、バージョンの異なる(新しい)同じソルバーから格子を読み込もうとすると表示されるメッセージです。
たとえ格子に定義されている値が同じでもこのメッセージは表示されます。
ここでいう互換性とは格子に定義されている値のことです。
例として、以下にNays2DHとNays2D Floodの格子属性を比較したものを載せます。
https://i-ric.org/webadmin/wp-content/uploads/2024/07/eeb4570631d9f010129e7e3b9a780a4a.png
このようにソルバーによって格子属性があったりなかったりします。上記エラーメッセージは「読み込み先にも読み込み元にもある属性しか読み込めませんよ」ということを言っています。
この例では青い両矢印で繋がれているものだけが格子をインポートした際に読み込まれる値です。「マニングの粗度係数」と「粗度」も一見共通しているように見えますがこれは読み込まれません。
ここでご質問の本題の「ソルバー同士で互換性を持たせるにはどうするか?」≒「違うソルバーから格子属性ごと格子をインポートする」について、計算格子の格子属性の定義はdefinition.XMLのGridRelatedCondition要素内に格子属性毎にItem要素で定義されています。ここでの”name”属性の値がお互いのソルバーで一致していれば読み込まれます。”caption”属性はあくまで表示名なのでここが違っていても問題はありません。
Nays2DHとNays2D Floodのdefinition.XMLを比較してみると以下のように地形高と障害物セルはnameが一致していますが、粗度についてはnameが異なることがわかります。
https://i-ric.org/webadmin/wp-content/uploads/2024/07/2024-07-16_09h44_37.png