驗證ANSYS輸出的整體K和M
2017-01-16 by:CAE仿真在線 來源:互聯(lián)網
% 目的:驗證ANSYS中輸出整體剛度矩陣K和整體質量矩陣M % 以一個6單元簡支梁模型計算結果為例,相應ANSYS代碼見例1所示。 % % 驗證基礎: % (1) 基于模態(tài)分析中,驗證ANSYS振型是否關于質量矩陣M歸一化 % (2) 特征值分析,由K,M計算特征值,即頻率和振型,與ANSYS計算結果對比 % % 注意事項: % (1) ANSYS輸出矩陣以Harwell-Boeing格式存儲,并且由于K,M的對稱性 % 僅存儲了對角線以下的元素,因此,在還原矩陣時,還應將對稱部分考慮進去。 % % (2) 關于如何輸出K,M的ANSYS命令流以及如何提取Harwell-Boeing格式矩陣, % 可參考前期整理的資料。 % % Author: J.H.Zhu % 2009-06-09 clc;clear; % 提取K,M K1=full(hb_to_msm('stiffness')); M1=full(hb_to_msm('mass')); % 還原對角線以上元素,使之為對稱陣 K =diag(diag(K1)/2)+K1-diag(diag(K1)); K = K+K'; M =diag(diag(M1)/2)+M1-diag(diag(M1)); M = M+M'; % 特征值分析,即計算頻率Freq和振型Phi [X1,Lamda]=eig(K,M); [nd,nd]=size(K); fdof=[1:18]'; pdof=[1,2,17]';% 約束自由度 fdof(pdof)=[]; [nfdof,nfdof]=size(X1); for j=1:nfdof; mnorm=sqrt(X1(:,j)'*M*X1(:,j)); X1(:,j)=X1(:,j)/mnorm; end [L,i]=sort(diag(Lamda)); X2=X1(:,i); Phi=zeros(18,nfdof); Phi(fdof,:)=X2; Freq = sqrt(L)/(2*pi); % 讀取ANSYS輸出的頻率與振型; Freq_ansys = load('Freq.txt'); for i =1:6 name=['mod0',num2str(i),'.txt']; Phi_ansys(:,i)=load(name); end % 計算兩者誤差 Err_F = norm(Freq(1:6)-Freq_ansys(1:6)); Err_Phi = norm(Phi(:,1:6)-Phi_ansys(:,1:6)); % 驗證歸一化 Phi_ansys(pdof,:)=[]; test = Phi_ansys'*M*Phi_ansys; bar3(test) |
開放分享:優(yōu)質有限元技術文章,助你自學成才
相關標簽搜索:驗證ANSYS輸出的整體K和M Ansys有限元培訓 Ansys workbench培訓 ansys視頻教程 ansys workbench教程 ansys APDL經典教程 ansys資料下載 ansys技術咨詢 ansys基礎知識 ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓
編輯