
發布
注冊
/
登錄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
小白一枚,本為學習之余的記錄,希望能讓些跟我一樣的初學者少走彎路,寫的也不盡嚴謹,有疏漏錯誤之處也請各位專家指出,不吝賜教……多謝
展開 [問題討論]使用Python學習CFD初級理論系列一數組操作(7/10)
numpy的數值計算實際上調用的是c語言操作,按道理計算速度應該不會慢才對。
1
numpy的數組操作
在計算量集中的程序中,使用numpy內置的函數操作能夠有效地提高計算性能。下面來舉一個例子,考慮到CFD中經常會遇到如下的迭代式:
假設給定初始值,可以通過迭代計算得到的值。
采用迭代方法的代碼可寫成以下形式。
import numpy as np
u = np.array([0,1,2,3,4,5])
un= u.copy()
for i in range(1,len(u)):
print(u[i] - u[i-1])
輸出結果為:
1
1
1
1
1
其實可以改用numpy內置數組操作來實現,代碼寫成以下形式。
import numpy as np
u = np.array([0,1,2,3,4,5])
print(u[1:] - u[0:-1])
輸出結果為:
[1 1 1 1 1]
兩者結果一致。這里采用numpy數組分片功能來進行計算,來看看u[1:]與u[0:-1]到底是多少。
展開 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經驗技巧】- 學會使用變量數組函數(轉載)
c) *DIM,C,char,4,1,1
C(1)=‘a’,‘b’,‘c’,‘d’
3)
利用*VEDIT命令或等價GUI utility menu——parameter——array parameters——define/edit定義數組(不能編輯字符型數組)
填入適當的值后選擇file——apply/quit,至此一個數組編輯完成
6
4)列表顯示數組參數)
通過*status
或GUI list——parameters(與變量顯示一樣的操作!)實現!
5)曲線圖形顯示數組參數)
使用*VPLOT或通過GUI:utility menu——plot——array parameter繪制數值型數組參數的列矢量,由于array類型數組的數據是無序的故只能用柱狀圖;
*vplot,parx,pary,y2,y3,…y8;
其中,parx是x軸上的列矢量名
Pary,y2….是y軸上映射的8個列矢量
例如:
*DIM,A,ARRAY,5,1,1
A(1)=1,2,3,4,5
*vplot,,A
6)刪除數組參數
刪除數組參數與刪除變量很類似,也可以用*set或“=“進行賦空值刪除,對于字符參數則賦值為‘’,刪除時只需刪除變量名及第一個元素的名稱,或使用utility menu——parameter——array parameter——define/edit。
舉例:刪除一個一維數組A(12,1,1)命令如下:
A(1)=
或*set,A(1)
7)數組的儲存和恢復——此操作基本與變量相同,請參看變量的操作。
四.表參數的概念和定義
由于表參數(table)不同于一般數組,所以在這里著重的講講:
1.table表類型參數是數值型的數組參數,與array數組類似,但包含0行0列(其他數組都是從1開始),每個面的下標值放在該面的0,0處。表的下標可以是遞增的整數或實數。
展開 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 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)在像空間的角度。
展開