本blog主要介紹comsol中batch sweep的作用。參考:
https://www.comsol.com/blogs/the-power-of-the-batch-sweep/
Why do we need batch sweep: batch sweep v.s. parametric sweep.
在comsol進(jìn)行simulation時(shí)我們通常會(huì)用到參數(shù)掃描精肃。它的一個(gè)問(wèn)題是返顺,必須等所有掃描結(jié)束之后才能查看計(jì)算結(jié)果酌畜。而batch sweep就是解決上述問(wèn)題的:它會(huì)把計(jì)算好的參數(shù)化解自動(dòng)保存成文件方便后續(xù)的可視化和后處理羊异。簡(jiǎn)單總結(jié)就是: to retrieve solutions for a parametric sweep during the solution process.
Each parameter can be solved for in a separate process that can be started and stopped independently. The results for the parameters that have already been solved for can be stored as an .mph file for each parameter value and you can open and review any number of them during the solution process.
How?
- Add a batch sweep
跟添加parametric sweep的方法類似怎顾,右擊study
node螟够,添加一個(gè)batch sweep灾梦,并添加要sweep的parameter峡钓。
- Batch sweep setting
現(xiàn)在解釋一下上圖中的幾個(gè)參數(shù)設(shè)置
默認(rèn)文件名為 batchmodel.mph,用于自動(dòng)創(chuàng)建一個(gè) .mph 文件序列若河,其中的每個(gè)文件對(duì)應(yīng)于掃描中的每個(gè)參數(shù)能岩。文件名可以更改,不過(guò)對(duì)于此演示示例萧福,我們?nèi)员A舸宋募椋傻?.mph 文件名將分別為 batchmodel_sn_1.mph,batchmodel_sn_2.mph鲫忍,……膏燕,
存儲(chǔ)路徑:如果你有網(wǎng)絡(luò)浮動(dòng)許可證,并且希望使用遠(yuǎn)程安裝的 COMSOL 軟件執(zhí)行這一計(jì)算悟民,那么可以使用指定服務(wù)器路徑 選項(xiàng)坝辫。
掃掠前 一欄有兩個(gè)選項(xiàng):清除網(wǎng)格和清除解。我們清除了這兩個(gè)復(fù)選框射亏,因?yàn)?strong>只有在執(zhí)行遠(yuǎn)程集群計(jì)算或云計(jì)算時(shí)近忙,這兩個(gè)選項(xiàng)才真正有用,因?yàn)檫@時(shí)我們希望經(jīng)網(wǎng)絡(luò)傳遞的文件盡可能小(只有使用網(wǎng)絡(luò)浮動(dòng)許可證時(shí)才能這樣做)智润。
在掃描過(guò)程中 一欄有兩個(gè)選項(xiàng):同步解 和同步累積探針表及舍。同步解 將存儲(chǔ)的所有文件中的結(jié)果收集到我們要開(kāi)始仿真的“主模型”.mph 文件中,最終結(jié)果與運(yùn)行參數(shù)化掃描的結(jié)果極其相似窟绷。我們選擇清除這個(gè)復(fù)選框锯玛,因?yàn)樵谶@個(gè)示例中我們假定只希望查看每個(gè)結(jié)果。此外兼蜈,如果掃描的數(shù)量過(guò)于龐大更振,則收集全部結(jié)果可能要消耗大量的時(shí)間和內(nèi)存。同步累積探針表 保持選中饭尝,表示對(duì)探針的輸出結(jié)果進(jìn)行累積,與完整的求解信息相比献宫,收集這種信息非常輕松钥平。
在掃掠后 一欄中,我們勾選輸出模型到文件 復(fù)選框姊途,這確保了自動(dòng)保存的 .mph 文件包含解
-
探針數(shù)據(jù)保存到文件
要將探針數(shù)據(jù)保存到文件涉瘾,不能使用常規(guī)的探針表。而要使用一種特殊的累積探針表捷兰。當(dāng)異步生成的數(shù)據(jù)要在表格中按照一定的順序排列時(shí)立叛,就可以使用“累積探針表”。請(qǐng)記住贡茅,一般而言秘蛇,我們不清楚不同的參數(shù)對(duì)應(yīng)的解應(yīng)該按照什么順序排列其做,而“累積探針表”幫我們解決了這一難題。
-
運(yùn)行批處理掃描
現(xiàn)在可以單擊計(jì)算 啟動(dòng)批處理掃描赁还。求解過(guò)程中妖泄,在圖形 窗口下的信息窗口中會(huì)看到一個(gè)外部進(jìn)程 窗口
In the External Process window, we get an overview of the running batch processes and their status.
At this stage, large parts of the user interface are noninteractive, but we can click on Detach job
(右下角) to regain control of the user interface.(注意,這個(gè)時(shí)候comsol仍然一直在進(jìn)行計(jì)算)
- We can now stop all processes or click on a row and stop that particular process.
- We can even click on a process in the table with the status Done and open it up in a separate COMSOL Desktop window. There, we can perform any kind of visualization or postprocessing task that we would normally perform on a model.
To get back to the live update of the process status, click on Attach Job
in the upper left corner of the External Process window.
其他
Performance
如果掃描中每次計(jì)算速度都很快艘策,且不需要很大的內(nèi)存蹈胡,就如上面的示例,那么批處理掃描所需的計(jì)算時(shí)間會(huì)比常規(guī)的參數(shù)化掃描的時(shí)間長(zhǎng)朋蔫。因?yàn)椴捎门幚頀呙钑r(shí)罚渐,每個(gè)參數(shù)都會(huì)啟動(dòng)一個(gè) COMSOL Multiphysics 進(jìn)程。如果掃描中每個(gè)參數(shù)的計(jì)算都比較費(fèi)時(shí)驯妄,那么這個(gè)額外啟動(dòng)進(jìn)程的時(shí)間就相對(duì)較短荷并,可忽略不計(jì)。
Handling of Crashes for Certain Parameters
For example, a zero permittivity means that we are feeding the solver with an ill-defined (even singular) equation (similar to 0 = 1) and you will get an error message indicating that the solver couldn’t find a solution corresponding to that erroneous parameter. Again, you can still open and postprocess the saved .mph files. If you correct the table by changing the entry to a nonzero entry, you can run the batch job again without getting error messages. Note that while the error exists, you cannot attach the External Process window without getting an error. The Accumulated Probe table is still updated for the other parameters when you attach the window. As soon as you correct the error and run, you can again access the External Process window by attaching it.
Managing Multicore Processing
如果你在使用一臺(tái)多核機(jī)器富玷,這是現(xiàn)代電腦的常見(jiàn)配置璧坟,那么可以更改批處理 的相關(guān)設(shè)置,控制批處理掃描中可運(yùn)行的并發(fā)進(jìn)程數(shù)赎懦,以及每個(gè)進(jìn)程可用的內(nèi)核數(shù)雀鹃。假如使用的是六核機(jī)器,那么可以將并發(fā)作業(yè)數(shù) 改為三励两,將內(nèi)核數(shù) 改為二黎茎。這樣設(shè)置后,可以并行求解三個(gè)參數(shù)当悔,每個(gè)求解器進(jìn)程可使用兩個(gè)內(nèi)核傅瞻,所以對(duì)于上面的示例,仿真時(shí)間減少了一半盲憎。
- 如果所執(zhí)行的仿真中每個(gè)參數(shù)的計(jì)算量都很少嗅骄,那么可以增加并發(fā)作業(yè)的數(shù)量,使其與計(jì)算機(jī)的內(nèi)核數(shù)相同饼疙。
- 對(duì)于計(jì)算量較大的問(wèn)題溺森,應(yīng)該將并發(fā)作業(yè)數(shù)保留為一,以完全利用求解器的多核處理能力窑眯。
在批處理掃描 節(jié)點(diǎn)研究擴(kuò)展一欄下控制并發(fā)作業(yè)數(shù)屏积。這種情況下,軟件會(huì)用實(shí)際內(nèi)核數(shù)除以并發(fā)作業(yè)數(shù)磅甩,自動(dòng)計(jì)算出“內(nèi)核數(shù)”炊林。(要實(shí)現(xiàn)自動(dòng)計(jì)算,務(wù)必不要勾選批處理 設(shè)置下的內(nèi)核數(shù) 復(fù)選框卷要,因此不會(huì)使用以灰色顯示的數(shù)字 1渣聚。)
批處理掃描 vs 集群掃描
COMSOL Multiphysics 的所有許可證類型都可以使用批處理掃描 功能独榴。如果你有網(wǎng)絡(luò)浮動(dòng)許可證,則還可以使用集群掃描 這一附加功能饵逐。這兩個(gè)掃描功能很相似括眠,不過(guò)集群掃描 選項(xiàng)多了遠(yuǎn)程計(jì)算和集群配置等設(shè)置牵署∫樟幔“集群掃描”功能可以將大量掃描分散到一個(gè)(很可能是大型的)集群上韭山。這種做法顯著提高了效率救崔,因?yàn)楠?dú)立掃描(也稱作易并行計(jì)算)所涵蓋的范圍通常很廣塞栅。