首页/文章/ 详情

命令流 | Workbench自动批量导出数据

11月前浏览1921

1 问题描述    

我们进行CAE仿真时,经常需要导出数据处理。对于单一工况的少量数据,我们可以通过手动操作导出数据。但是对于多工况、多载荷步的大量数据,采用手动操作的方式,显然是费时费力、很不现实的。

本文通过实例操作,演示Ansys Workbench自动批量导出结果数据方法,不仅可以自动批量的将分析结果导出,而且可以将每个工况、每个载荷步的分析数据分别保存在同一个文件中。

2 读取结果数据    

该方法基于Ansys强大的命令流,因此我们先将Workbench的分析结果导入到Ansys经典界面中。具体操作步骤如下:
Step 1在Mechanical界面下,前处理后、Solve求解前,单击Analysis Settings,在下方面板的Analysis Data Management中设置Save MAPDL_db为Yes,如下图所示。特别重要操作,否则ANSYS经典界面无法打开结果文件

Step 2点击Solve求解,关闭Mechanical界面,返回到Workbench主界面,右击项目流程图中的Solution,单击Transfer Data To New,选择Mechanical APDL,将Workbench的分析结果数据传递到Ansys经典界面中,如下图所示。

Step 3右击项目流程图中的Solution,选择Update,进行结果更新,如下图所示。
Step 4右击Mechanical APDL下的Analysis,选择Edit in Mechanical APDL,进入Ansys经典界面,如下图所示。

Step 5此时,Ansys经典界面一片漆黑,没有模型显示,说明模型还未成功导入,点击左上角RESUME_DB,如下图所示。

Step 6展开General Postproc,展开Read Results,双击Last Set,读取Workbench的分析结果,如下图所示。

3 批量导出数据    

通过上述操作后,我们已将Workbench的分析结果成功导入到Ansys经典界面中,接下来就可以通过命令流实现分析结果的批量导出。具体操作步骤如下:
Step 1将指定点、线、面等几何体的节点编号保存为文本文件(如nodenum.txt),然后将该文件保存在工作目录\files\dp0\APDL\ANSYS下。(重要操作,否则命令流无法读取节点编号) 
Step 2用记事本编写并保存如下代码:





/post1
m=“指定点、线、面的节点总数”
!定义一个数组用于存放数据*dim,nudenum_1, array, m, 1 !将保存的文本文件存放到数组   *vread,nodenum_1,nodenum,txt (f15.0)                                     !定义一个保存数据矩阵,shell,m行4列*dim,shell, array, m, 4 *do, i, 1, “工况总数”, 1 set, i *cfopen, surface_%i%, txt *do, j, 1, m, 1      ! 获取x坐标*get, shell (j,1), node, j, loc,x

! 获取y坐标*get, shell (j,2), node, j, loc,y

! 获取z坐标*get, shell (j,3), node, j, loc,z
! 获取欲导出数据*get, shell (j,4), node, j, temp
! 命名数据导出后的文件名称txt_1=shell (j,1) txt_2=shell (j,2) txt_3=shell (j,3) txt_4=shell (j,4) *vwrite, txt_1,txt_2, txt_3,txt_4(3e15.6, 3e15.6, 3e15.6, 3e15.6) *enddo *enddo *cfclos finish
Step 3将上述代码另存为.inp格式文件,并保存在工作目录\files\dp0\SYS\MECH下。 
Step 4进入Ansys经典界面,点击File——>Read Input from——>选择保存的.inp文件。
Step 5计算完成后,在工作目录\files\dp0\APDL\ANSYS下找到生成的数据文件surface_i.txt,此时分析结果数据已批量导出,而且每个工况数据单独保存在一个文件中。
最后,我们就可以利用MATLAB强大的数值计算功能对各工况数据进行分析处理了。

