用個(gè)小招數(shù)解決ANSYS運(yùn)行內(nèi)存不夠的問(wèn)題
2017-03-01 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
不知道諸位有沒(méi)有遇到過(guò)類(lèi)似的尷尬,一個(gè)規(guī)模不小的模型,開(kāi)始運(yùn)行計(jì)算后,苦苦等待,看著CPU長(zhǎng)時(shí)間持續(xù)接近100%,感覺(jué)馬上要出結(jié)果了吧,突然彈出一個(gè)對(duì)話框,告訴我們“內(nèi)存不足”,然后呢,電腦卡死了。。。
每當(dāng)此時(shí),都有一種生無(wú)可戀的感覺(jué)。
那今天咱就來(lái)聊一聊內(nèi)存設(shè)置的小技巧
話說(shuō),按照你的習(xí)慣,ANSYS命令流在開(kāi)始階段(從一開(kāi)頭到/prep7前處理之前)都是怎么寫(xiě)的呢?分享一下我的:
finish
/clear
/filname,MyModel
/config,fsplit,256
/config,nbuf,9
前兩行,一個(gè)finish,一個(gè)/clear是我的最?lèi)?ài),尤其是在命令流的Debug階段,需要大量的調(diào)試,大量的全選命令流然后粘貼到ANSYS命令輸入框然后按回車(chē)的時(shí)候,那酸爽可真是誰(shuí)用誰(shuí)知道。
文件名其實(shí)無(wú)所謂啦,重點(diǎn)是/config命令,我上面的設(shè)置,是限制ANSYS運(yùn)行時(shí)產(chǎn)生的文件最大為1G,多了就自動(dòng)分割,而且還減少硬盤(pán)讀寫(xiě)速率。
/config,Lab,VALUE
Lab包括:
NORSTGM:值為0時(shí)在文件中寫(xiě)入模型幾何數(shù)據(jù),為1時(shí)則不寫(xiě)入;
NBUF:求解器中每個(gè)文件的緩存數(shù)量,數(shù)值可以是1~32的任意數(shù),默認(rèn)為4;
FSPLIT:默認(rèn)文件分割尺寸,對(duì)應(yīng)的數(shù)值,1個(gè)單位相當(dāng)于1MB;
/config一共有18個(gè)Lab名稱,可以當(dāng)次運(yùn)行的分析規(guī)模等進(jìn)行細(xì)致的自定義設(shè)置,當(dāng)有特殊需要的時(shí)候,我們可以用這個(gè)命令來(lái)控制存儲(chǔ)文件里都會(huì)有什么,以及程序中最多有多少個(gè)節(jié)點(diǎn)、多少個(gè)單元等等。
除了命令之外,在ANSYS運(yùn)行之前,可以在Launcher做點(diǎn)工作,一些可能會(huì)有用的經(jīng)驗(yàn)包括:
1.盡量取消系統(tǒng)的虛擬內(nèi)存設(shè)置,ANSYS有自己的虛擬內(nèi)存系統(tǒng)。
2.勾選use custom memory settings之后,Database由于是用來(lái)存儲(chǔ)實(shí)體模型、網(wǎng)格和結(jié)果文件的,可以理解在運(yùn)行的時(shí)候把*.db文件“放在”內(nèi)存里,用來(lái)加速運(yùn)算。所以數(shù)據(jù)庫(kù)的大小默認(rèn)為1024MB,為T(mén)otal Workspace的一半。如果該項(xiàng)目進(jìn)行過(guò)計(jì)算,大概可以知道*.db文件的大小。如果沒(méi)運(yùn)行過(guò)可以通過(guò)Rfilsz命令來(lái)進(jìn)行預(yù)估,可以設(shè)置比該文件稍大一點(diǎn)即可,讓total workspace留有更多的內(nèi)存空間用來(lái)給計(jì)算過(guò)程。
3.Total workspace的設(shè)置,在其他程序都不跑的前提下,盡量多給一些內(nèi)存。一個(gè)方法是Ctrl+Alt+Del,調(diào)出任務(wù)管理器,把其他程序都關(guān)閉的情況下運(yùn)行一小會(huì),看看系統(tǒng)自己用了多少內(nèi)存,然后用物理內(nèi)存減掉系統(tǒng)用的內(nèi)存(再留點(diǎn)富余的就行),剩下的盡量多給ANSYS設(shè)置上。也可用rwfrnt命令來(lái)預(yù)估求解內(nèi)存大小,total workspace減去database后至少比預(yù)估的內(nèi)存值大一點(diǎn),目的是盡量利用內(nèi)存,減少使用虛擬內(nèi)存的page進(jìn)行硬盤(pán)的讀寫(xiě)。
4.CPU設(shè)置方面,選用CPU的數(shù)量為物理核心-1,為系統(tǒng)留一個(gè)核心,以免死機(jī)就行,原則上核心用的越多,就用越多的系統(tǒng)資源來(lái)計(jì)算,效果越好。至于設(shè)置的方法,存在兩種模式:SMP和MPP.
SMP Shared-Memory parallel 共享內(nèi)存,適用于單機(jī)多核并行(針對(duì)于本機(jī))
特點(diǎn):
1) 超過(guò)2個(gè)處理器(核)后,每個(gè)處理器(核)都需要一個(gè)HPC licenses (High Performance computing),一個(gè)HPC licenses可以支持兩個(gè)處理器(核),比如4個(gè)處理器或兩個(gè)雙核的處理器,需要2個(gè)HPC licenses
2) 物理內(nèi)存連續(xù),即所有即將使用的處理器共用一個(gè)物理內(nèi)存, 比如dual或者quad cores 的處理器
適用于:
1)大多數(shù),并不是全部的/Solu過(guò)程可以并行
2)適用于/solu中的較多的求解器。 比如AMG
3)前后處理并行
MPP Distributed computing 分布式并行計(jì)算,單機(jī)多核或多機(jī)多核并行(本機(jī)或聯(lián)機(jī))
要求:
1)超過(guò)2個(gè)處理器后,每個(gè)處理器都需要一個(gè)HPC licenses (High Performance computing)
2)多機(jī)聯(lián)機(jī)時(shí)需要MPI 軟件 (message passing interface); 有host 處理器和slave處理器區(qū)別,需要自己設(shè)定
3) 如果本機(jī)分別有兩個(gè)四核的處理器,只在本機(jī)使用MPP, 不聯(lián)機(jī),在沒(méi)有使用MPI軟件的情況下,運(yùn)行MPP時(shí)可使用的最大處理器數(shù)目為4,而不是8,
適用于:
1)整個(gè)/Solu過(guò)程都可以并行,包括剛度矩陣迭代
2)適用與/Solu中的求解器少于SMP, 不適用于AMG
3)前后處理并行
在計(jì)算時(shí)間方面,MPP的計(jì)算時(shí)間更短,使用并行處理的話,有文檔說(shuō)需要在安裝的時(shí)候裝有MPI ,建議試試設(shè)置MPI方法下的6~7個(gè)CPU核心,要是沒(méi)有報(bào)錯(cuò)的話應(yīng)該就沒(méi)大問(wèn)題了。
還有就是求解器了,大規(guī)模計(jì)算建議采用PCG求解器,其中,PCG求解器還支持分布式計(jì)算(多核心)。
相關(guān)標(biāo)簽搜索:用個(gè)小招數(shù)解決ANSYS運(yùn)行內(nèi)存不夠的問(wèn)題 Ansys有限元培訓(xùn) Ansys workbench培訓(xùn) ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術(shù)咨詢 ansys基礎(chǔ)知識(shí) ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓(xùn)