网资酷

用户名  找回密码
 立即注册
帖子
热搜: 活动 交友 discuz
查看: 87|回复: 0

ParaView-平面流线图绘制方法(GUI&Python)-surface vectors ...

[复制链接]

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-12-13 07:28:26 | 显示全部楼层 |阅读模式
步骤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()
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-3-15 15:48 , Processed in 0.110658 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表