paraview 后处理 sum(alpha*U)/sum(alpha)

你好,
请问如何通过paraview后处理计算结果呢
比如我读取了alpha 和 u
我想计算
image
i是网格单元 从第一个到最后一个求和

  1. 首先要计算 alpha * U: Filter -> Calculator,Attribute Mode 选 Cell Data,在 Result Array Name 设定计算结果的名称,假设为 au,在其下面的输入框中输入 alpha1*U_X (以 Ux 为例)。

  2. 求和 au:Filter -> Python Calculator,在 Expression 输入框中输入 sum(AU),Array Association 选 Cell Data,在 Array Name 中设定为 sumAU (求和后的变量)。

  3. 求和 alpha: 按第 2 步方法,在 Expression 输入框中输入 sum(alpha1),在 Array Name 中设定为 sumA (求和后的变量)。

  4. 相除: Filter -> Calculator,Attribute Mode 选 Cell Data,在 Result Array Name 设定计算结果的名称,假设为 Result,在表达式输入框中输入 sumAU/sumA。

  5. 结果查询: 在显示图像的窗口上方,点 “+”,选 “SpreadSheet View”,在其 Attribute 选 Cell Data,就能看到 Result 的数值了。

3q,非常感谢您的耐心回复!解决了很大问题!

很抱歉还想顺便问一个问题,如果把速度u换成网格单元中心x的位置矢量,在选择cell data后paraview能自动得到单元中心x的位置,还是需要根据网格节点位置,做插值运算呢?

要获得 cell 单元坐标,需要:

  1. Filters -> Cell Centers, 勾选 Vertex Cells, Apply.
  2. Filters -> Calculator, Attribute Mode 选 Point Data, 在下面的计算器里面,占开 Scalars 就能看到 coordsX, 这就是 Cell 的中心位置的 x 坐标。如果需要坐标向量的话,是 Vectors 里面 coords。

感谢大佬的翻牌与耐心回复
很有用!

大神你好,前面的问题已经得到完美解决。。。
然后随之而来了一个新的问题

计算出的结果只是当前时间步的
如何将所有时间步的计算结果输出成一个文件呢?
(目前我都是一边手动选时间步,一边敲数字记录 心塞:sob: