|
步骤1:利用clip和slice切分出采样平面,slice1 (举例,见图1);

图1 平面采样举例
# LOAD DATA
# reader = OpenDataFile("foam.foam")
reader = GetActiveSource()
# Show(reader)
# Render()
# TIME SETTING
view = GetActiveView()
times = reader.TimestepValues
view.ViewTime = times[31]
Render()
# CLIP
clipFilter1 = Clip(reader)
# Hide(reader)
# Show(clipFilter1)
# Render()
clipFilter1.ClipType.Normal = [-1,0,0]
clipFilter1.ClipType.Origin = [1.2,0,0]
# Render()
clipFilter2 = Clip(clipFilter1)
clipFilter2.ClipType.Normal = [1,0,0]
clipFilter2.ClipType.Origin = [1.4,0,0]
clipFilter3 = Clip(clipFilter2)
clipFilter3.ClipType.Normal = [0,-1,0]
clipFilter3.ClipType.Origin = [0,1.15,0]
clipFilter4 = Clip(clipFilter3)
clipFilter4.ClipType.Normal = [0,1,0]
clipFilter4.ClipType.Origin = [0,1.35,0]
# SLICE
sliceFilter = Slice(clipFilter4)
sliceFilter.SliceType.Normal = [0,0,1]
sliceFilter.SliceType.Origin = [1.2,1.2,0.2]
Show(sliceFilter)
Render()步骤2:在pipeline browser中选中该平面slice1, 利用快捷键‘Control+空格’调取功能菜单(见图2),键入‘surface vectors’(见图3),搜索并选中对应功能(‘surface vectors’),'Enter';pipleline browser中会出现‘SurfaceVectors’视图,选中该视图,在属性列表中可设置绘制流线图的物理量,如瞬时流速场或平均流速场(见图4,本例中时程文件内仅含瞬时流速场信息,故选项栏为浅灰色,不可修改状态;若需要绘制平均流速场,可先行计算UMean,再于此处选择UMean作为‘input vectors’);

图2 功能菜单1

图3 功能菜单2:surface vectors

图4 surface vector设置
surfaceVector = SurfaceVectors(sliceFilter)
surfaceVector.SelectInputVectors = "U"步骤3:在pipeline browser中选中该平面slice1, 利用快捷键‘Control+空格’调取功能菜单(见图2),在搜索框中键入‘mask points’(见图5),搜索并选中对应功能(‘mask points’),'Enter';pipleline browser中会出现‘MaskPoints’视图,选中该视图,在属性列表中可设置采样点的数目和分布方式(见图6,在本图中,共选择700个随机分布的采样点);后续步骤将绘制通过这些采样点的流线;

图5 功能菜单3: mask points

图6 mask points设置
maskPoints = MaskPoints(sliceFilter)
maskPoints.MaximumNumberofPoints = 700
maskPoints.RandomSampling = 1步骤4:在pipeline browser中选中该平面slice1, 利用快捷键‘Control+空格’调取功能菜单(见图2),在搜索框中键入‘stream tracer with custom source’(见图7),搜索并选中对应功能 (‘stream tracer with custom source’),'Enter'; 在弹出的次级菜单中,input选择步骤2生成的‘surface vector’(见图8),seed source选择步骤3生成的'mask points',单击‘OK’;pipleline browser中会出现‘StreamTracerWithCustomSource’视图;

图7 功能菜单4: stream tracer with custom source

图8 stream tracer设置
streamTracerWithCustomSource = StreamTracerWithCustomSource(sliceFilter)
streamTracerWithCustomSource.Input = surfaceVector
streamTracerWithCustomSource.SeedSource = maskPoints步骤5:在pipleline中选择打开‘StreamTracerWithCustomSource’视图,即可得到流线图(图9)。

图9 流线图举例
Show(streamTracerWithCustomSource)
Render() |
|