Professional Documents
Culture Documents
=
Applying Galerkin weighted residual method
= 0
x2
= 0
x1
x2
+
x1
= 0 (1)
+
=
+
1
+ =
2 1
6 1 2
1 1 1
2 1
= kA
+
1 1
6 1 2
T=k11\f11;
T1(1)=T(1);
T2(1)=T(2);
T3(1)=T(3);
F';
for i=1:60;
k1=C+alpha*dt*K;
k2=C-(1-alpha)*K*dt;
f1=k2*T+F'*dt;
T=k1\f1;
T=[85
T(2:nnode)];
T1(1+i)=T(1);
T2(1+i)=T(2);
T3(1+i)=T(3);
t=dt+i*dt;
hold on;
plot(t,T(1),'+ -', t,T(2),'+ -',t,T(3),'+ -')
end
hold off;
for i=1:nelem
count=count+1;
z=i;
gnode(1)=z;
gnode(2)=gnode(1)+1;
for j=1:2
for k=1:2
elenode(j,k)=dN(j,k,0,h);
elenode1(j,k)=N(j,k,0,h);
end
end
for j=1:2
for k=1:2
kk=elenode(j,k);
mm=elenode1(j,k);
m=gnode(j);n=gnode(k);
k_mat(m,n)=k_mat(m,n)+kk;
m_mat(m,n)=m_mat(m,n)+mm;
end
end
end
K=k_mat*kx*A+hx*p*m_mat;
C=rho*c*A*m_mat;
+ ()
= lim
0
+ ()
Substituting for in + =
+ ()
+ Ka() = f
+1
+ = +1 = ai + fi
( + = )
Substituting for in + =
( )
+ Ka() = f
( )
+ = ()
+ + = + f +
+ +1 = i + f+1
( + = )
+ ()
+ + ()
=
2
+ + ()
=
2
We have
+ ()
+ + () + + ()
+K
=
2
2
[ + + ]
+
+ =
() +
2
2
2
+ +1
+1 =
+
2
2
2
+ = 0
1 =
+1
= + 1 = 0 +1 = + =
+1
2 =
=
+1
1
1 2
1
= ;
=
If we take = 1
If we take = 1
+1
+ =
1
1
1 + +1 +
=0
1
+
+1
1
+
+1
1
1
1
1
+ +1 + + +1
+ +1 = 0
2
2
2
2
+
+ +1
+1 =
+
2
2
2
+ ) +1 = 1 + 1 + +1
1
Vibration- FEM
Vibration-Example
Vibration-Example
= = , = = 32.2 12 / 2
0.283
=
= 7.324 104
32.2 12
Vibration-Example
Vibration-Example
Matlab code-stiff_mat.m
a=0;b=0.10;nelem=20;
nnode=nelem+1;
h=b/nelem;
gnode=zeros(1,2);
elenode=zeros(2,2);
elenode1=zeros(2,2);
k_mat=zeros(nnode,nnode);
m_mat=zeros(nnode,nnode);
global E A rho;
E=200e9;
A=pi*.10^2/4;
rho=7800;
for i=1:nelem
z=i;
gnode(1)=z;
gnode(2)=gnode(1)+1;
for j=1:2
for k=1:2
elenode(j,k)=dN(j,k,0,h);
elenode1(j,k)=N(j,k,0,h);
end
end
for j=1:2
for k=1:2
kk=elenode(j,k);
mm=elenode1(j,k);
m=gnode(j);n=gnode(k);
k_mat(m,n)=k_mat(m,n)+kk;
m_mat(m,n)=m_mat(m,n)+mm;
end
end
end
K=k_mat*E*A;
M=rho*A*m_mat;
Matlab code-vibration.m
Other prograns N.m, dN.m and
functions are the same as the
general 1D program
clear all;
clc;
clf;
stiff_mat;
M1=M(2:nnode,2:nnode);
K1=K(2:nnode,2:nnode);
y1=zeros(nelem,1);
y2=zeros(nelem,1);
y3=zeros(nelem,1);
y4=zeros(nelem,1);
y5=zeros(nelem,1);
[c d]=eig(K1,M1);
for j=1:nelem
y1(j)=c(j,1);
y2(j)=c(j,2);
y3(j)=c(j,3);
end
y1=[0 y1']';
y2=[0 y2']';
y3=[0 y3']';
x=linspace(a,b,nnode);
plot(x,y1,x,y2,x,y3)
from which the interpolation functions are obtained via the following
sequence
x L;
L L^2];
u1));
>> N.'
ans =
u2));
u3));
(2*x^2)/L^2 - (3*x)/L + 1
(4*x)/L - (4*x^2)/L^2
(2*x^2)/L^2 - x/L
varies from -1 to 1
= 1 = 0 1 + 2
= 1
= 0 = 0 = 2
= 1 = 0 + 1 + 2 = 3
1
1
2 = 1
3
1
1 1 0
0 0 1
1 1 2
0
1 1 1
1 = 1 0 0
2
1 1 1
0
= 1 2 . 1
2
1
2
3
syms U u1 u2 u3 a0 a1 a2 x L r;
U=[u1;u2;u3];
C=[1 -1 1; 1 0 0; 1 1 1];
a=inv(C)*U;
N=[1 r r^2]*a;
N=collect(N,u1);
u2=0;u3=0;
p=eval(coeffs(expand(N), u1));
N1=p(1,2);
syms u2;
u1=0;u3=0;
p=eval(coeffs(expand(N), u2));
N2=p(1,2);
syms u3;
u1=0;u2=0;
p=eval(coeffs(expand(N), u3));
N3=p(1,2);
N=[N1 N2 N3];
N1= r^2/2 - r/2
N2= 1 - r^2
N3= r^2/2 + r/2
1
1 = 1
2
1
2 = 1 +
2
3 = (1 + )(1 )
f11=[f11;zeros(2,1)]; f22=[zeros(2,1);f22];
fg=f11+f22;
Kg(1,1)=1;Kg(1,2)=0;Kg(1,3)=0;fg(1)=100;
Kg(5,5)=Kg(5,5)+hx*A;
fg(5)=fg(5)+hx*A*20;
T=Kg\fg;
x=[0 .02 .04 .06 .08];
m=sqrt(hx*p/(kx*A));
T0=20;Tw=100;L=0.08;
T1=T0+(Tw-T0)*cosh(m*(L-x))/cosh(m*L);
TT=[T T1'];
display(TT);
plot(x',T,'rd-',x',T1','b+-')
Linear
100
100
100
75.2737
75.2269
75.0387
60.1591
60.0864
59.7901
52.0278
51.8858
51.5633
49.4659
49.2468
48.9064
100
quadratic
exact
linear
90
80
Temperature
Exact
70
60
50
40
0.01
0.02
0.03
0.04
Length
0.05
0.06
0.07
0.08