
發布
注冊
/
登錄ansys如何給數組賦值的案例
Ansys使用APDL 批量創建數組,一維數組名設置循環變量,與二維數組等效
APDL 批量創建數組,在一維數組名上做文章,實現其與二維數組近似相同效果
首先批量創建了8個一維數組,數組名中的循環變量j使用%j%
finish
/prep7*do,j,1,8
*dim,List%j%,array,10,1
*enddo
然后給八個數組里的每一個元素賦值,總共80個元素
并且以數組元素值作為節點編號,同數組的y坐標值相同
*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
最終效果如下
注:轉自 https://blog.csdn.net/weixin_43717845/article/details/104567039
小白一枚,本為學習之余的記錄,希望能讓些跟我一樣的初學者少走彎路,寫的也不盡嚴謹,有疏漏錯誤之處也請各位專家指出,不吝賜教……多謝
展開 ANSYS如何將數組中數據導入表中命令流并用曲線畫出
ANSYS如何將數組中數據導入表中命令流并用曲線畫出
問題描述:將路徑數據導出為數組后,直接將parameter->array parameter->define/edit中的數組用plot->array parameter畫出的是柱狀圖,如圖1所示,但是現在想降柱狀圖轉化為曲線圖。
解決思路:
1)將路徑數據導出后,數組的弟四列是路徑長度S,第五列是ux,我們想用S做橫坐標,ux做縱坐標畫出曲線。數組是ARUX02(21,30,1),如圖2。定義一個表E_TABLE(21,1,1),將數組的弟四列路徑長度符給表的弟0列,將數組弟五列ux符給表的弟1列。
2)導出表中的數據,彈出窗口如圖3所示。
3)執行繪制曲線命令。
parameter->array parameter->define/edit中的PARX=E_TABLE(1,0,1),PARY=E_TABLE(1,0,1),
結果如圖4所示。
展開 ansys,熱流密度以數組形式加載的過程。
建立了數組,用GUI加載的過程
基于ANSYS參數化數組的塔筒建模 ¥12.5
塔筒幾何模型
塔筒有限元模型
塔筒模態分析
塔筒靜力分析
附件包括5個文件,其中jianmo-10-11.txt、loads.txt、mat.txt、modal.txt和shuzu-10-11.txt。順序為先mat.txt再shuzu-10-11.txt再jianmo-10-11.txt。最后modal.txt和loads.txt都可以求解。

【ANSYS經驗技巧】- 學會使用變量數組函數(轉載)
很多人發帖詢問怎么定義函數,怎么定義數組,如何使用函數,看來這方面對于初學者確是一個難點,為了讓大家了解并利用此功能,本人根據自己的理解作出如下總結:
一.參數介紹
1.參數的概念和類型:
參數是指APDL中的變量與數組。
變量參數有兩種類型:數值型和字符型。
數組參數有三種類型:數值型,字符型,和表,表是一種特殊的數值型數組,允許自動進行線性差值。
在APDL中任何參數都不需要單獨聲明參數(不同于C語言)。數值型參數,無論整形還是實型都按照雙精度進行存儲,被使用但未被賦值的參數程序將默認一個接近0的極小值。字符型參數儲存字符串,賦值方法是將字符創括在一對單引號中(最大長度8個字符)。
2.參數命名規則
1)必須以字母開頭,長度不超過32個字符
2)只能包含字母,數值和下劃線。
3)一般不能以下劃線開頭,以下劃線開頭的參數為系統隱含參數,只用于GUI和宏中。
4)以下劃線結尾的參數用*STATUS命令或組列表顯示,用*DEL刪除。
5)不能使用宏專用的局部參數名:ARG1~ARG9和AR10~AR99.
6)不能使用*ABBR命令定義的縮寫。
7)不能使用ANSYS表示子(Lable)如TEMP,UX,PRES等等。
展開 用table數組定義軸承剛度,剛度值隨轉速變化,定義之后如何使用這個剛度值求解轉子系統臨界轉速?
我用214單元模擬軸承求解轉子系統的臨界轉速,把剛度設置為轉速的函數,但是把命令流輸入之后ANSYS到了求解部分就自動停止,不進行計算。下面是定義table數組和求解部分的命令流,請前輩指點下錯誤出在哪里。
另外,出問題后我查過file.err里面有一個錯誤提示大意是:omegas missing。
/prep7
l0=1.3
omega1=0
omega2=4000
omega3=8000
kxx1=3.2e6
kxx2=3e6
kxx3=3.5e6
kyy1=8e6
kyy2=8.2e6
kyy3=8.6e6
cx=2e-4
cy=1e-3
*dim,kxx,table,3,1,1,omegas
kxx(1,1)=kxx1,kxx2,kxx3
kxx(1,0)=omega1,omega2,omega3
*dim,kyy,table,3,1,1,zhuansu
kxx(1,1)=kyy1,kyy2,kyy3
kxx(1,0)=omega1,omega2,omega3
et,1,185,,2
et,2,214
keyopt,2,3,1
et,3,214
keyopt,3,3,1
et,4,21
r,1
r,2,%kxx%,%kxx%,,,cx,cx
r,3,%kyy%,%kyy%,,,cy,cy
/solu
nmod=10
antype,modal
modopt,qrdamp,nmod,,,on
mxpand,nmod,,,yes
coriolis,on,,,on
*do,i,1,3
omega,,,rotation(i,1)*2*acos(-1)/60
solve
*enddo
finish
展開 Ansys Zemax|如何自定義優化操作數
雖然Zemax OpticStudio有300多個內建優化操作數,但是還是會有一些特殊情況是這300多個操作數無法涵蓋的。這就要求使用者根據要求計算出某些特定的數值,將這些數值返回到某個操作數,再對此操作數進行優化。
Zemax OpticStudio支持用戶編程,計算出特定的數據,再通過Merit Function Editor(MFE)中的操作數來定義該數據。這些數據可以是獨立于Zemax OpticStudio計算的,也可以是由Zemax OpticStudio計算的但是沒有具體的優化操作數表達的。當然,不管是上述哪種情況,使用者都可以用以下兩種方法計算此數值:
使用ZPL宏語言
使用外部定義和匯編程序
ZPL宏具有容易編寫、執行快速、以及和Zemax OpticStudio集成較好的特點。只要使用者具備一點點的編程經驗就可以編程計算。
另外ZPLM優化操作數可以用于從評價函數中調用ZPL宏,這樣使用者就可以直接使用宏計算出結果并返回到評價函數編輯器中從而實現優化。
本文我們將介紹如何使用宏計算并通過操作數ZPLM將數值返回給評價函數。
附件下載
聯系工作人員獲取附件
使用操作數ZPLM返回宏計算的數值
如果您不熟悉如何創建、編輯、保存和執行宏,推薦閱讀“編程語言 (ZPL) 簡介”,然后再繼續本練習。
現在,假設我們需要計算并優化Working F/#。當然Zemax OpticStudio中操作數WFNO已經可以解決此問題,本文只是舉一個例子。所以我們可以先假設操作數WFNO不存在,我們需要用宏計算該數值并返回到評價函數中進行優化。Working F/#的定義如下:
其中n為像方空間的折射率, θ為實際邊緣光線(Real Marginal Ray)在像空間的角度。
展開