美文网首页
Paraview: Calculate Derivatives

Paraview: Calculate Derivatives

作者: 九天学者 | 来源:发表于2018-10-14 14:19 被阅读133次

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


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

    非结构化三维数据可视化

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

    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}

    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}

    对T求两次Gradient

    Compute Derivatives

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

    对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对此问题的讨论

    对数据体进行算术运算

    对数据进行算术运算

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


    相关文章

      网友评论

          本文标题:Paraview: Calculate Derivatives

          本文链接:https://www.haomeiwen.com/subject/bqhiaftx.html