首页/文章/ 详情

用个小招数解决ANSYS运行内存不够的问题

1年前浏览1769

不知道诸位有没有遇到过类似的尴尬,一个规模不小的模型,开始运行计算后,苦苦等待,看着CPU长时间持续接近100%,感觉马上要出结果了吧,突然弹出一个对话框,告诉我们“内存不足”,然后呢,电脑卡死了。。。

每当此时,都有一种生无可恋的感觉。

那今天咱就来聊一聊内存设置的小技巧

话说,按照你的习惯,ANSYS命令流在开始阶段(从一开头到/prep7前处理之前)都是怎么写的呢?分享一下我的:

finish

/clear

/filname,MyModel

/config,fsplit,256  

/config,nbuf,9

前两行,一个finish,一个/clear是我的最爱,尤其是在命令流的Debug阶段,需要大量的调试,大量的全选命令流然后粘贴到ANSYS命令输入框然后按回车的时候,那酸爽可真是谁用谁知道。

文件名其实无所谓啦,重点是/config命令,我上面的设置,是限制ANSYS运行时产生的文件最大为1G,多了就自动分割,而且还减少硬盘读写速率。

/config,Lab,VALUE

Lab包括:

NORSTGM:值为0时在文件中写入模型几何数据,为1时则不写入;

NBUF:求解器中每个文件的缓存数量,数值可以是1~32的任意数,默认为4;

FSPLIT:默认文件分割尺寸,对应的数值,1个单位相当于1MB;

/config一共有18个Lab名称,可以当次运行的分析规模等进行细致的自定义设置,当有特殊需要的时候,我们可以用这个命令来控制存储文件里都会有什么,以及程序中最多有多少个节点、多少个单元等等。

除了命令之外,在ANSYS运行之前,可以在Launcher做点工作,一些可能会有用的经验包括:

1.尽量取消系统的虚拟内存设置,ANSYS有自己的虚拟内存系统。

2.勾选use custom memory settings之后,Database由于是用来存储实体模型、网格和结果文件的,可以理解在运行的时候把*.db文件“放在”内存里,用来加速运算。所以数据库的大小默认为1024MB,为Total Workspace的一半。如果该项目进行过计算,大概可以知道*.db文件的大小。如果没运行过可以通过Rfilsz命令来进行预估,可以设置比该文件稍大一点即可,让total workspace留有更多的内存空间用来给计算过程。

3.Total workspace的设置,在其他程序都不跑的前提下,尽量多给一些内存。一个方法是Ctrl+Alt+Del,调出任务管理器,把其他程序都关闭的情况下运行一小会,看看系统自己用了多少内存,然后用物理内存减掉系统用的内存(再留点富余的就行),剩下的尽量多给ANSYS设置上。也可用rwfrnt命令来预估求解内存大小,total workspace减去database后至少比预估的内存值大一点,目的是尽量利用内存,减少使用虚拟内存的page进行硬盘的读写。

4.CPU设置方面,选用CPU的数量为物理核心-1,为系统留一个核心,以免死机就行,原则上核心用的越多,就用越多的系统资源来计算,效果越好。至于设置的方法,存在两种模式:SMP和MPP.

SMPShared-Memory parallel 共享内存,适用于单机多核并行(针对于本机)

特点:

1) 超过2个处理器(核)后,每个处理器(核)都需要一个HPC licenses (High Performance computing),一个HPC licenses可以支持两个处理器(核),比如4个处理器或两个双核的处理器,需要2个HPC licenses

2) 物理内存连续,即所有即将使用的处理器共用一个物理内存, 比如dual或者quad  cores 的处理器

适用于:

1)大多数,并不是全部的/Solu过程可以并行

2)适用于/solu中的较多的求解器。 比如AMG

3)前后处理并行

MPPDistributed computing 分布式并行计算,单机多核或多机多核并行(本机或联机)

要求:

1)超过2个处理器后,每个处理器都需要一个HPC licenses (High Performance computing)

2)多机联机时需要MPI 软件 (message passing interface); 有host 处理器和slave处理器区别,需要自己设定

3) 如果本机分别有两个四核的处理器,只在本机使用MPP, 不联机,在没有使用MPI软件的情况下,运行MPP时可使用的最大处理器数目为4,而不是8,

适用于:

1)整个/Solu过程都可以并行,包括刚度矩阵迭代

2)适用与/Solu中的求解器少于SMP, 不适用于AMG

3)前后处理并行

在计算时间方面,MPP的计算时间更短,使用并行处理的话,有文档说需要在安装的时候装有MPI ,建议试试设置MPI方法下的6~7个CPU核心,要是没有报错的话应该就没大问题了。

还有就是求解器了,大规模计算建议采用PCG求解器,其中,PCG求解器还支持分布式计算(多核心)。

来源:十千牛
HPC控制ANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-02-25
最近编辑:1年前
长河
博士 | 黑龙江科技大... 签名征集中
获赞 6粉丝 12文章 194课程 0
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