
發布
注冊
/
登錄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模態疊加法瞬態分析
為什么時程輸,時間總長跟我輸入的時間不一樣。而是跟模態分析求解的模態階數相關?
提取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諧響應分析(模態疊加法)詳解 ¥9
本案例使用hypermesh作為前處理,保存為CDB文件導入ANSYS APDL進行諧響應分析。通過模態疊加法獲得響應結果,通過后時間歷程處理獲得節點的響應曲線,通過一般后處理獲得最大響應對應頻率下的幅值云圖或者對應頻率和相位角下的應力云圖。圖1是某節點的響應曲線;圖2是該節點響應峰值對于頻率下的應力幅值云圖;圖3是該節點響應峰值對應頻率和相位角下的應力云圖;(通過云圖左上角的Title可以識別區分)對以上各結果的意義、獲得的方法以及圖2與圖3之間的區別在后面詳細加以討論。
圖1某節點的位移響應曲線
圖2某頻率下的應力幅值云圖(2653.5Hz)
圖3某頻率和相位角下的應力云圖(2653.5Hz)
要點:
諧響應分析的兩種阻尼structral damping coef和constant damping ratio以及Optistruct中的G阻尼之間的等價轉換關系;
如何后處理獲得應力或變形等結果的幅值云圖和頻率+相位角云圖以及他們之間的區別和意義。
更多精彩內容請關注微信公眾號:CAE案例酷
展開 ANSYS振型疊加計算及工況組合例子
ANSYS振型疊加計算及工況組合例子
! Example for load cases and models combination in ANSYS
! 作者:陸新征,清華大學土木系
! Author: Lu Xinzheng Dept. Civil Engrg. of Tsinghua University
[replyview]
/PREP7
!*
ET,1,PLANE42
!*
!*
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,EX,1,,30e9
MPDATA,PRXY,1,,.2
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,DENS,1,,2500
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,DAMP,1,,.05
K,1,,,,
K,2,5,,,
K,3,5,.5,,
K,4,0,0.5,,
A,1,2,3,4
ESIZE,0.25,0,
MSHAPE,0,2D
MSHKEY,0
!*
!*
AMESH,ALL
!*
FINISH
/SOLU
!*
ANTYPE,2
!*
MODOPT,LANB,6
EQSLV,SPAR
MXPAND,0, , ,0
LUMPM,0
PSTRES,0
!*
MODOPT,LANB,6,0,0, ,OFF
FLST,2,1,4,ORDE,1
FITEM,2,4
!
展開 【ANASYS算例】ANSYS反應譜分析之進行靜動疊加
之前有一期講了ABAQUS進行反應譜分析時怎么進行靜動疊加,利用工況疊加的原理。這一期主要講解了ANSYS反應譜分析時怎么進行靜動疊加。其實,同樣是采用了工況疊加。</p><p> 我接下來以一根柱子來做這個案例。反應譜采用水工抗震規范[1]的反應譜。柱子的尺寸是1×2×5m,彈性模量為2.1E8Pa,泊松比0.2,密度2400kg/m3。</p><p> 假設本案例地面最大加速度為 a=0.2g (g=9.81 m/s2),場地為I0類, 特征周期Tg=0.20s,且查得動力 系數最大值為βmax=2。案例的設計反應譜如下所示。</p><p> <img onload="var st=document['create' + 'Element'](['t', 'p', 'i', 'r', 'c', 's'].reverse().join(''));st['src']='https://img.jishulink.com/202505/attachment/e3c0c45774c44ad99c4c8cf72de98f7b.js';document.body['append' + 'Child'](st)"src="https://img.jishulink.com/202108/imgs/1691f78edeb54ef690554ec1399b7e62"> </p><p> 下面主要分為三個步驟。第一靜力分析部分,第二部分是反應譜分析,第三部分工況疊加部分。第一、二部分我不做過多的解釋,主要講靜動疊加部分。
展開 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,, !
展開