
發布
注冊
/
登錄ansys矩陣錯誤的案例
如何從Ansys APDL中提取剛度矩陣與質量矩陣? ¥69
4.實戰應用與范例講解
接上一個矩陣的例子,其實際為Ansys中的一個應力集中問題模型所導出的剛度矩陣,那么我們如何來驗證其結果的準確性呢,這時我們就要用到結點力矩陣來進行驗證了,只要所解出來的位移與Ansys中可展示的結點位移相同,那么就證明我們的結果是準確無誤的。
以下我們來進行求解,導入結點力向量矩陣,使用任意求解器來進行求解:
此時我們便得到了X向量矩陣,也就是結點的位移矩陣。由于這里用的是高斯消元法,因此計算運行可能會有些慢。
然后我們打開查看結果:
與Ansys中List導出的結點位移結果一致。結果正確。
5.代碼購買說明
本源代碼理論上適用于Ansys APDL中導出的各種hb格式矩陣,無任何限制,購買后如有任何問題都可以私信本人進行答疑,不僅是此代碼方面,任何有關有限元軟件學習的問題也都可以向我請教,我也會盡我所能去幫助大家。
現在購買代碼限時附贈求解器程序源代碼以及結點力向量導出與使用方法、有限元理論教程,歡迎大家一起學習與討論。
展開 基于 MATLAB 的 ANSYS Harwell-Boeing 格式稀疏矩陣提取工具 —— 剛度矩陣與質量矩陣 ¥30
在有限元分析中,ANSYS 可以導出大規模稀疏矩陣(如剛度矩陣、質量矩陣),通常使用 Harwell-Boeing (HB) CCS 格式。這些矩陣對后續二次開發、動力學分析或自定義求解器非常重要,但由于其稀疏和壓縮存儲形式,直接在 MATLAB 中讀取和使用并不方便。
本文提供了 兩個 MATLAB 函數,可直接從 ANSYS 導出的 HB 矩陣文件中讀取并重構成 MATLAB 稀疏矩陣:
1.剛度矩陣提取函數
輸入:ANSYS 導出的剛度矩陣 HB 文件(stiff.txt)
輸出:MATLAB 稀疏矩陣 K,可直接用于動力學計算或驗證
支持自動對稱化,保證數值正確
2.質量矩陣提取函數
輸入:ANSYS 導出的質量矩陣 HB 文件(mass.txt)
輸出:MATLAB 稀疏矩陣 M
使用與剛度矩陣同樣的解析邏輯,無需額外修改
案例說明:
本文以高速鐵路接觸網結構為例,展示了如何將 ANSYS 中導出的稀疏剛度矩陣和質量矩陣,在 MATLAB 中完整展開,并進行后續動力學分析準備。
通過該方法,可以將大規模有限元矩陣快速轉化為 MATLAB 可操作形式,為自定義振動分析、模態分析及其他科研或工程應用提供基礎。
優勢與應用:
支持大規模稀疏矩陣解析
自動對稱化,保證數值精度
適用于剛度矩陣、質量矩陣、其他 HB 格式矩陣
可作為動力學求解器或后處理工具的基礎模塊
使用方法:
1.使用以下代碼對ansys中生成的質量及剛度矩陣進行提取,file,5,full(5為工作目錄下full文件的文件名,例如:filename.full)。
展開 提取ANSYS中的剛度矩陣和質量矩陣到MATLAB中進行二次開發 ¥88
最近在考慮自己編寫的程序和商用軟件的驗證問題,有限元結構分析中最關鍵的一環就是剛度矩陣的獲得,如果涉及到模態分析,還有質量矩陣。考慮到商業軟件的成熟性,可以用ANSYS生成的剛度矩陣做參照來看自己編寫的程序是否正確,因此如何提取ANSYS中結構的剛度矩陣,并進行隨后的驗證或者二次開發是一個問題。
https://www.yqgqt.org.cn/content/post/1796144
受上述帖子的啟發,使用MATLAB提取ANSYS中的剛度和質量矩陣,并進行模態分析驗證提取的矩陣的正確性。
首先,在ANSYS中使用HBMAT命令方法提取整體矩陣。
命令:HBMAT,fname,ext,--,form,matrx,rhs
其中:
Fname---輸出矩陣的路徑和文件名,缺省為當前工作路徑和當前工作文件名。
ext---輸出矩陣文件的擴展名,缺省為.matrix。
form---定義輸出矩陣文件的格式,其值可取:
=ASCII:ASCII碼格式;
=BIN:二進制格式。
matrix---定義輸出矩陣的類型,其值可取:
=STIFF:輸出剛度矩陣。可用于寫入了.FULL文件的任何類型的分析。
=MASS:輸出質量矩陣。可用于特征值屈曲、子結構分析、模態分析。
=DAMP:輸出阻尼矩陣。僅用于有阻尼的模態分析。
rhs---右邊項輸出控制(右邊項指用矩陣所表示方程的等號右端矢量,這里可為節點荷載向量),如rhs=YES則輸出,如rhs=NO則不輸出。
模態分析時,因僅LANB和QR法可生成完整的質量矩陣,因此也僅采用這兩種方法時才可使用HBMAT命令得到質量矩陣文件。
展開 Ansys Zemax | 如何使用瓊斯矩陣表面
在序列模式下,該模型表示為“瓊斯矩陣”表面;在非序列模式下該模型表示為“瓊斯矩陣”物體。“瓊斯矩陣”根據下式描述瓊斯向量(表示電場):
其中A, B, C, D均為復數。您可以在透鏡數據編輯器或非序列元件編輯器中分別輸入這些復參數的實部和虛部。
需要特別注意的是,瓊斯矩陣沒有定義Ez分量。這意味著使用瓊斯矩陣表面或物體的前提假設是入射光線需垂直于瓊斯矩陣表面,例如將瓊斯矩陣表面放置在平行光束中。該假設也與大部分實際應用環境相符:多數起偏器或波片都是在平行光或發散角較小的光束中使用的。
如果一束平行光垂直入射至瓊斯矩陣表面,則由于k·E = 0 并且向量k可表示為{0, 0, 1} 因此Ez必須為零,這樣我們就可以只用Ex和Ey分量來描述偏振。如果入射光的方向向量為其他任意值 {l, m, n},則OpticStudio將自動調整Ez或{Ex, Ey}以使k·E = 0且E的大小不會增加。這個調整有可能導致E的大小降低,進而導致透過能量的降低。
下表為一些典型偏振器件的瓊斯矩陣參數,該表格取自用戶手冊“The Setup Tab”一章:
使用實例
接下來是使用瓊斯矩陣模擬四分之一波片的實例。請聯系工作人員獲取附件。
需要注意的是:瓊斯矩陣表面不使用曲率半徑這一參數,該表面類型總是一個平面。這是因為該類型表面通常都是在垂直入射的平行光中使用。矩陣的每個參數可以在透鏡數據編輯器中的參數欄中輸入。
展開 
ANSYS模型剛度、質量矩陣快速提取小軟件—km_from_Ansys ¥88
模態分析完成后,在ansys中運行HBMAT命令得到十進制文件:
! 獲取矩陣十進制文件
/aux2
file,Frame,full !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!與文件名一致
hbmat,Stiff,txt,,ascii,stiffness,yes,yes !!!!!!!!!!!!!!!!!!!!!!! 提取剛度矩陣 存儲為Stiff.txt
hbmat,Mass,txt,,ascii,mass,yes,yes !!!!!!!!!!!!!!!!!!!!!!! 提取質量矩陣 存儲為Mass.txt
Finish
運行完成后,在根目錄下生成了四個文件,這便是轉換完成的十進制文件,接著需要做的就是將十進制文件轉換為矩陣形式,就是通過工具來實現。
(3). 通過工具實現提取
A. 打開運行工具,在km_from_Ansys程序目錄下,在Matlab命令行輸入km_from_Ansys,是初始界面
B.點擊“剛度文件路徑”后的“獲取路徑按鈕”,找到剛剛生成的十進制文件的存儲路徑,選擇剛度十進制文件Stiff.txt:
同樣的方法選擇好質量矩陣的文件路徑,和Mapping文件路徑(Mapping文件有兩個,選擇任意一個都可以),以及想要把提取完成后的矩陣文件存儲的路徑,全部選擇完成后,點擊“生成文件”。
C. 接著是大約幾秒的工具處理過程,根據模型大小不同,所需時間不等。處理完成后,根據提示輸入生成的矩陣文件的存儲文件名,比如“KM”。
,點擊“OK”,完成操作,提示信息為文件的存儲路徑,文件格式為Matlab數據文件格式。
D.
展開 Ansys Zemax | 如何使用瓊斯矩陣表面
在序列模式下,該模型表示為“瓊斯矩陣”表面;在非序列模式下該模型表示為“瓊斯矩陣”物體。“瓊斯矩陣”根據下式描述瓊斯向量(表示電場):
其中A, B, C, D均為復數。您可以在透鏡數據編輯器或非序列元件編輯器中分別輸入這些復參數的實部和虛部。
需要特別注意的是,瓊斯矩陣沒有定義Ez分量。這意味著使用瓊斯矩陣表面或物體的前提假設是入射光線需垂直于瓊斯矩陣表面,例如將瓊斯矩陣表面放置在平行光束中。該假設也與大部分實際應用環境相符:多數起偏器或波片都是在平行光或發散角較小的光束中使用的。
如果一束平行光垂直入射至瓊斯矩陣表面,則由于k·E = 0 并且向量k可表示為{0, 0, 1} 因此Ez必須為零,這樣我們就可以只用Ex和Ey分量來描述偏振。如果入射光的方向向量為其他任意值 {l, m, n},則OpticStudio將自動調整Ez或{Ex, Ey}以使k·E = 0且E的大小不會增加。這個調整有可能導致E的大小降低,進而導致透過能量的降低。
下表為一些典型偏振器件的瓊斯矩陣參數,該表格取自用戶手冊“The Setup Tab”一章:
使用實例
接下來是使用瓊斯矩陣模擬四分之一波片的實例。請聯系工作人員獲取附件。
需要注意的是:瓊斯矩陣表面不使用曲率半徑這一參數,該表面類型總是一個平面。這是因為該類型表面通常都是在垂直入射的平行光中使用。矩陣的每個參數可以在透鏡數據編輯器中的參數欄中輸入。在示例系統中,瓊斯矩陣設置為X軸方向的四分之一波片:
最簡單直接的觀察瓊斯矩陣表面所產生的影響的方法是使用偏振光瞳圖 (Polarization Pupil Map) 功能。該功能位于分析 (Analysis) 選項卡 > 偏振 (Polarization) 菜單中。
展開 ANSYS中整體、單元剛度和質量矩陣的提取
指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
! 這時用編輯器打開cp.out文件,可以看到按單元寫出的質量、剛度等矩
陣
ANSYS中整體、單元剛度和質量矩陣的提取.rar
ANSYS剛度矩陣的提取與解析(python解析)
就ansys如何提取剛度矩陣、如何解讀提取的文檔以及利用Python進行解析。
在workbench中實現整個過程的參數化過程除了前幾次文章介紹的模型與網格,還應該包括材料參數的參數化定義。利用Python進行二次開發能夠實現材料參數的自由定義,比如來源于excel表格或者文檔的數據,通過Python代碼的自動讀取,參與到實際的有限元分析進程中。
結構有限元最后的求解過程總是歸結到求解一個大型矩陣方程Ax=b,對于一些情況還需要考慮質量矩陣M和阻尼矩陣C。有限元程序在組裝完所有單元的剛度矩陣后,考慮模型所施加的約束和載荷,最終將剛度矩陣進行一些處理,例如乘大數法,變成Ax=b的形式,其中A是剛度矩陣,b是節點載荷,x為待求的節點位移,A和b全為已知量。
基本上各類有限元軟件均能夠提取模型的剛度矩陣,此次針對剛度矩陣的提取與解析做一個例子,采用的軟件是ANSYS經典。
在ANSYS中建立一個簡單的模型,劃分網格后共12個節點,定義材料參數,施加約束和載荷后求解。有限元模型如下所示。
待求解結束后,會在工作目錄下生成一個后綴為full的文件,之后即可進行剛度矩陣的提取。
通過主菜單,如下所示。
選擇Matrix后,彈出如下所示的界面。
其中,File to be read需要指定工作目錄下生成的full文件,Name of file to write為所導出剛度矩陣的文件名稱;Output matrix file format表示文件格式,還有Binary,生成的是文檔文件,選擇Ascii即可;Matrix to write表示輸出的是剛度矩陣/質量矩陣還是阻尼矩陣;RHS選項表示是否同時輸出右端項,也即是Ax=b中的b。
打開生成的剛度矩陣文檔,如下所示。
展開 <手搓有限元 干翻Ansys> 【1】C++實現矩陣Matrix類 實現基本運算
本系列文章致力于實現“手搓有限元,干翻Ansys的目標”,基本框架為前端顯示使用QT實現交互,后端計算采用Visual Studio C++。
Matrix類
矩陣基本類,用于有限元矩陣計算。
1、public function
1.1、構造函數與析構函數
構造函數用來初始化矩陣,析構函數用來釋放內存。
『分享』ANSYS中整體、單元剛度和質量矩陣的提取
、整體剛度和質量矩陣的提取。
該功能需要進行二次開發,由ansys形成
的二進制文件.full提取整體剛度和質量
矩陣。
基于ansys的一個用戶開發程序例子編
了一個程序(附件中)。
開發環境:compaq fortran 6.5
運行環境:win2000。
一個主文件:self.for,
另一個文件matrixout.f90用于矩陣輸出
binlib.lib為ansys提供的庫文件,將其
引入項目中(也可直接扔進debug目錄)
.full文件由子空間迭代模態分析獲得。
運行編譯后的可執行文件.exe
2、單元剛度和質量矩陣的提取。
/DEBUG命令。詳細說明可由以下轉載文章
finish
/clear
PI=3.1415926
w1=3
w2=10
w3=6
w4=1.2
r=.8
t=0.08
/PREP7
!*
ET,1,SHELL63
R,1,t
ET,2,MASS21
R,2,500,500,500,2000,2000,2000,
!*
UIMP,1,EX, , ,2e11
UIMP,1,NUXY, , ,0.3,
UIMP,1,DAMP, , ,0.2,
UIMP,1,DENS, , ,7800,
BLC4,0,0,w2,w1
ESIZE,1.5,0,
AMESH,all
NSEL,S,LOC,X,0.0
D,all, , , , , ,ALL, , , , ,
allsel,all
SFA,all,1,PRES,12
FINISH
/OUTPUT,cp,out,, !
展開 Ansys Zemax | 如何尋找幾何錯誤
概要
這篇文章講解了:
在非序列模式中造成幾何錯誤(錯誤10561)的各種原因。
如何診斷這些錯誤。
介紹
使用 OpticStudio 做設計的時候,必須得知道得到的結果是否是正確的。尤其是在非序列模式下,復雜的幾何模型可以互相嵌套,此時如何知道建模是否有問題呢?
在非序列模式或者混合序列模式中( Mixed Sequential/Non-Sequential Mode),都可能會遇到幾何錯誤。幾何錯誤會在光線遇到幾何體的某些區域并無法繼續追跡的情況下。這些錯誤會在軟件界面上彈出,并且同時寫入光線數據庫用于后期分析。事實上,看到這些錯誤未必證明系統有問題,相反,這些錯誤提示是用來告訴用戶更多的信息。分析這些錯誤信息可以讓人確信系統建模的正確性。
當遇到幾何錯誤的時候,最重要的是要知道它們是如何產生的,以及如何找到這些信息。在 OpticStudio 中內建了一些重要的工具來,它們可以回答上述問題。
幾何錯誤發生的原因不唯一。在本文中我們會介紹最常見的幾種幾何錯誤的原因,并且說明如何找到并修正它們。這些方法可以幫助您診斷復雜的文件,看看其中的幾何錯誤是否需要著重考慮。最常見的三種幾何錯誤的來源列表在下方:
原因
描述
錯誤的混合序列模式出口或入口位置
混合序列模式的入口和出口不允許和非序列物體相交,也不可以和非序列物體的某個表面完全重合。入口和出口必須和非序列物體保必須持超過膠合距離( glue distance )。
展開 
Ansys Zemax | 如何尋找幾何錯誤 - 第1部分
概要
這篇文章講解了:
在非序列模式中造成幾何錯誤(錯誤10561)的各種原因。
如何診斷這些錯誤。
介紹
使用 OpticStudio 做設計的時候,必須得知道得到的結果是否是正確的。尤其是在非序列模式下,復雜的幾何模型可以互相嵌套,此時如何知道建模是否有問題呢?
在非序列模式或者混合序列模式中( Mixed Sequential/Non-Sequential Mode),都可能會遇到幾何錯誤。幾何錯誤會在光線遇到幾何體的某些區域并無法繼續追跡的情況下。這些錯誤會在軟件界面上彈出,并且同時寫入光線數據庫用于后期分析。事實上,看到這些錯誤未必證明系統有問題,相反,這些錯誤提示是用來告訴用戶更多的信息。分析這些錯誤信息可以讓人確信系統建模的正確性。
當遇到幾何錯誤的時候,最重要的是要知道它們是如何產生的,以及如何找到這些信息。在 OpticStudio 中內建了一些重要的工具來,它們可以回答上述問題。
幾何錯誤發生的原因不唯一。在本文中我們會介紹最常見的幾種幾何錯誤的原因,并且說明如何找到并修正它們。這些方法可以幫助您診斷復雜的文件,看看其中的幾何錯誤是否需要著重考慮。最常見的三種幾何錯誤的來源列表在下方:
錯誤信息中包含了什么內容?
在混合系列模式出現幾何錯誤的時候,絕大多數情況都是因為錯誤的入口或出口位置擺放。如果切換進純非序列模式中,錯誤信息會包含很多有用的內容,即光線在何處發生了幾何錯誤。系統發出的幾何錯誤提示類似于以下這個:
該錯誤信息提示了第一根光線就沒能正確追跡。
第一行 – 第一行包含了非序列物體表面序號以及發出光線的光源物體序號。此處“非序列物體表面”指的是混合序列模式中作為非序列入口的那個表面。
展開 ANSYS出現的各種錯誤及解決方法
分析:這句警告說明模型里有重合的點
解決辦法:(1)把要導入的.iges文件復制到ANSYS默認保存的目錄,再次打開即可。(2)把要導入的.iges文件保存成.x-t格式的文件,使用SolidWorks等軟件。
對于稍微復雜的模型都不建議用iges格式,建議用.prt格式或者.x-t格式
另外推薦大家學習ansys workbench
它的接口做的比ansys強很多
6、negative radius on element
出現負半徑這樣的錯誤的原因:
ANSYS里規定軸對稱問題跟別的軟件不太一樣。
要求軸線必須是Y軸,而且模型必須畫在x軸的正半邊,如果你的模型畫到X的負半邊就
會有所謂負半徑的提示信息了。
7、input/output error on unit=9. possible full disk
可能:
1)ansys工作目錄所在的硬盤分區滿了;(可能性很大)
2)系統虛擬內存所在的硬盤分區滿了;(有一定可能性)
3)硬盤有壞道。(可能性較小)
有時實際上是其它錯誤 (如計算不收斂等),卻誤報為盤空間不夠,因此,需要觀察計算過程中盤空間的變化,以判斷是否確實是盤空間的問題。
8、在ansys里劃分網格時出現
16 ANGLE LESS THAN 2.5 DEGREES FOUND IN TRIANGLE FACETS OF VOLUME 1,WITH
SMALLEST ANGLE =1.2 POOR ELEMENT QUALITY OR MESH FAILURE MAY RESULT.
應該如何設置才能不出現這個警告。如果忽略在求解時會有什么問題么?
展開 Ansys Workbench 求解器主元警告或錯誤如何解決?
有沒有大神知道下圖的錯誤該如何解決?
ANSYS常見運行錯誤及其解決辦法
1.I/O設備口錯誤,I/O=26,錯誤,告訴你磁盤已滿,讓你清理磁盤。但是實際問題的解決不是這樣,是你的磁盤格式不對,將你的磁盤格式從FAT26改稱NTFS的就可以了。因為FAT26格式的要求你的單一文件不能大于4G。但是我們一旦做瞬態或者是諧相應的時候都很容易超過這個數,所以系統抱錯。
2.I/O設備口錯誤,I/O=9,錯誤,和上一個一樣告訴你磁盤已滿,讓你清理磁盤。但是實際問題是由于你的磁盤太碎了造成的,你只要進行磁盤碎片整理就可以了,這個問題就迎刃而解。
3.實體破壞。這個問題好像遇到的朋友不是特別的,我覺得大部分是由于布爾操作造成,它是一個很很的方法,但是如果用不好,隨之而來,也會帶來麻煩,所以建議大家慎用布爾操作。
4.非對稱單元,你在做模態求解的時候,出現錯誤,告訴你用非對稱求解器或者是阻尼求解器做。但實際上我覺得不是這個原因造成的,因為你選擇了這兩個求解器一般也是求不出來的。主要原因還是你的單元劃分的不好,造成Jabbic矩陣奇異,所以最好可以重新劃分單元。
5.plane單元只能劃分平行于X—Y面的面,其余方向的會出錯。
NO.0021
question:
在用Area Fillet對兩空間曲面進行倒角時出現以下錯誤:Area 6 offset could not fully converge to offset distance 10. Maximum error between the two surfaces is 1% of offset distance.請問這是什么錯誤?怎么解決?其中一個是圓柱接管表面,一個是碟形封頭表面。
answer:
ansys的布爾操作能力比較弱。
如果一定要在ansys里面做的話,那么你試試看先對線進行倒角,然后由倒角后的線形成
倒角的面。
建議最好用UG、PRO/E這類軟件生成實體模型然后導入到ansys。
展開