本帖最后由 CAE大拿 于 2016-12-6 11:03 编辑
一、简述
在特定的行业中,通常会需要对大规模的有限元模型进行分析计算,例如汽车的整车模型,船舶的整船模型等等,可能会涉及到10万量级的单元规模使得整体的计算自由度规模达到几十万甚至上百万,尤其是涉及到时域或者频域的动力学分析时,其所输出的计算结果以及计算过程中所需的临时数据库文件的容量都需要比较大的数据存储容量,否则会导致数据溢出,计算非正常终止。
二、问题描述以及解决方法
1) BUFFSIZE
当MSC Nastran输出的二进制计算结果文件为xdb格式时,通常需要设定BUFFSIZE的大小,BUFFSIZE是磁盘在存储数据时每一个缓冲区使用的字节的数量,其默认的大小为8192,在进行大规模数据输出时,其设置规模不够,不能将结果完全输出,其f06文件中相关错误提示内容为:
解决方法(一)
在输入文件(BDF文件)的FMS中添加:
Nastran Buffsize = 32769
用以增大XDB文件的容量
解决方法(二)
在输入文件(BDF文件)的FMS中添加:
ASSIGN DBC='XXX.xdb',RECL=32769
用以增大XDB文件的容量
2) Scratch DBset 容量不够用,数据溢出
通常对大规模模型进行分析计算时会遇到如下的错误提示:
该错误是由于计算时的临时数据库文件SCRATCH DBset容量不能满足计算要求,导致数据溢出,需要扩展该数据库规模满足计算的需求。
解决方法:
在输入文件(BDF文件)的文件管理段(file management section,FMS)中添加 INIT SCRATCH LOGICAL=(SCRATCH(100GB))
可以根据实际情况调整scratch数据文件容量的大小,这里假设使用100GB重新设置SCRATCH DBset容量的大小。
3) f06文件过大,不方便进行查看
f06结果文件过大,几百MB或者1GB以上,使用记事本等文档工具很难对其进行相关操作,此时可以考虑取消相应的结果输出,只将计算结果保存到用于后处理的二进制结果文件中,f06文件中不输出,或者可以考虑只在f06文件中输出一些关键位置的结果信息。
i. f06文件中不输出计算结果,使用plot将结果取消输出打印
未取消打印之前:DISPLACEMENT(SORT1,REAL)=ALL
取消打印之后:DISPLACEMENT(PLOT,SORT1,REAL)=ALL
ii. 输出一些关键位置的结果信息
使用Set进行设定,输出具体的模型节点或者单元的结果信息
Set 1=1,2,3,4
Set 2=1,2,3,4
Displacement(SORT1,REAL)=1
Stress(SORT1,REAL)=2
此处表示,set 1中为相关节点的编号信息,set 2中为相关单元的编号信息,最终结果输出为节点1,2,3,4的位移量以及单元1,2,3,4的单元应力结果。
4) MEMORY
MSC Nastran进行计算时,不同版本的软件在计算时内存的默认使用情况不相同,早期版本调用内存使用memory(或mem)=estimate,新版本软件使用 mem=max,我们也可以根据计算机硬件资源自己定义相关参数,例如:mem=12GB,但是我们定义的参数,调用物理内存参与计算时,其大小不能超过物理内存总和的80%。
三、大规模计算参数设置总结
综上所述内容,可以参照以下的设置:
根据上述内容设置完成后提交MSC Nastran进行计算,同时设置计算所用的内存大小,点击RUN执行计算。
|