Paraview: Calculate Derivatives of 3-D Unstructured Dataset

简介: 关注九天学者微信公众号(扫码关注)第一时间获取技术贴更新!Paraview 是一款基于VTK的、开源的、跨平台的科学数据可视化软件,其三维显示和后处理功能非常强大。

关注九天学者微信公众号(扫码关注)第一时间获取技术贴更新!


Paraview 是一款基于VTK的、开源的、跨平台的科学数据可视化软件,其三维显示和后处理功能非常强大。可以在Paraview官方网站下载安装。相信接触过CFD或者其它的动力学模拟的科研工作者都知道此神器!虽然之前吐槽过其图像导出功能,但是三维数据实时演示和一些后处理绝对是很棒的!

非结构化三维数据可视化

以局部地幔对流和地壳温度结构模拟结果为例

img_10b0af971fc4a848b6d4a76384dd03a1.png
3D Unstructured Dataset: Temperature

一阶导数\nabla T

\nabla T=\frac{\partial T}{\partial x}\vec{i} + \frac{\partial T}{\partial y}\vec{j} +\frac{\partial T}{\partial z}\vec{k}

img_9b46a15c0cb89d7ca73f434ed5d51f44.png
T的方向导数的模

  1. 对目标数据应用GradientOfUnstructuredDataSet Filter
  2. 选择计算方向导数的数据:这里选择的是T,如图中红框所示
  3. 勾选Compute Gradient 计算梯度(\nabla T):如图中的蓝框所示。当然了还可以计算散度(Divergence: \nabla \cdot \vec{v})和旋度(Vorticity: \nabla \times \vec{v}),(前提是选择的数据是矢量)
  4. 设置计算结果名称:这里设置的名称为Gradients1,如图中的蓝框所示
  5. 可视化:在顶部可视化数据下拉菜单中选择刚才计算生成的Gradients1,在其右边的下拉菜单中会有四个变量:Magnitude, X, Y, Z分别表示梯度模和x, y, z三个方向上的导数

paraview 对一个标量应用GradientOfUnstructuredDataSet得到的是三个导数分量和一个模

二阶导数 \nabla^2 T

\nabla^2 T = \frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} +\frac{\partial^2 T}{\partial z^2}这是数学形式,但是paraview求解二阶导数有两种方式。

应用两次 GradientOfUnstructuredDataSet

对第一步求得的Gradients1再应用一次GradientOfUnstructuredDataSet,并设置结果名称为Gradients2。因为Gradients1中有三个分量,而Paraview并没有给出选项具体选择哪个分量计算第二次导数,而是对三个分量都计算。因此得到的Gradients2结果中包含九个分量,编号从0到8. 其对应的分量为:T_{xx}, T_{xy}, T_{xz}; T_{yx}, T_{yy}, T_{yz}; T_{zx}, T_{zy}, T_{zz}

img_4cd95db3c240a637decccaea66ca07a3.png
对T求两次Gradient

Compute Derivatives

对某标量(比如T)应用一次Compute Derivatives Filter

img_8eb1afb218e4e16961eb1e650e79cf6c.png
对T应用Compute Derivatives Filter
  1. 选择目标数据:这里选择的是T, 如图中红框所示
  2. 选择输出类型:此Filter对于标量求了一个一阶导数和一个二阶导数,输出类型分别为三个分量的Scalar Gradient(与应用一次GradientOfUnstructuredDataSet的结果相同)和九个分量的张量类型Vector Gradient(与应用两次GradientOfUnstructuredDataSet的结果相同)。对于矢量输入数据(比如是\vec{v}而不是T),两个输出类型分别为VorticityStrain
  3. 可视化:在上方的可视化数据选项下拉菜单中多出了两个cell data数据体,分别为Scalar GradientVector Gradient如图中绿色框所示。前者有三个分量和一个模,后者有九个分量和一个模。

GradientOfUnstructuredDataSetCompute Derivatives的区别,前者是计算结果输出的是Point Data类型,后者输出的是Cell Data类型。计算结果类似,由于一个是point的一个是cell的,所以显示的结果略微有差别。可参见Paraview Mail list对此问题的讨论

对数据体进行算术运算

img_e99638bfa8dcefe296c97bc0b6527929.png
对数据进行算术运算

关注九天学者微信公众号(扫码关注)第一时间获取技术贴更新!


相关文章
|
2月前
Adjustable Precision Shunt Regulator
一、产品描述 The TL431 is a three-terminal adjustable regulator series with a guaranteed thermal stability over applicable temperature ranges. The output voltage may be set to any value between Vref and 36 volts with two external resistors. These device have a typical dynamic output impedance of 0.27Ω,
13 0
|
11月前
|
Linux 定位技术 数据安全/隐私保护
【Calculate】Calculate Linux安装操作记录
【Calculate】Calculate Linux安装操作记录
103 0
|
12月前
A. Calculating Function
A. Calculating Function
35 0
|
JSON 数据格式
ValueError: With n_samples=0, test_size=0.15 and train_size=None, the resulting train set will be em
ValueError: With n_samples=0, test_size=0.15 and train_size=None, the resulting train set will be em
420 0
ValueError: With n_samples=0, test_size=0.15 and train_size=None, the resulting train set will be em
Calculating Function
Calculating Function
59 0
Calculating Function
|
测试技术
std::accumulate的具体用法
std::accumulate的具体用法
319 0
std::accumulate的具体用法
HDU-1012,u Calculate e
HDU-1012,u Calculate e
|
Go
HDOJ 1012 u Calculate e
HDOJ 1012 u Calculate e
90 0
HDOJ 1012 u Calculate e
UI5 table display visible row count logic calculation calculate
UI5 table display visible row count logic calculation calculate
129 0
UI5 table display visible row count logic calculation calculate