iRICソフトウェアには大変お世話になっており、感謝しております。
さて、Nays2DHに対する質問(「単純な河床変動計算での予想外の河床低下について」)をしましたが、そちらでの回答を拝見しますとiRICのプリプロセッサの問題のように思われましたのでカテゴリーを変更して再度ご相談させていただきます。現象の詳細とプロジェクトファイルは上記質問に投稿いたしましたので、ここではプリプロセッサーに対して生じた疑問の要点を書きます。
幅10m, 流下距離100m, 勾配0.001, 下流端地形高0m、1mx1m格子の全体に移動床を設定し、上流端4mに固定床高さを設定、また下流端付近に地形高ポリゴンで-0.1mの窪みを作成。
疑問1:固定床高さを設定したのは上流端だけなのに、格子点の属性を表示すると格子全体に固定床高さ0mが設定される。
疑問2:格子全体に固定床高さ0mが設定されているにもかかわらず、計算終盤には下流端の当初窪み(計算中に埋没)だった部分が-0.1mまで河床低下してしまう。
疑問1は地理情報とマッピング結果の不整合、疑問2はプリプロセッサ―画面表示と実際の格子点属性の不整合が疑われます。これらの動作をどのように理解すれば良いのかご教示いただけませんでしょうか。よろしくお願い申し上げます。
コメント
いつもiRICをご利用いただき、ありがとうございます。お問い合わせいただいた件、ご回答いたします。ご確認ください。
> 疑問1:固定床高さを設定したのは上流端だけなのに、格子点の属性を表示すると格子全体に固定床高さ0mが設定される。
プロジェクトファイルの方、拝見しました。固定高さとして0m を指定したポリゴンは上流端のみを覆うように作成いただいているのを確認しました。
iRICでは、格子点や格子セルの属性について、ユーザがポリゴンなどを追加して指定しなかった場合、デフォルト値としてどんな値が設定されるかはソルバ開発者が、ソルバ定義ファイルで定義できるようになっています。そのため、ポリゴンなどが設定されていない領域についても、「NODATA」のような値にはならず、ソルバ定義ファイルでの設定内容に従って何らかの値が設定されます。
Nays2DHのソルバ定義ファイルを確認したところ、属性「固定床高さ」のデフォルト値は、”max”、つまり、「設定されている値の中での最大値」と定義されていました。今回共有いただいた例では、ポリゴンは1つだけであり、その設定値が0であったため、格子全体の「固定床高さ」が0に設定されたものと理解しております。
カテゴリに「Nays2DH」を指定したオリジナルのご質問で「格子点の属性ー固定床高さを確認すると全面に0mが設定されています。この状態はオブジェクトブラウザーの地理情報で設定した状態とは異なっています」とコメントいただいておりますが、上記の「デフォルト値が設定された」との説明でご納得いただればと思います。
上流端以外の領域の固定床高さを0以外 (例えば -10) の値に明示的に指定したい場合は、格子全体を覆うようなポリゴンを作成し、値に -10 を設定した上で、オブジェクトブラウザ上で、固定床高さが0のポリゴンの方が上にあるよう並べ替えていただけばと思います。そのように設定した場合、上流端のみ0、それ以外が -10 にマッピングされます。
ご確認いただければと思います。
> 疑問2:格子全体に固定床高さ0mが設定されているにもかかわらず、計算終盤には下流端の当初窪み(計算中に埋没)だった部分が-0.1mまで河床低下してしまう。
オリジナルの質問に添付いただいたプロジェクトファイル内の CGNS ファイルの内容を確認しました。固定床高さについては、間違いなく格子全体について、 0 の値が設定されておりました。
ご質問の文面から、「プリプロセッサーの画面では 値 0 が設定されているように見えるが、実際の格子点属性は別の値が設定されている」という状態にあると推測されたのかと思いますが、そういうわけではなさそうです。
固定床が 0m なのにそれより下に削れてしまうケースがあるとのことですが、そちらの挙動については、ソルバーの実装による部分ですので、私には分かりません。恐縮ですが、ご理解ください。
どうぞよろしくお願いいたします。
ご回答くださりありがとうございます。Nays2DH側の仕様であると理解しました。その後少し検証計算を行い、以下のルールであると理解できました。サポート感謝いたします。
1. 一部にでも「固定床高さ」が設定されていると、「固定床と移動床」の設定には関係なく全体が固定床となり、固定床高さを明示的に設定していない部分には固定床高さの最大値が設定される。
2.地形高が固定床高さより低い場合、その部分の固定床高さは地形高の高さとなる。