pyvista.DataSetFilters.streamlines_evenly_spaced_2D#
- DataSetFilters.streamlines_evenly_spaced_2D(vectors=None, start_position=None, integrator_type=2, step_length=0.5, step_unit='cl', max_steps=2000, terminal_speed=1e-12, interpolator_type='point', separating_distance=10, separating_distance_ratio=0.5, closed_loop_maximum_distance=0.5, loop_angle=20, minimum_number_of_loop_points=4, compute_vorticity=True, progress_bar=False)[ソース]#
2Dデータに等間隔の流線を生成します.
このフィルタは xy 平面上にあるデータセット,つまり
z=0
にのみ対応しています.メモリの使用量が多くならないように, separating_distance の選択には特に注意が必要です. デフォルトの単位はセルの長さです.- パラメータ:
- vectors
str
,optional
積分するアクティブベクトルフィールドの文字列名.
- start_positionsequence[
float
],optional
等間隔のストリームラインを生成するためのシードポイントです.指定されていない場合は,データセット内のランダムな位置が選ばれます.
- integrator_type{2, 4}, default: 2
流線生成に使用する積分器のタイプです.デフォルトはRunge-Kutta2です.認識されるソルバーは: RUNGE_KUTTA2 (
2
) と RUNGE_KUTTA4 (4
) です.- step_length
float
, default: 0.5 長さ単位またはセル長単位で表されます(
step_unit
パラメータを参照).- step_unit{'cl', 'l'}, default: "cl"
均一積分ステップ単位.有効な単位は LENGTH_UNIT (
'l'
) と CELL_LENGTH_UNIT ('cl'
) だけに制限されます.デフォルトは CELL_LENGTH_UNIT です.- max_steps
int
, default: 2000 流線を積分するための最大ステップ数.
- terminal_speed
float
, default: 1e-12 積分を終了する端子速度の値です.
- interpolator_type
str
,optional
ポイントまたはセルによる流線積分中にセルの位置を特定するために,速度フィールド補間のタイプを設定します.セルロケータはポイントロケータよりも堅牢です.オプションは
'point'
または'cell'
('p'
および'c'
の省略形もサポートされています.)です.- separating_distance
float
, default: 10 流線間の距離を
step_unit
で表したものです.- separating_distance_ratio
float
, default: 0.5 流線が他のストリームラインと
SeparatingDistance*SeparatingDistanceRatio
よりも近い場合,流線の積分は停止します.- closed_loop_maximum_distance
float
, default: 0.5 閉ループを決定する流線上のポイント間の距離.
- loop_angle
float
, default: 20 閉ループを決定するポイント間の最大角度.単位は度.
- minimum_number_of_loop_points
int
, default: 4 閉ループが決定されるまでの最小ポイント数です.
- compute_vorticitybool, default:
True
流線点での渦度計算 .
vtkRibbonFilter
を使用して適切な流線リボンを生成するために必要.- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- vectors
- 戻り値:
pyvista.PolyData
これにより,各セル(つまり,ポリライン)が流線を表すポリラインが出力として生成されます.各流線に関連付けられた属性値はセルデータに格納され,流線ポイントに関連付けられた属性値はポイントデータに格納されます.
例
クロスフロー中のシリンダーの流線を等間隔でプロットします.このデータセットはマルチブロックのデータセットであり,流体の速度は最初のブロックにあります.
>>> import pyvista as pv >>> from pyvista import examples >>> mesh = examples.download_cylinder_crossflow() >>> streams = mesh[0].streamlines_evenly_spaced_2D( ... start_position=(4, 0.1, 0.0), ... separating_distance=3, ... separating_distance_ratio=0.2, ... ) >>> plotter = pv.Plotter() >>> _ = plotter.add_mesh( ... streams.tube(radius=0.02), scalars="vorticity_mag" ... ) >>> plotter.view_xy() >>> plotter.show()
このフィルターを使用したその他の例については, 2D流線 を参照してください.