来源:纵横CAE
MechanicalMechanical APDLWorkbenchMATLABUM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-09-18
最近编辑:11月前
纵横CAE
硕士 签名征集中
获赞 57粉丝 208文章 222课程 0
点赞
收藏
作者推荐

有限元分析中网格划分前需要考虑些什么?

在有限元分析中,网格划分是直接影响计算精度和效率的核心环节。在之前有分享一篇《网格画得越细,有限元分析结果就越精确吗》,一般理论是这样,但是在实际的情况下,我们操作起来并非完全按照理论执行。一方面是网格画的越细,其消耗的时间会越多,另一方面是会消耗大量计算资源,还有就是计算精度达不到。况且并不是每一个几何模型进行网格划分都需要那样做,这时候就体现出了有经验的仿真工程师的能力了。 他们在做之前,都会考虑以下这些问题:1、这是在进行什么类型的分析?非线性分析对网格的要求通常比线性分析更严格。例如,在处理滑动接触问题时,需要更精细的网格来捕捉变化状态;对于具有塑性、超弹性等高级材料特性的分析,也需更精细的网格以捕捉大应变梯度;大变形分析同样要求更精细的网格以适应形状变化。2、关注的区域在哪里?如果事先知道关注区域在哪里,与其细化整体网格,不如将单元集中在关注的区域,粗网格通常足够用于力传递,可以用于不需要应力信息的区域。如果事先不知道要关注的区域,可先进行粗网格分析,再来确定后续分析中需要细化的区域。3、小特征将会如何影响结果?小孔、圆角、凸角、窄边等小特征会导致局部化精细网格自动生成,需评估这些特性是否处于关键区域、是否会影响加载路径,以便在求解精度和时间之间做出权衡。4、需要一个什么样的结果?对于线性分析,精确的位移结果不需要像应力结果那样精细的网格——如果分析是为了确保位移不会太大,那么可以使用较粗的网格,如果分析需要评估结构的应力,在关键的区域需要加密网格。5、在使用什么样的单元?有些单元在弯曲时容易变 “刚”,这时需在零件厚度上加密网格以捕捉弯曲行为,避免出现 “锁定” 问题 。一般来说,带中间节点的二次单元比线性单元更不容易被锁定。此外,不同单元形状对变形的敏感程度也不同,例如,拉长的六面体单元仍能提供良好结果,而四面体单元在某个方向伸长时产生小角度可能会导致结果精度下降。在网格生成之后,工程师们可以通过观察单元的质量来评估网格。单元的质量是非常主观的,一套网格在一组边界条件和载荷下给出好的结果,在另一组边界条件和载荷下可能给出糟糕的结果。 那么对于单元类型该如何进行网格配置?可以按照下面的表参考进行:单元类型网格要求适用场景线性单元需大量单元抵抗“锁定”(如弯曲问题厚度方向≥4层)简单接触、大变形二次单元抗锁定能力强,但大变形时厚度方向建议≥2层单元超弹性材料、复杂屈曲六面体单元可适度拉伸,长宽比≤10:1规则几何体四面体单元避免高长宽比(≤3:1),防止小角度导致精度损失复杂拓扑总体来说网格划分需在精度、效率、工程目标间做到动态平衡,其核心逻辑总结如下:明确目标:应力/位移/模态?关键区域在哪?按需加密:梯度、接触、小特征处重点细化。质量优先:控制长宽比、扭曲度,避免畸形单元。迭代验证:收敛性研究与误差分析必不可少。虽然CAE软件是一个非常强大的工具,它可以为设计提供详细的“计算模拟分析”,减少工程不确定性。但是,工具会受到输入的限制,如果输入不准确也就无从谈结果的准确性,其中网格是输入中的关键部分。划分网格之前,工程师们考虑自己分析的条件和关注的因素,有利于防止划分网格时眉毛胡子一把抓的现象,同时通过批判性地评估结果可以帮助我们更好地去提高结果的质量。注:本文部分素材/图片来源于网络,如有侵权请联系删除。来源:纵横CAE

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