この記事はオープンCAE Advent Calendar 2022の1日目です。
背景、目的
先日、ParaViewでの流線の書き方について、新しく分かったことのがあったのでまとめておいて後から見返せるようにしたいと思った。
こういうメモは書けるときに書いていないと、後に思い出せなくなるので、物忘れ対策の一面もある。
基本的な流線の書き方
流線はStreamTracerで描画する。
StreamTracerでは流線の起点となるSeedにLineとPoint Cloudを選択できる。
Lineは指定した線上から流線を描画する。
Point Cloudは指定した球内に分布する点から流線を描画する。
どちらもNumber Of Pointsで指定した数字を起点の数として描画する。
特定の断面からの流線
特定のパッチやSlice面から流線を描画するにはStreamTracer With Custom Sourceが使用できる。
まず、流線の起点を置きたい断面を作る。
作った断面に対して、StreamTrace With Custom Sourceフィルタを適用する。フィルタを適用すると、InputとSeed Sourceを聞かれる。Inputには流線のもととなるデータを指定する。
次に、Seed Sourceには先ほど作った断面を指定する。
これでSliceを起点に流線が描画できる。
ただし、このやり方だと、StreamTracer With Custom SourceにNumber Of Pointsの項目がないため、流線の起点の数が指定できない。
そのため、SliceにMask Pointsフィルタを適用し、Mask Pointsの設定で起点の数を指定する。
起点の数はMask PointsのMaximam Number of Pointsの数を変えることで、コントロールできる。
また、起点についてはMask PointsのGenerate Verticesにチェックを入れておくと、可視化できる。
デフォルトではMask Pointsが生成するVerticesはメッシュによって位置が偏ることがある。
その場合はRandom Sampling にチェックを入れると、改善することがある。
流線を描画する際はSeed SourceにMask Pointsを指定する。
指定した点数の起点から流線が書ける。
その他Sourceからの流線
流線について、例えば、特定の一点だけから流線を書きたいとか、そういったことを考えた場合、StreamTraceで非常に小さい球を指定して書くとかを考えた。
ある意味パワープレイなので、可能なら座標を指定して流線を描画したいと思い、いろいろと調べているうちにStreamTracer With Custom Sourceに「Source」と入っていることに気が付いて、ParaViewのSourceから流線が書けるのではないかと考えた。
SourcesメニューからPoint Sourceを作成し、流体空間内に座標を変更する。
Stream Tracer With Custom SourceのSeed SourceにPoint Sourceを指定する。Stream Tracer With Custom SourceはPoint Sourceを選択している場合は選べないので、~.foamなど流体解析結果が含まれているデータを選択して適用する。
これにより、指定したPoint Source一点からの流線が描画できる。
同様に他のSourcesも流線描画の起点として使用できる。
Lineを使うと次のようになる。StreamTracerのSeedにLineを選択した時と似ている。
Sphereを使うとStreamTracerでSeedにPoint Cloudを指定したときと似たような感じなる。
他のSourceも流体空間内の流線の起点指定に使用できる。
まとめ
流線について、入門関係の記事ではStreamTracerを使った紹介が多く、より細かい描画の仕方については、まだ記事数が十分ではない気がするので、今回整理した。
ニッチな内容の可能性はあるが、PointSourceからの流線の描画などは、ケースによっては必要になるので、覚えておいて損はないと感じた。