Skip to main content

5. 后处理流程

本节以示例的形式说明如何针对已计算完的结果开展可视化和分析工作,并解释OceanKit的使用逻辑。

5.1 结果的导入

假如已经开展了VFOSP的动力学计算,结果文件存放于org目录下,可以看到有以00001-xx,00002-xx开头的结果文件,为了将结果文件导入,可以有两种方式:

方式一:通过工作区和工具栏操作,如下图所示

打开结果文件

步骤如下:

  1. 在工作区选中结果结点
  2. 点击菜单或工具栏的添加子项(或者双击结果树结点)
  3. 在弹出的“加载结果数据”对话框中,点击Browser浏览文件
  4. 选择要打开的结果目录中任意以0000x-xx开头的txt文件
  5. 打开后“加载结果数据”对话框会进入数据选择状态

方式二:通过鼠标拖入

步骤如下:

  1. 直接将org目录下的任意TXT文件用鼠标拖入到显示区中
  2. 拖入后,OceanKit会弹出“加载结果数据”对话框,用于数据选择

通过以上两种方式打开文件后,加载结果数据对话框如下图所示:

加载结果数据选择

该对话框的选项说明如下:

文件

  • 文件路径:显示当前结果文件的路径,OceanKit会自动扫描当前文件夹下的所有结果文件
  • 文件格式:选择用何种格式打开

模型

  • 名称:导入后,模型显示的名称,默认为结果文件夹名称,因为OceanKit可以同时导入多个模型,需要采用不同的名称
  • 范围:导入结果文件的时间步范围,分别为起始时间步,时间步间隔,终止时间步(-1表示最后一个时间步)

结点数据选择

表示选择导入哪些结点向量,注意,这里列出的都是结点属性,而非单元属性。这些向量属性在在计算中输出的文件数据,不需要OceanKit进行计算。

结点数据计算

表示基于前面的结点数据,让OceanKit进行二次计算得到的向量属性,目前支持Mises应力(SMises)和总位移(dS)

模型镜像

  • 用于1/2、1/4、1/8模型的导入
  • 选择x面表示表示模型将会沿x面产生模型的镜像数据
  • 对于1/2模型,只需要选择x面镜像,即可得到全模型
  • 对于1/4模型,则需要同时选择x面和y面
  • 对于1/8模型,则需要同时选择x面、y面和z面

显示选项

  • 创建光照数据(占用更多内存),选择之后,可以对模型显示带有光照的效果,但会消耗更多的内存。

5.2 结果数据组成

下图表示导入结果数据后,会工作区结果项下产生名称为org的子项(称为结果模型,它包括模型数据模型展示数据修改数据绘图4个子项。这4个子项分别以不同形式表达结果文件。

模型数据组成

5.2.1 模型数据

模型数据子项下会示当前导入的结果文件的每一个时间步的数据(称为一帧),当点击“time 0”子项树结点时,在属性区会显示这一帧的基本信息。如下图所示:

帧数据信息

可以看出,每一帧包含三种数据:

  • 点数据:它代表的是模型中的结点数据
  • 边数据:它代表的是模型中单元的所有边数据
  • 面数据:它代表的是模型中单元的所有面数据(一般为三角形)

值得说明的是:

  • OceanKit导入了所有的结点数据,但单元数据被拆分成了“边数据”和“面数据”,这是为了后期对单元显示进行灵活的控制
  • 单元数据只包含拓扑信息,并不包含单元应力、单元应变等数据
  • 所有的云图显示都是针对结点数据进行设置的

上图属性区中,可以看到点数据有两项,一个叫“point”,这是实际的结点数据集名称,在后面的显示设置中可以用到,而24121表示结点的数量。另一个叫"vfosp-tri-norm"的,是OceanKit生成的用于光照显示的点数据,一般情况下可以忽略它。

上图属性区中,边数据表示单元边的数据集名称和数量,而面数据则表示单元面的数据集名称和数量,同时也给出了所有数据的尺寸范围。

因为每一帧模型的状态是不一样的(比如云图),当点击每一帧子项时,模型显示区会展示所选帧的模型状态。

5.2.23 数据三维显示

结果模型子项中的第二个文件夹叫模型展示,主要用于控制对模型结果进行三维显示,比如应力云图,变形等。可以在模型展示项通过双击树结点或者工具栏的新增子项,来添加不同的展示效果。

在OceanKit中,一个模型的一种显示形式称为展示,一个模型可以有多个展示展示可以针对不同的基本数据采用不同的形式进行显示。展示是三维模型的基本显示单元,每一个展示隶属于一个结果模型。每个展示提供丰富的设置和选项,可以分别设置展示中点、边和三角形的显示形式,颜色,筛选等。基于展示,一个模型可以显示出十分复杂的三维图像。

例如,下图分别采用了两个不同展示,来表现同一个模型的不同部分:

不同展示组合

4.2 结果显示

4.2.1 数据的构成

在计算分析中,实际的数据包含模型结点、单元数据,每个结点的应力、应变等。但当计算结果文件导入到OceanKit中时,每一个计算时间步的数据被称为一个时间步帧,多个时间步帧数据可用于不同时间的动画显示,每个时间步帧又包含以下数据:

  • 结点数据:包括结点ID、坐标、位移、应变、应力等,具体数据取决于导入时的选择
  • 边数据:它表示所有单元的边
  • 面数据:它表示单元的面

值得说明的是:

  • OceanKit导入了所有的结点数据,但单元数据被拆分成了“边数据”和“面数据”,这是为了后期对单元显示进行灵活的控制
  • 单元数据只包含TOPO信息,并不包含单元应力、单元应变等数据
  • 所有的云图显示都是针对结点数据进行设置的

4.2.2 数据的展示

计算结果的数据可以有不同的表现形式,例如,一个有限元模型(这里称为Model)包含有多个结点集合(Nodes),例如包含NodeSet1,NodeSet2。在显示这个模型数据时,可以对NodeSet1的结点采用点的形式进行显示,可以对NodeSet2的结点采用3D球形来显示。或者,可以对NodeSet1中的一部分结点用红色表示,而某一些结点用绿色来表示,等等。同样,对于边数据和面数据也可以作类似的分类和显示。

在OceanKit中,一个模型的一种显示形式称为展示,一个模型可以有多个展示展示可以针对不同的基本数据采用不同的形式进行显示。展示是三维模型的基本显示单元,每一个展示隶属于一个结果模型。每个展示提供丰富的设置和选项,可以分别设置展示中点、边和三角形的显示形式,颜色,筛选等。基于展示,一个模型可以显示出十分复杂的三维图像。

例如,下图分别采用了两个不同展示,来表现同一个模型的不同部分:

不同展示组合

4.2.2 数据的绘图

OceanKit支持对模型中某一结点属性随时间步的变化进行曲线绘图,如下图所示,表示结点1、45、678的Mises应力随时间步的变化。OceanKit支持针对同一结果绘制多个曲线图以进行比较。

曲线绘图