
發(fā)布
注冊
/
登錄ansys 變量的案例
ANSYS中的變量
ANSYS中的變量總的來說分為兩大類:一類是標(biāo)量參數(shù);一類是數(shù)組參數(shù)。其意義與C語言中的參數(shù)和數(shù)組類似。標(biāo)量參數(shù)是指單個的變量,而數(shù)組則是由一系列具有相同意義的數(shù)據(jù)組成。
一:標(biāo)量參數(shù)
標(biāo)量參數(shù)分為兩種:數(shù)值型的和字符型的。
1:標(biāo)量參數(shù)的定義或修改:可以使用*SET命令或直接寫出賦值表達式。修改時,只需改變數(shù)據(jù)即可。
例如:
*SET,LENGTH,10 !定義了一個名為LENGTH的數(shù)值型變量,并且值為10
*SET,COMMENT,'DISP' !定義了一個名為COMMENT的字符型變量,并且賦值為DISP
以上兩句等價于:
LENGTH=10
COMMENT='DISP'
2:標(biāo)量參數(shù)的刪除:同樣可以使用*SET命令或直接寫出賦值表達式或使用*DEL命令。將需要刪除的變量賦空值,注意不是數(shù)字0或空格。
例如:我們將上面定義的兩個參數(shù)刪除。語句如下:
*SET,LENGTH,
*SET,COMMENT,
或:
LENGTH=
COMMENT=
又或:
*DEL,LENGTH
*DEL,COMMENT
3:標(biāo)量參數(shù)的GUI操作菜單。GUI路徑為:Utility Menu->Parameters->Scalar Parameters。標(biāo)量參數(shù)的定義,刪除和修改都可以在這個窗口中完成。
二:數(shù)組參數(shù)
數(shù)組參數(shù)按維數(shù)可分為:一維數(shù)組,二維數(shù)組和三維數(shù)組。
按存儲的數(shù)據(jù)類型可分為:
1)一般數(shù)組參數(shù),也成為ARRAY Parameter。是一種默認的數(shù)據(jù)類型,也就是說,如果用戶不聲明數(shù)據(jù)類型,系統(tǒng)就會自動使用該數(shù)據(jù)類型。該數(shù)組的行、列、面的索引均為從1開始的連續(xù)整數(shù),元素值可以為整數(shù)或?qū)崝?shù)。
2)字符數(shù)組參數(shù),又名CHAR Array Parameter。元素值為不多于8個的字符或數(shù)字組成。其行,列,面的索引值也是從1開始的連續(xù)整數(shù)。
展開 ansys優(yōu)化,因變量和目標(biāo)函數(shù)都沒有變化【急】【急】
ansys優(yōu)化,因變量和目標(biāo)函數(shù)都沒有變化【急】【急】
ansys優(yōu)化之后,為什么只有自變量發(fā)生了變化,而因變量和目標(biāo)函數(shù)都沒有變化,還是和初始值一樣?也進行了四五十次的迭代,也有顯示最優(yōu)解,只是因變量和目標(biāo)函數(shù)都沒有變化,疑惑中。
ANSYS APDL如何求變量的最大值
在其他語言中求最大值非常容易,比如有三個變量分別是MXS6,MXS7和MXS8,要求他們的最大值賦予MaxS,用到的函數(shù)往往只是一個函數(shù)MaxS=max(MXS6,MXS7,MXS8)。但是在ANSYS Parametric Design Language Guide第三章第8節(jié) Parametric Functions部分卻找不到這樣的函數(shù)。
無奈自力更生吧。
MaxS=MXS6
*if,MXS7,GT,MaxS,THEN
MaxS=MXS7
*ENDIF
*if,MXS8,GT,MaxS,THEN
MaxS=MXS8
*ENDIF
這是三個變量,如果有更多變量方法也是一樣的,變量太多就用個循環(huán),如果需要留言給我,我給大家把代碼寫出來。
展開 【ANSYS經(jīng)驗技巧】- 學(xué)會使用變量數(shù)組函數(shù)(轉(zhuǎn)載)
5.直到你為函數(shù)中所有的狀態(tài)的所有變量提供賦值,才能保存為表格式參數(shù)使用。
注意:在ansys分析中用函數(shù)加載必須的兩個步驟:
1利用函數(shù)編輯器創(chuàng)建任意方程或函數(shù)
2在利用函數(shù)加載器加載函數(shù),并以函數(shù)定義表參數(shù)
轉(zhuǎn)自:三維網(wǎng)。 作者:4kpolo
原帖鏈接:http://www.3dportal.cn/discuz/viewthread.php?tid=746468&extra=page%3D1%26amp%3Bfilter%3Ddigest

