
發(fā)布
注冊
/
登錄ansys給變量賦值
關注創(chuàng)建者:王靖雯 創(chuàng)建時間:2023-03-07
ansys給變量賦值的視頻教程
基于ANSYS的function多段函數(shù)為ansysworkbench中多變量載荷添加(無聲版本)
基于ANSYS的function多段函數(shù)為ansysworkbench中多變量載荷添加 基于對于一個結(jié)構(gòu)的熱對流分析
¥10 13分鐘 31播放
查看
ansys給變量賦值的實例教程
ANSYS中的變量總的來說分為兩大類:一類是標量參數(shù);一類是數(shù)組參數(shù)。其意義與C語言中的參數(shù)和數(shù)組類似。標量參數(shù)是指單個的變量,而數(shù)組則是由一系列具有相同意義的數(shù)據(jù)組成。
一:標量參數(shù)
標量參數(shù)分為兩種:數(shù)值型的和字符型的。
1:標量參數(shù)的定義或修改:可以使用*SET命令或直接寫出賦值表達式。修改時,只需改變數(shù)據(jù)即可。
例如:
*SET,LENGTH,10 !定義了一個名為LENGTH的數(shù)值型變量,并且值為10
*SET,COMMENT,'DISP' !定義了一個名為COMMENT的字符型變量,并且賦值為DISP
以上兩句等價于:
LENGTH=10
COMMENT='DISP'
2:標量參數(shù)的刪除:同樣可以使用*SET命令或直接寫出賦值表達式或使用*DEL命令。將需要刪除的變量賦空值,注意不是數(shù)字0或空格。
例如:我們將上面定義的兩個參數(shù)刪除。語句如下:
*SET,LENGTH,
*SET,COMMENT,
或:
LENGTH=
COMMENT=
又或:
*DEL,LENGTH
*DEL,COMMENT
3:標量參數(shù)的GUI操作菜單。GUI路徑為:Utility Menu->Parameters->Scalar Parameters。標量參數(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ù)。
展開 在其他語言中求最大值非常容易,比如有三個變量分別是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),如果需要留言給我,我給大家把代碼寫出來。
展開 舉例一些無效參數(shù)名:
Fjsdklfjsklfjsklfjkslfjksdfjdkslfjsdklfjsdklfjs123434343(長度超過32)
S@B(含非法字符@)
UX(系統(tǒng)自由度標識符)'
12ddd(以數(shù)字開頭)
二.變量的定義與賦值
一般定義變量與賦值有以下6種,但本文只介紹常用的幾種:
1.利用*set定義變量并賦值
格式 *set,par,value,val2,val3……val10
Par——參數(shù)名
Valu——參數(shù)的賦值,數(shù)值或字符串
Val2~val10——對數(shù)組賦值(見例子4)
舉例:
*set,length,12(定義length并賦值為12)
*set,width,length(定義width并賦值為length的值12)
*set,abc_111,’good’(給abc_111定義為字符good)
*set,B(1),1,2,3,4(給數(shù)組B賦值,B(1)=1, B(2)=2, B(3)=3, B(4)=4)
2. 利用“=”定義并賦值
“=”可以直接用來定義和賦值變量,作為一種速記符實際是通過內(nèi)部調(diào)用*set實現(xiàn)參數(shù)定義與賦值的。
格式:name=value
name——參數(shù)名
vulue——賦給參數(shù)的數(shù)值或字符,字符必須放在一對單引號內(nèi)并且不得超過8個字符。
例子:width=12
Length=width(12)
abc_111=‘good’
B(1)=1, B(2)=2, B(3)=3, B(4)=4
3.利用GUI或命令輸入窗口進行變量定義與賦值。
1)在ansys命令輸入窗口直接1,2輸入。
展開 需要說明的是對應基于離散變量的優(yōu)化,采用不同的響應面構(gòu)建方法和優(yōu)化算法,效率相差特別大。即使對于本問題節(jié)點數(shù)目5個,單元數(shù)目6個。選擇的響應面構(gòu)建方法和優(yōu)化算法不同,也有可能計算幾個小時。對于本問題采用Latinhypercube sampling (LHS拉丁超立方體抽樣)生成試驗設計,采用神經(jīng)網(wǎng)絡方法來構(gòu)建響應面,實際證明效率較高。
另外對應基于離散變量的優(yōu)化分析,目前workbench只支持篩選法和混合整數(shù)序列二次規(guī)劃優(yōu)化算法。
另外,其實該問題也可以完全采用ansys經(jīng)典完成程序優(yōu)化設計,利用離散編碼陷阱實現(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ù)變量離散化后,基于偏導算法的一階優(yōu)化方法將不能處理該類問題。
6.最終解碼得到的材料規(guī)格往往需要返回到分析中去,才可以得到真實的狀態(tài)變量數(shù)值。
完全采用ansys優(yōu)化的具體方法這里不在提供。
這里順便說下ansys和workbench優(yōu)化分析的優(yōu)缺點:
1.采用ansys可以很方面的實現(xiàn)網(wǎng)絡結(jié)構(gòu)的編程和變量提取后控制。對于類似問題,如果分析的模型更大,在workbench中建模可以說是一件極其痛苦的事情。
2.workbench提供了比ansys更多的優(yōu)化算法。自身就擁有離散變量的優(yōu)化功能。這也或許是現(xiàn)在ansys舍棄經(jīng)典優(yōu)化界面的一個很大原因。
展開 ansys優(yōu)化,因變量和目標函數(shù)都沒有變化【急】【急】
ansys優(yōu)化之后,為什么只有自變量發(fā)生了變化,而因變量和目標函數(shù)都沒有變化,還是和初始值一樣?也進行了四五十次的迭代,也有顯示最優(yōu)解,只是因變量和目標函數(shù)都沒有變化,疑惑中。

