Memo - 流線 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
== 積分に関して
* 2次精度で十分。
* メッシュ内の内挿方法に依るが、最も単純な1次補間で行う場合、1セル内に関しては2次精度より高次の積分法は意味がない。
* ただし、2次で反復させると精度が劇的に向上(1セル内の移動に関して言えば、3回反復で倍精度の範囲内でほぼ厳密解)。
* 高次精度の積分法でも良いが、結局格子サイズ以上に歩幅を伸ばすことができないため、高次であることのご利益があまりない。
* 歩幅
* 格子サイズで規格化した歩幅に制限をつけるべし。
* 格子サイズより大きくとるべきではない。
* 格子間隔に座標によって異なる場合、実次元の長さで歩幅を決めると、速度ベクトルの向きに依って精度が変わり、精度を保証しづらい。
* 曲線座標系にも精度保証が容易。
== to do
* forward と backward を選べるように。
* 極力汎用的に利用可能な部分のみ抽出・ライブラリ化して手軽に使えるようにしたい。
* 一つの解
* 格子座標・速度場データ全部と始点座標を与え、一本の流線が得る
* これすらもオブジェクト化してしまうことで用途によっては効率を下げうる。
* 例:流線に沿った速度の情報を得たい場合。一度流線を取得した後に、改めてその線上の各点に対してまた速度情報を取得しなおす必要がある。一点の速度を取得するのに、まずその点がどのセルに含まれているかを検出し、速度を内挿する必要がある。
* c で wrap し、それを swig で ruby 化。
* module を含む場合どうやるか、要チェック。
* 2次精度で十分。
* メッシュ内の内挿方法に依るが、最も単純な1次補間で行う場合、1セル内に関しては2次精度より高次の積分法は意味がない。
* ただし、2次で反復させると精度が劇的に向上(1セル内の移動に関して言えば、3回反復で倍精度の範囲内でほぼ厳密解)。
* 高次精度の積分法でも良いが、結局格子サイズ以上に歩幅を伸ばすことができないため、高次であることのご利益があまりない。
* 歩幅
* 格子サイズで規格化した歩幅に制限をつけるべし。
* 格子サイズより大きくとるべきではない。
* 格子間隔に座標によって異なる場合、実次元の長さで歩幅を決めると、速度ベクトルの向きに依って精度が変わり、精度を保証しづらい。
* 曲線座標系にも精度保証が容易。
== to do
* forward と backward を選べるように。
* 極力汎用的に利用可能な部分のみ抽出・ライブラリ化して手軽に使えるようにしたい。
* 一つの解
* 格子座標・速度場データ全部と始点座標を与え、一本の流線が得る
* これすらもオブジェクト化してしまうことで用途によっては効率を下げうる。
* 例:流線に沿った速度の情報を得たい場合。一度流線を取得した後に、改めてその線上の各点に対してまた速度情報を取得しなおす必要がある。一点の速度を取得するのに、まずその点がどのセルに含まれているかを検出し、速度を内挿する必要がある。
* c で wrap し、それを swig で ruby 化。
* module を含む場合どうやるか、要チェック。