本文的目的是將ansys中劃分好的單元網格匯入到matlab中,並顯示。
方法很簡單(對三維實體單元不適用):
在ansys中建立模型,進行網格劃分,用命令"cdwrite,geom,filename,ans"將網格劃分結果匯出,filename是使用者指定的檔名。
該命令產生的filename.ans實際上是乙個ascii文字檔案,用記事本開啟,可以看到其中的資料記錄格式,前四行是字元,跳過,緊接著是 乙個列表,參照ansys中的模型資料,很容易看出這是模型中所有節點的座標表。從第四列開始分別是節點的x、y、z座標(注意其中有省略的項)。
如果x座標為負,則可能和前面一列的0接在一起,在matlab中被認為是乙個數,要做適當的處理。
再跳過節點座標表下的三行字元,下面是乙個單元和節點的關係表。表11列是單元的序號,12列之後是該單元包含的節點列表。如果是杆單元則有兩個節點,四邊形單元則有四個節點。
在matlab中讀入上述兩個列表(fopen開啟檔案,fgetl按行讀入字串,str2num將讀入的字串轉為資料,fclose關閉檔案),用patch命令顯示麵片:
patch('vertices',節點座標表,'faces',構成單元的節點列表,'facecolor',[.39,.47,.64])
我只用杆單元和簡單的四邊形單元試了一下,沒有問題。對於實體單元,每個單元中僅有各個頂點的列表,不能直接生成實體的各個面。
Ansys計算時間或者劃分網格時間統計
ansys 命令流記錄計算時間 litbro https get,cputime1,active,0,time,cpu 將該時刻的 cpu 時間記錄到 cputime1 中 solve 求解步驟,也可替換成其他步驟 get,cputime2,active,0,time,cpu 將該時刻的 cpu 時...
外部四面體網格匯入Ansys等軟體
首先將外部生成4 nodes四面體單元轉換為10 nodes四面體單元 solid92 每個單元新增6個節點,並按照要求對節點進行編碼。由於每個cell遍歷以確定節點標號,為了保證新增節點的有效性,在生成的節點集中會有重複節點。也就是節點的個數直接等於單元的個數乘以10。1.自動生成六面體網格,再用...
將ANSYS裡的資料匯入MATLAB的步驟
將ansys裡的資料匯入matlab的步驟 1 在ansys中定義乙個矩陣用來儲存資料 get,nodenum,node,0,count 得到模型的所有節點數 get,nd,node,0,num,min 得到模型的最小節點編號 dim,nodes,array,nodenum 定義乙個儲存節點的陣列 ...