验证ANSYS输出的整体K和M
2017-01-16 by:CAE仿真在线 来源:互联网
% 目的:验证ANSYS中输出整体刚度矩阵K和整体质量矩阵M % 以一个6单元简支梁模型计算结果为例,相应ANSYS代码见例1所示。 % % 验证基础: % (1) 基于模态分析中,验证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) |
开放分享:优质有限元技术文章,助你自学成才
相关标签搜索:验证ANSYS输出的整体K和M Ansys有限元培训 Ansys workbench培训 ansys视频教程 ansys workbench教程 ansys APDL经典教程 ansys资料下载 ansys技术咨询 ansys基础知识 ansys代做 Fluent、CFX流体分析 HFSS电磁分析 Abaqus培训
编辑