ansys給變量賦值的相關專題、標簽、搜索
ansys給變量賦值的最新內(nèi)容
在其他語言中求最大值非常容易,比如有三個變量分別是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
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坐標值相同
*do,i,1,10
*do,j
ANSYS中的變量總的來說分為兩大類:一類是標量參數(shù);一類是數(shù)組參數(shù)。其意義與C語言中的參數(shù)和數(shù)組類似。標量參數(shù)是指單個的變量,而數(shù)組則是由一系列具有相同意義的數(shù)據(jù)組成。
一:標量參數(shù)
標量參數(shù)分為兩種:數(shù)值型的和字符型的。
1:標量參數(shù)的定義或修改:可以使用*SET命令或直接寫出賦值表達式。修改時,只需改變數(shù)據(jù)即可。
例如:
*SET,LENGTH,10 !定義了一個名為LENGTH的數(shù)值型變量
舉幾個簡單的例子如下:
ans_sendcommand “$set,ansVar,$tkVar”
將變量tkVar的值傳遞給ans_Var
set tkVar [ans_getvalue PARM,ansVar,Value]
獲取ANSYS中的變量ansVar,賦值給tkVar
set tkArray [ans_vector ansArray]
獲取ANSYS中的數(shù)組ansArray
問題描述:
一平面結(jié)構(gòu)鋼組成的鋼管桁架,受到載荷(單位N)和約束如下圖所示。
實際工程中,為了制造方便,通常選取單元1和單元2為一根桿(同一規(guī)格,桿總長為4m),單元3和4為一根桿(同一規(guī)格,桿總長5m)。節(jié)點2和4分別為中點。單元5和6為同一規(guī)格。
假設實際可供選擇的鋼管規(guī)格如下:共計14種
求同時滿足:
1.最大應力比RATIO不大于0.6(最大應力比等于最大應力與屈服應力比值
很多人發(fā)帖詢問怎么定義函數(shù),怎么定義數(shù)組,如何使用函數(shù),看來這方面對于初學者確是一個難點,為了讓大家了解并利用此功能,本人根據(jù)自己的理解作出如下總結(jié):
一.參數(shù)介紹
1.參數(shù)的概念和類型:
參數(shù)是指APDL中的變量與數(shù)組。
變量參數(shù)有兩種類型:數(shù)值型和字符型。
數(shù)組參數(shù)有三種類型:數(shù)值型,字符型,和表,表是一種特殊的數(shù)值型數(shù)組,允許自動進行線性差值。
在APDL中任何參數(shù)都不需要單獨聲明參數(shù)(不同于
ansys優(yōu)化,因變量和目標函數(shù)都沒有變化【急】【急】
ansys優(yōu)化之后,為什么只有自變量發(fā)生了變化,而因變量和目標函數(shù)都沒有變化,還是和初始值一樣?也進行了四五十次的迭代,也有顯示最優(yōu)解,只是因變量和目標函數(shù)都沒有變化,疑惑中。