DAMASK 2.0.3 版本后处理中的批量可视化
问题描述
DAMASK 2.0.3版本中,场数据的可视化主要分为三步:
- 切分数据
- 生成可视化文件
- 写入数据
其中,1步骤是可以设置输出频率,批量输出txt文件的,但是2和3两个步骤官方都没给出批量处理的命令示例,因此想要对整个变形过程进行可视化就需要手动重复步骤2和3,把步骤1中输出的文件进行可视化。为了使这个工作较为便捷,尝试使用shell循环语句来进行批量处理。
代码及案例
- 切分数据
这一步计算完成之后,应该会生成一个postProc文件夹,并将切分好的数据以txt的格式生成相应的文件
// 使用 postResults 命令,从Ti_tensionX.spectralOut输出文件中提取<homogenization>中的变量damage,以及<crystallite>中的变量f,p,orientation,以及<constitutive>中的变量resistance_slip;
postResults Ti_tensionX.spectralOut --ho damage --cr f,p,orientation -- co resistance_slip --separation x,y,x --increments --range 1 8 1 --split
- 生成可视化文件
将上一步生成的txt文件对应生成vtr文件,注意此时生成的vtr文件还是空的,只有空间坐标
// 进入后处理文件夹
cd postProc
//使用vtk_rectilinearGrid命令,批量生成可视化文件
vtk_rectilinearGrid Ti_tensionX_inc{1..8}.txt
- 写入数据
将切分的数据写入vtr文件中
// shell循环,使用vtk_addRectilinearGridData命令,将f,p,orientation,damage,resistance_slip 数据从txt文件写入对应的vtr文件
for i in `seq 1 1 8'
>do
>vtk_addRectilinearGridData -- data f,p,orientation,damage,resistance_slip --vtk \Ti_tensionX_inc${i}_pos\(cell\).vtr Ti_tensionX_inc${i}.txt
>done
\\使用paraview可视化
paraview
简单尝试了一下,上述方法应该没啥问题,不过应该是比较笨的解决方案了,DAMASK 2.0.3的后处理还是有很多需要学习的内容