近日有不少同学咨询WB中插入APDL命令流后不能运行或者运行出错如何排查的问题,水哥借此也在微信搜一搜里面搜索了WB中插入APDL、WB和APDL联合仿真的相关文章,然而大多数文章都只是点到为止,只说明了WB中如何插入APDL以及如何使用APDL和WB互导模型的基本方法。
根据水哥联合使用WB和APDL的经验,总结了联合仿真如下20点注意事项,供大家参考,当然,个人经验有限,欢迎各位评论区补充注意事项。
1、WB与APDL的关系到底如何?
很多学员其实一直在纠结到底是用WB还是APDL,感兴趣的同学可去百度下这个问题,出来的结果大部分是强推WB,抨击APDL。然而事实上,WB也不是万能的,WB看似啥都能做,其实遇到复杂问题,啥也不能。故而需理性看待界面选择问题,当然水哥这里的答案是主推WB,辅以APDL,因为WB和APDL其实都是同一个求解器,底层逻辑都一样,也即“一套班子,两个牌面”。
2、WB的文件组成如何?
如果需要插入APDL解决问题,那么WB的文件组成学员必须要了解,其中最主要的就是要了解经典求解器所产生的求解文件位于哪个文件夹。这里面MESH 文件夹非常重要,常规文件路径如下所示:
3、如何查看WB的计算错误文件并根据错误文件进行修改?
联合仿真时,插入的APDL命令流不能及时响应,也即不像经典那般,把命令流复制输入后就能看到相应结果,WB是提交求解器后才能运行APDL命令,所以有的时候模型或者计算错误不会及时的弹窗,或者说错误的内容也不会通过弹窗出现,这时候需要学员自行查看WB的错误文件,并根据错误文件内容修改模型。
WB的计算错误文件位于上述第二步说的MESH 文件下,名称为file.err,打开即可看到对应的内容。
当然,也可通过WB主界面的文件系统管理界面打开错误文件,如下所示:
4、WB工作目录是否可以为中文路径?
WB的工作文件夹是支持中文路径的,然而APDL是不支持的,在联合仿真时,建议大家设置英文路径,因为如果需要实时打开APDL查看命令流运行效果,必须为英文路径,否则会发生无法识别的错误。
5、APDL和WB整体模型的互导方法
关于这一块,很多文章都写了方法,本公众号也不例外,详情请看下面这篇早期推文。
6、APDL模型导入WB中,出现如下错误咋办?
上述错误的原因在于WB在读取模型之前,首先会检查模型文件的格式,如果输入的文件格式有问题,则会出现上面的错误。不管是用HM还是经典生成的CDB文件,如果出现了上述错误,可先设置忽略文件格式问题,继续读入,然后在去WB检查模型参数等,看是否缺斤少两。设置如下,将Check Valid Blocked CDB File复选框去掉即可。
7、APDL模型导入WB中为何有的单元没有了?
WB目前只支持新单元的导入,部分老旧单元不予支持,同时也不支持部分单元实常数的导入,例如Link10,很多时候我们用于单向受拉的模拟,然而WB不支持Link10的导入,也即导入后一片空白,出现单元消失的情况。
解决方法:将旧单元换为新单元导入,例如Link10可换为Link180或者Cable280, Beam4可换为Beam188,Solid45可换为Solid185等。
8、WB可插入APDL的位置有哪些?
WB的结构树可分为前处理,求解设置与后处理,一般来讲,三个部位均可插入命令流,前处理只可在单元属性下面插入命令流,如下截图所示,不可在非属性定义部位插入,例如这里的Materials\Cross Sections等模块不可插入。
9、WB插入的命令流运行顺序是咋样的?
前处理是在定义单元后马上执行,求解模块是在最后的Solve命令之前执行,后处理模块则是进入后处理马上执行。
以上的运行顺序决定了如下注意事项:
1)前处理插入的命令流只能用于定义材料、建立新单元等操作,不可用于与WB界面的互动操作,例如选择NS组进行加载,因为NS的定义是在前处理插入命令流运行后才进行,如果在前处理通过cmsel选择NS组,会出现无法识别的问题。
2)求解阶段插入的命令流应该是整个模型APDL的核心部位,注意到这是求解阶段的命令流,有的命令只适用于前处理,例如Nrotat,E,N等,这个时候务必要加上/prep7重新进入前处理。最后一行通常要加上allsel,all选择全部,且要用/solu重新进入求解模块。
3)WB在求解阶段插入命令流中的求解设置会覆盖掉WB-GUI操作中相同项目的设置,且WB自带一个Solve命令,插入的命令流慎用Solve命令,不然求解器会额外求解一次!
4) 各个插入的命令流运行顺序为从上到下依次运行。
求解阶段的命令流运行如下所示:
/solu
WB求解设置
!!!!!!!!!!
!插入命令流开始
/prep7
插入的前处理APDL
/solu
插入的求解设置APDL
Allsel,all
!!!!!!!!!!
!插入命令流结束
! solve(WB自带求解solve)
10、插入的APDL命令流如何和WB界面操作联动?
插入命令实际上是将命令流写入底层运行文件,针对的是有限元模型的操作,部分对几何模型的操作不可实现,例如SFA、DK、SFL、DA命令,相应的,只能采用针对有限元模型的命令流,例如SF、F、D等。
插入的APDL与WB界面互动只能通过NS的方式,也即命名选择集,通过cmsel来选择使用,WB命名选择集注意事项如下:
1)、如果要在APDL中使用WB创建的NS,在WB中命名NS的时候需要注意:
a. NS名字不能中文
b. NS名字不能以数字开头
c. NS名字中不能有空格,可以 以下划线来区分
2)、关于NS组的转化
WB中的NS组有两种类型,一种是基于几何体的NS组,例如面、线、体,一种是基于有限元模型的,例如节点、单元(注意如果用户创建了有限元单元面的集,会转为节点集)。用户在创建NS组,如果是直接创建的有限元NS,则在命令流中可直接调用。
用户如果是创建的几何NS,则WB会按如下原则进行转换:
a. 点、线、面转为节点集
b. 体转为单元集
插入命令流中用户可结合使用Cmsel, Nsle, Esln命令灵活选择自己所需要的对象。
3)关于NS组的创建
考虑到后续模型可能变化,建议大家使用WorkSheet来定义NS组,不要使用几何选择的方式来定义,Worksheet可通过一系列的准则来创建NS,包括材料属性、坐标等,这样可避免模型更改时,需要不断手动去调整NS的范围。
启用Worksheet的方法如下:
11、APDL输出命令在进入后处理模块后马上执行,默认/post1,注意在WB后处理界面的set代表的是荷载子步,而不是荷载步,这一点大家尤其要注意。如果要进行时间历程后处理,需采用/post26声明,同时输出完毕后,用/post1回到通用后处理。
更多资源文章,请前往本公众号官网:FSCAE.COM
12、后处理插入的命令流通过设置Output Search Prefix可实时查看参数获取情况,注意使用前处理的参数时需要联合使用Parsav、Parres,注意两者的使用用法,参数查看只针对数值变量,数组不可实时查看
13、后处理中输出图片要使用/show,png命令,但需要自己调整视角,所以apdl输出图片只是为了观测大致的形状,比较严格的输出需求需要到经典中输出,输出的图片位于APDL计算工作目录下,也即WB中的MESH 文件夹下。
14、后处理在WB中写出数据要指定具体的文件路径,默认路径为MESH 文件夹,该文件夹一旦点击重新计算 所有文件会被删除。
15、关于WB中宏文件的调用,学员要清楚宏文件使用的模块,比如是前处理还是后处理,在使用宏文件之前要用相关关键词进入相应地模块。宏文件可直接用宏文件名称使用,这时候宏文件的使用路径为DP0下面的Mesh文件夹,但该文件夹在每次计算的时候会被清空,所以一般结合*Create\*End命令使用。
16、如果宏文件比较复杂,每次采用*Create\*End均会占用一定的时间,这时可通过/Input、*USE及*ULIB命令指定宏文件的使用路径,/Input暂无参数带入,*USE配合*ULIB命令可使用参数带入。
17、在使用宏文件过程中,建议提前在APDL中运行宏文件,确保能正确读入后在调用宏文件。
18、为了实时观测插入APDL命令运行的效果,学员可通过拖入一个APDL模块来进行查看,注意拖入的APDL模块,一定要讲过setup,这样插入的命令流才会有效果。
19、一般插入的命令流用于对原模型的求解、加载、约束的局部修改,不可用于大批量模型的新建,如果要新建单元或者节点,也应该用参数化的方式来定义编号,而不是手动去指定编号,因为WB本身的模型也有节点编号,如果手动指定的编号与模型已有的节点编号有冲突,会发生不可预知的错误。常规新建节点步骤如下:
/prep7
allsel,all
*get,nodemax,node,0,num,maxd
N,nodemax+1,nx,ny,nz
20、最后一点,大家需要注意插入命令流的单位与WB的求解单位一致,在插入命令流后,在插入框的顶部会有单位提示,如下所示:
后续插入的命令流均应该与提示的单位制保持一致!
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删