本文以簡(jiǎn)單的雙質(zhì)量彈簧振子模型為例,介紹Simpack批處理運(yùn)行的基本流程和操作方法,供大家參考。
1、建立Simpack模型
建立雙質(zhì)量彈簧振子模型,包含2個(gè)body、2個(gè)豎直方向移動(dòng)joint和2個(gè)彈簧力元。其中,彈簧屬性中的剛度和阻尼系數(shù)設(shè)置為參數(shù)化。模型保存為two_mass_oscillator.spck。
在Simpack Subvars窗口中,右鍵選擇SubVars項(xiàng),在彈出的快捷菜單中選擇Export SubVar(s)命令,得到導(dǎo)出的參數(shù)化變量文件。
生成文件名稱(chēng)為spring_factor.subvar。
該文件支持文本編輯,使用文本編輯器打開(kāi)后顯示的內(nèi)容為下圖所示。
上述操作主要是為了生成subvar參數(shù)變量文件,也可以手動(dòng)或其它方法建立該文件。
2、導(dǎo)入?yún)?shù)化變量subvar文件
首先設(shè)置Search Path,路徑為.subvar文件的存放路徑。然后在模型樹(shù)中選擇SubVar Files并右鍵點(diǎn)擊選擇Edit命令,在彈出的對(duì)話(huà)框中,通過(guò)點(diǎn)擊+號(hào),選擇之前生成的spring_factor.subvar文件。
注意,在Overwriting列中有兩個(gè)選項(xiàng),Initial表示模型中的變量保持初始值,即不論導(dǎo)入subvar文件中的變量值如何變化,模型里的變量值還保持原有值,沒(méi)有變化; Overwriting表示使用導(dǎo)入subvar文件中的變量值替換模型中原來(lái)的變量值。
一般情況下,為了快速修改模型參數(shù),選擇Overwriting選項(xiàng)。本文也是選擇Overwriting選項(xiàng)。
這時(shí),打開(kāi)模型中的參數(shù)變量,發(fā)現(xiàn)其已經(jīng)無(wú)法修改,且顯示該變量來(lái)源于導(dǎo)入的subvar文件。
在$SLV_SolverSettings中設(shè)置仿真時(shí)間和采樣頻率。
保存模型并關(guān)閉模型。
3、建立Simpack腳本和批處理文件
.sjs是Simpack前處理腳本文件,可以參考Simpack的相關(guān)幫助進(jìn)行編寫(xiě)。本例編寫(xiě)的sjs腳本內(nèi)容如下:
varmyModel = Spck.openModel("two_mass_oscillator.spck "); // 打開(kāi)模型
Spck.Slv.integ(myModel); //時(shí)域積分
Spck.Slv.meas(myModel); //測(cè)量分析
myModel.close(); //關(guān)閉模型
把上述腳本保存為time_integration.sjs文件,并存放在與模型文件two_mass_oscillator.spck相同的文件夾中。
然后,建立一個(gè)名稱(chēng)為runsimpack1.bat的批處理文件,內(nèi)容為:
“D:ProgramFilesSIMPACK-9.9uninwin64simpack-slv.exe” -s time_integration.sjs
該語(yǔ)句分為三部分,使用空格隔開(kāi),解釋為:
前面是Simpack 求解器的完整路徑(Simpack 9.9版本);
參數(shù)-s 表示使用script方式仿真;
后面是使用的sjs腳本文件。
注意:如果安裝路徑有空格,在路徑上添加引號(hào),表示是一個(gè)完整的路徑。
現(xiàn)在,可以在文件夾中直接雙擊該批處理文件運(yùn)行仿真,不需要預(yù)先打開(kāi)Simpack軟件。
為方便起見(jiàn),在計(jì)算機(jī)環(huán)境變量中設(shè)置Simpack安裝路徑。在系統(tǒng)變量Paht中添加Simpack安裝路徑,例如D:Program FilesSimpack-9.10.1uninwin64,見(jiàn)下圖所示。這樣可以在批處理語(yǔ)句中簡(jiǎn)化Simpack的路徑。
把上述的runsimpack1.bat文件復(fù)制,并重命名為runsimpack2.bat,其內(nèi)容修改為:
simpack-slv.exe -s time_integration.sjs
雙擊運(yùn)行這個(gè)runsimpack2.bat文件,其結(jié)果和運(yùn)行runsimpack1.bat完全一樣。
4、修改變量值
用文本編輯器打開(kāi)spring_factor.subvar文件,并修改其中的變量數(shù)值,并保存。例如,本例修改為下圖所示數(shù)值(4個(gè)變量值都被修改)。
重新運(yùn)行bat進(jìn)行批處理仿真。這時(shí)Simpack模型就會(huì)使用修改后的變量值進(jìn)行仿真。兩者的結(jié)果可在Simpack后處理中進(jìn)行對(duì)比查看。
左圖:變量修改前的仿真結(jié)果 右圖:變量修改后的仿真結(jié)果
總結(jié):
使用Simpack批處理仿真方法,可以大大提升模型建模和仿真效率,而且還可以與Isight軟件集成,進(jìn)行最優(yōu)化分析。
編輯:hfy
-
SIMPACK
+關(guān)注
關(guān)注
0文章
6瀏覽量
6952 -
彈簧振子
+關(guān)注
關(guān)注
0文章
2瀏覽量
1871
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論