FEM-Course-Matlab/15.温度应力问题有限元编程/Main.m

35 lines
1.6 KiB
Mathematica
Raw Normal View History

2024-01-28 16:46:36 +00:00
clear all;clc;close all;
%<EFBFBD><EFBFBD>ȡinp<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢNodes<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>ϢElements
[Nodes, Elements] = Readmesh( 'Job-1.inp' );
% Nodes=[0,0,0;10 0 0;10 10 0;0 10 0;0,0,10;10 0 10;10 10 10;0 10 10];
% Elements=[1 2 3 4 5 6 7 8]
k=1;%<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
dT=1;%<EFBFBD>ȱ<EFBFBD><EFBFBD>
epsilon0=[0;0;k*dT;0;0;0];%<EFBFBD><EFBFBD>ʼӦ<EFBFBD><EFBFBD>
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Forces=[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1,2,3<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x,y,z) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inp<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
% Forces=[5 2 -100;6 2 -100;56 2 -100;57 2 -100;58 2 -100;59 2 -100;60 2 -100;61 2 -100;62 2 -100;];
%Լ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>inp<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
% ConNumber=[1 2 3 4];
ConNumber=[1, 2, 3, 13, 14, 15, 25, 26, 27,10, 11, 12, 22, 23, 24, 34, 35, 36];
% ConNumber=[9,12, 13, 14, 116, 117, 118, 119, 120, 121, 122, 141, 142, 143, 144, 145....
% ,146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161....
% ,516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531....
% ,532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547....
% ,548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563....
% ,564,];
%Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Constraints=[ǿ<EFBFBD><EFBFBD>λ<EFBFBD>ƽڵ<EFBFBD> ǿ<EFBFBD><EFBFBD>λ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD>(1,2,3<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x,y,z) ǿ<EFBFBD><EFBFBD>λ<EFBFBD>ƴ<EFBFBD>С]
Constraints=zeros(size(ConNumber,2)*3,3);
for i=1:size(ConNumber,2)
Constraints(3*i-2:3*i,:)=[ConNumber(i) 1 0;ConNumber(i) 2 0;ConNumber(i) 3 0;];
end
E=210000; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
u=0.3; %<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D
D=LinearIsotropicD(E,u);
U=StaticsSolver(E,u,epsilon0,Constraints,Nodes,Elements);
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
OutputTXT = fopen('Results.txt','w'); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
OutputResults(OutputTXT,Nodes,Elements,D,U,epsilon0)%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
fclose(OutputTXT);
edit('Results.txt')