1. 程式人生 > 實用技巧 >ANSYS-劃分網格後匯出單元和結點座標等資訊

ANSYS-劃分網格後匯出單元和結點座標等資訊

參考連結:https://blog.csdn.net/liuxqsmile/article/details/1887366
原作者:liuxqsmile

本文的目的是將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])

我只用杆單元和簡單的四邊形單元試了一下,沒有問題。對於實體單元,每個單元中僅有各個頂點的列表,不能直接生成實體的各個面。