有相互依存關(guān)系的離散變量的ansys與workbench聯(lián)合優(yōu)化分析
需要說明的是對應(yīng)基于離散變量的優(yōu)化,采用不同的響應(yīng)面構(gòu)建方法和優(yōu)化算法,效率相差特別大。即使對于本問題節(jié)點數(shù)目5個,單元數(shù)目6個。選擇的響應(yīng)面構(gòu)建方法和優(yōu)化算法不同,也有可能計算幾個小時。對于本問題采用Latinhypercube sampling (LHS拉丁超立方體抽樣)生成試驗設(shè)計,采用神經(jīng)網(wǎng)絡(luò)方法來構(gòu)建響應(yīng)面,實際證明效率較高。
另外對應(yīng)基于離散變量的優(yōu)化分析,目前workbench只支持篩選法和混合整數(shù)序列二次規(guī)劃優(yōu)化算法。
另外,其實該問題也可以完全采用ansys經(jīng)典完成程序優(yōu)化設(shè)計,利用離散編碼陷阱實現(xiàn)從連續(xù)變量到離散變量的轉(zhuǎn)變。但是該方法也有很多缺點:
1.最終得優(yōu)化的變量依然是連續(xù)的,需要人為后處理,實現(xiàn)規(guī)格表的編碼。
2.最終得到的優(yōu)化結(jié)果,可能陷入局部最小陷阱。采用首次得到的優(yōu)化結(jié)果為初始值,然后縮小優(yōu)化變量的采用空間,可以一定程度上改善結(jié)果的精度。
3.規(guī)格表的離散區(qū)間步長對于求解的效率的影響非常大。因此,需要增大優(yōu)化迭代次數(shù)。
4.系統(tǒng)優(yōu)化過程中,可能多次在等效解處徘徊。影響求解效率。
5.人為將連續(xù)變量離散化后,基于偏導(dǎo)算法的一階優(yōu)化方法將不能處理該類問題。
6.最終解碼得到的材料規(guī)格往往需要返回到分析中去,才可以得到真實的狀態(tài)變量數(shù)值。
完全采用ansys優(yōu)化的具體方法這里不在提供。
這里順便說下ansys和workbench優(yōu)化分析的優(yōu)缺點:
1.采用ansys可以很方面的實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的編程和變量提取后控制。對于類似問題,如果分析的模型更大,在workbench中建模可以說是一件極其痛苦的事情。
2.workbench提供了比ansys更多的優(yōu)化算法。自身就擁有離散變量的優(yōu)化功能。這也或許是現(xiàn)在ansys舍棄經(jīng)典優(yōu)化界面的一個很大原因。
展開 Ansys使用APDL 批量創(chuàng)建數(shù)組,一維數(shù)組名設(shè)置循環(huán)變量,與二維數(shù)組等效
APDL 批量創(chuàng)建數(shù)組,在一維數(shù)組名上做文章,實現(xiàn)其與二維數(shù)組近似相同效果
首先批量創(chuàng)建了8個一維數(shù)組,數(shù)組名中的循環(huán)變量j使用%j%
finish
/prep7*do,j,1,8
*dim,List%j%,array,10,1
*enddo
然后給八個數(shù)組里的每一個元素賦值,總共80個元素
并且以數(shù)組元素值作為節(jié)點編號,同數(shù)組的y坐標(biāo)值相同
*do,i,1,10
*do,j,1,8
List%j%(i,1)=(i-1)*10+j
n,List%j%(i,1),i,j
*enddo
*enddo
最終效果如下
注:轉(zhuǎn)自 https://blog.csdn.net/weixin_43717845/article/details/104567039
小白一枚,本為學(xué)習(xí)之余的記錄,希望能讓些跟我一樣的初學(xué)者少走彎路,寫的也不盡嚴謹,有疏漏錯誤之處也請各位專家指出,不吝賜教……多謝
展開 Tcl/Tk與APDL聯(lián)合編程實現(xiàn)ANSYS的二次開發(fā)
Tcl/Tk與APDL的通信主要依靠三個ANSYS API函數(shù)實現(xiàn),分別是:
ans_sendcommand:向ANSYS傳遞APDL命令;
ans_getvalue:從ANSYS數(shù)據(jù)庫中獲取變量;
ans_getvector:從ANSYS數(shù)據(jù)庫中獲取向量。
無私奉獻100個ANSYS經(jīng)典算例
id=135 ansys數(shù)值變量轉(zhuǎn)字符變量
http://www.besturbo.cn/joinus/show.asp?id=136 ansys中保存視圖設(shè)置
http://www.besturbo.cn/joinus/show.asp?id=137 ansys中最值問題
http://www.besturbo.cn/joinus/show.asp?id=138 apdl命令分類
http://www.besturbo.cn/joinus/show.asp?id=139 ANSYS宏加密
http://www.besturbo.cn/joinus/show.asp?id=140 用路徑得到任一點的應(yīng)力值
http://www.besturbo.cn/joinus/show.asp?id=141 ansys中的函數(shù)
http://www.besturbo.cn/joinus/show.asp?id=142 塑性應(yīng)變實例
http://www.besturbo.cn/joinus/show.asp?
展開 經(jīng)典仿真案例教程 | 06 - 梁的設(shè)計優(yōu)化全步驟
3、定義變量和公差
ANSYS需要知道哪些變量對優(yōu)化至關(guān)重要。為了定義變量,我們需要知道哪些變量對要最小化的變量有影響。在這個例子中,我們的目標(biāo)是最小化與梁的重量直接相關(guān)的梁的體積。
ANSYS將設(shè)計優(yōu)化的三種變量分類:
設(shè)計變量(DVs)
直接影響設(shè)計目標(biāo)的獨立變量。在本例中,梁的寬度和高度為DVs。改變?nèi)魏我粋€變量都會直接影響問題的解決。
狀態(tài)變量(SVs)
因變量的改變而改變的因變量。這些變量是約束設(shè)計所必需的。在本例中,SV是梁中的最大應(yīng)力。如果沒有這個SV,我們的優(yōu)化將繼續(xù),直到寬度和高度都為零。這將使權(quán)重最小化到零,這不是一個有用的結(jié)果。
目標(biāo)變量(OV)
目標(biāo)變量是優(yōu)化中需要最小化的一個變量。在我們的問題中,我們將最小化光束的體積。
注:如前所述,ANSYS中定義的變量不允許有負值。
既然我們已經(jīng)決定了我們的設(shè)計變量,我們需要為每個變量定義范圍和公差。對于寬度和高度,我們將分別選擇10到50 mm的范圍。因為寬度或高度的微小變化會對梁的體積產(chǎn)生深遠影響,因此我們將選擇0.01mm的公差。公差是必要的,因為它們告訴ANSYS在問題收斂之前變量可以經(jīng)歷的最大變化量。
對于應(yīng)力變量,我們將選擇195至200MPa的范圍,公差為0.01MPa。
因為體積變量是目標(biāo)變量,我們不需要定義一個允許的范圍。我們將公差設(shè)置為200m3。之所以選擇該公差,是因為它明顯小于400000m3(20mm×20mm×1000mm)的初始體積。
a、 梁的高度和寬度(定義設(shè)計變量)
? 選擇Main Menu > Design Opt > Design Variables... > Add
? 完成如下所示的窗口,以指定梁的高度。
展開 關(guān)于ANSYS優(yōu)化設(shè)計可靠性知識清單
1、優(yōu)化變量=(設(shè)計變量、狀態(tài)變量、目標(biāo)函數(shù))
當(dāng)ANSYS進行最優(yōu)化時,這些優(yōu)化變量是會改變的,所以在ANSYS 分析中,必須用ANSYS變量(參數(shù))來表示這些優(yōu)化變量。其中設(shè)計變量除了指定初始值外不得變更其值(ANSYS會自動更新其值),狀態(tài)變量和目標(biāo)方程則必須在適當(dāng)?shù)臅r機更新其值。
2、用ANSYS命令撰寫為執(zhí)行文件的方式,命令組織成兩個文件:優(yōu)化文件和分析文件。
優(yōu)化的每一次迭代過程中,都須進行至少一次的有限元分析,分析文件的命令就是用來進行該有限元分析的。分析文件的結(jié)構(gòu)基本上和典型的ANSYS分析程序類似,唯一不同的是分析文件中必須包含計算狀態(tài)變量目標(biāo)方程的值。
優(yōu)化文件是描述式1-1的數(shù)學(xué)模式,然后去執(zhí)行設(shè)計優(yōu)化的工作。由于執(zhí)行設(shè)計最佳化需要調(diào)用分析文件,所以優(yōu)化文件中必須指定分析文件的名稱。
3、基于APDL的ANSYS優(yōu)化設(shè)計主要分析過程如下:
1)利用APDL的參數(shù)技術(shù)和ANSYS的命令創(chuàng)建參數(shù)化分析文件,用于優(yōu)化循環(huán)。主要包含下面步驟:
在前處理器中建立參數(shù)化的模型
在求解器中求解
在后處理器中提取并指定狀態(tài)變量和目標(biāo)函數(shù)
2)進入優(yōu)化設(shè)計器OPT,執(zhí)行優(yōu)化分析過程。
指定分析文件
聲明優(yōu)化變量,包括設(shè)計變量、狀態(tài)變量和目標(biāo)函數(shù)。
選擇優(yōu)化工具或優(yōu)化方法。
進行優(yōu)化分析。
查看優(yōu)化設(shè)計序列結(jié)果。
檢驗設(shè)計優(yōu)化序列。
4、ANSYS程序優(yōu)化工具:單步運行法(Single Run)、隨機搜索法(Random Design)、乘子法(Fractorial)
最優(yōu)梯度法(Gradient)、掃描法(DV Sweeps)、子問題法(Sub-Problem)、一階優(yōu)化(First-Order)、用戶優(yōu)化算法(UserOptimizer
5、離散變量的處理:在實際工程設(shè)計問題中,有時會遇到離散型設(shè)計變量的情況,這時可采用下述方法求解。
展開 Workbench中施加正弦載荷
下圖設(shè)置表示計算2秒,初始時間步是20步,最小10步,最多40步
(4)在幾何上施加正弦激勵
注意這里面對于振幅的填寫,是用函數(shù)表示的,其中的time就是ANSYS自己的時間變量。此時可以看到該振幅的圖形及數(shù)據(jù)如下,顯然這是一個正弦激勵。
(5)求解完后在后處理中查看右邊端面上一個點的位移,其響應(yīng)曲線也是正弦函數(shù)

Ansys Speos | 助力汽車按鍵開關(guān)設(shè)計與優(yōu)化
Lightguide包含光導(dǎo)齒的Step、Length、Offset、Start/End angle,以及起始與末端的距離等參數(shù);
2) 輸入?yún)?shù)變量——利用Publish Parameters功能將Lightguide的參數(shù)變量發(fā)布出來,用于Workbench的輸入變量;
3) xml文件——通過對.xmp文件進行后處理設(shè)置,對評估目標(biāo)進行定義設(shè)定,然后導(dǎo)出生成.xml文件。評估目標(biāo)為模型的輸出參數(shù)變量,如均勻性(RMS Contrast),平均值,最大值,最小值等。本案例的評估參數(shù)為 各輪廓的RMS Contrast數(shù)值;
在初始設(shè)計階段,配合Live Preview的高效預(yù)覽功能,可在短時間內(nèi)得到一個相對不錯的結(jié)果。整體RMS Contrast低于0.5,此時P9會成為后續(xù)優(yōu)化的主要目標(biāo)。
3.光導(dǎo)優(yōu)化
Ansys Workbench 是一個強大的協(xié)同仿真平臺,它可以實現(xiàn)Ansys Speos優(yōu)化變量與目標(biāo)的發(fā)布,具體優(yōu)化迭代可以交給軟件進行自動化的流程。Ansys Workbench操作界面中,設(shè)置好輸入/輸出參數(shù),并對輸入?yún)?shù)變量進行優(yōu)化區(qū)間設(shè)置,對輸出參數(shù)進行目標(biāo)約束。
案例選取了光導(dǎo)的8個設(shè)置參數(shù) (P1-P8) 作為輸入?yún)?shù)變量,字符4個輪廓的RMS Contrast (P9-P12) 作為輸出參數(shù)。直接優(yōu)化算法會根據(jù)輸入/輸出參數(shù)設(shè)計函數(shù)關(guān)系來確認優(yōu)化的迭代次數(shù),并篩選出最佳設(shè)計點,同時可保留每個設(shè)計點的結(jié)果文件及優(yōu)化結(jié)構(gòu)模型。
4.結(jié)果評估
經(jīng)過327次的軟件迭代后,我們找到第264次仿真為最優(yōu)結(jié)果。
展開 APDL宏文件系列講解(三)
APDL中的變量與其他編程語言一樣,具有全局變量、局部變量和系統(tǒng)變量之分,一般情況下,我們定義的變量為全局變量,也即定義變量后,在刪除變量或者退出ANSYS之前,該變量一直存在于內(nèi)存中,可以隨時調(diào)用。而局部變量則一般用于宏文件中,其生命周期與宏文件的使用周期相同,當(dāng)宏文件運行完畢后,宏文件中的局部變量都會在內(nèi)存中消失,這里的局部變量包括兩種類型:
1、宏文件外部輸入的變量;
2、宏文件內(nèi)部定義的變量
宏文件內(nèi)部定義的變量很好理解,其實和我們平時定義變量雷同,只是其使用范圍僅限于宏文件整個運行周期而已。這里重點說下宏文件外部輸入的變量。
通過外部輸入變量,能實現(xiàn)很多參數(shù)化宏文件的定制,是宏文件使用的高級技巧,應(yīng)重點掌握。一個宏命令,可以同時輸入19個變量,變量代號分別是ARG1~ARG2,也即在創(chuàng)建過程中,如果需要外部輸入?yún)?shù),我們只需要以ARGn 的格式代替就行,變量類型包括但不僅限于數(shù)值型變量,使用格式如下:
!創(chuàng)建宏文件
*Create,File_name,mac
!========
………
!以創(chuàng)建矩形為例,定義長寬為外部輸入的參數(shù)
Blc4,,,ARG1,ARG2
!========
*enddo
!宏文件創(chuàng)建完畢
!===========
!宏文件調(diào)用
File_name,A1,A2
!其中A1、A2分別按順序賦值給ARG1、ARG2
下面以地震反應(yīng)譜分析為例,說明創(chuàng)建求解地震反應(yīng)譜的宏文件創(chuàng)作過程。
展開 『分享』ANSYS結(jié)構(gòu)分析基礎(chǔ)知識
使用POST26比較一個ANSYS變量對另一個變量的關(guān)系。例如,你可以用圖形表示某一結(jié)點處的位移與對應(yīng)的所加載荷的關(guān)系,或者你可以列出某一結(jié)點處的塑性應(yīng)變和對應(yīng)的TIME值之間的關(guān)系。
典型的POST26后處理順序可以遵循以下步驟:
1、 根據(jù)你的輸出文件(Jobname.OUT)檢查是否在所有要求的載荷步內(nèi)分析都收斂。你不應(yīng)當(dāng)將你的設(shè)計決策建立在非收斂結(jié)果的基礎(chǔ)上。
2、 如果你的解是收斂的,進入POST26,如果現(xiàn)與你的模型不在數(shù)據(jù)庫內(nèi),發(fā)出RESUME命令。
命令:POST26
GUI:Main Menu>Time Hist Postpro
3、定義在后處理期間使用的變量。命令:
NSOL
ESOL
RFORCL
GUI:Main Menu>Time Hist Postproc>Define Variables
4、圖形或者列表顯示變量。命令:
PLVAR(圖形表示變量)
PRVAR
EXTREM(列表變量)
GUIS:Main Menu>Time Hist Postprac>Graph Variable S
Main Menu>Time Hist Postproc>List Variables
Main Menu>Time Hist Postproc>List Extremes
其它的性能
許多其它的后處理函數(shù)可用于POST26。
終止正在運行的工作;重起動
你可以通過產(chǎn)生一個“abort”文件)(Jobname.abt)停止一個非線性分析。一旦求解成功地完成,或者收斂失敗發(fā)生,程序也將停止分析。
如果一個分析在終止前已成功地完成了一次或多次迭代,你可以屢次重啟動它?
展開 UIDL-Tcl/Tk-APDL聯(lián)合編程實現(xiàn)ANSYS二次開發(fā)(終極篇)
Tcl/Tk與APDL的通信主要依靠三個ANSYS API函數(shù)實現(xiàn),分別是:
ans_sendcommand:向ANSYS傳遞APDL命令;
ans_getvalue:從ANSYS數(shù)據(jù)庫中獲取變量;
ans_getvector:從ANSYS數(shù)據(jù)庫中獲取向量。