Académique Documents
Professionnel Documents
Culture Documents
> with(linalg):
1
M1
V1
2
M2
E,I,A,L
V2
0 1 0
0
a :=
2
L3
1 L L
0 1 2 L 3 L 2
> d:=matrix([[v1], [theta1], [v2], [theta2]]);
v1
1
d :=
v2
2
> dd:=matrix([[1, x, x^2, x^3]]);
dd := [1
> N:=multiply(dd,inverse(a));
3 x2 2 x3
N := 1 2 + 3
L
L
x2
x3]
2 x2 x3
x
+ 2
L
L
3 x2
3 x2
2 x3
N1, 1 := 1
L2
L2
2 x3
L3
x2 x3
+
L L2
L3
2 x2 x3
N1, 2 := x
+ 2
L
L
N1, 3 :=
3 x2
L2
2 x3
L3
x2 x3
N1, 4 :=
+
L L2
> vx:=N[1,1]*v1+N[1,2]*theta1+N[1,3]*v2+N[1,4]*theta2;
3 x2 2 x3
x2 x3
3 x2 2 x3
2 x2 x3
vx := 1 2 + 3 v1 + x
+ 2 1 + 2 3 v2 +
+
L
L
L
L
L
L
L L2
d 2 x
Strain and displacement relation: = y
dx 2
> epsilon:=y*diff(diff(vx,x),x);
6 12 x
4 6x
6 12 x
2 6x
:= y 2 + 3 v1 + + 2 1 + 2 3 v2 + + 2 2
L
L
L
L L
L
L L
Stress and strain relation: = E
> sigma:=E*epsilon;
6 12 x
4 6x
6 12 x
2 6x
:= E y 2 + 3 v1 + + 2 1 + 2 3 v2 + + 2 2
L
L
L
L L
L
L L
Nodal Forces:
> P:=matrix([[V1],[M1],[V2],[M2]]);
V1
M1
P :=
V2
M2
Potential energy of nodal load:
> Omega:=multiply(transpose(d),-P);
:= [v1 V1 1 M1 v2 V2 2 M2]
Total potential energy:
> tpe:=int(1/2*sigma*epsilon*dA,x=0..L)-v1*V1-theta1*M1-v2*V2-theta2
*M2:
> tpe:=applyrule(y^2*dA=I,tpe);
1
12 v1 6 1 12 v2 6 2
tpe := I E L3 3 + 2
+ 2
3
6
L
L
L
L
+
1
6 v1 4 1 6 v2 2 2 12 v1 6 1 12 v2 6 2
I E L2 2
+ 2
+ 2
+ 2
L
L L3
2
L
L
L
L3
L
2
1
6 v1 4 1 6 v2 2 2
v1 V1 1 M1 v2 V2 2 M2
+ I E L 2
+ 2
L
L
2
L
L
Stiffness matrix of prismatic beam member:
> k:=matrix(4,4,[]):
> for i from 1 to 4 do
for j from 1 to 4 do
k[i,j]:=diff(diff(tpe,d[i,1]),d[j,1]);
od;
od;
> print(k);
12 I E
6 I E -12 I E 6 I E
2
3
2
L3
L
L
L
6IE
4IE
-6 I E
2 I E
2
L2
L
L
L
-12 I E -6 I E 12 I E -6 I E
3
2
3
2
L
L
L
L
6IE
2
I
E
-6
I
E
4
I
E
L
L
L2
L2
..............................................................................................................................................###
2) Nonprismatic member
Assume: Linear variation of moment of inertia: I = (1-x/L)*I1+x/L*I2
>
I1
I2
E,L
>
> Ix:=(1-x/L)*I1+x/L*I2;
x
x I2
Ix := 1 I1 +
L
L
Total potential energy:
> tpe:=expand(int(1/2*sigma*epsilon/y^2*Ix,x=0..L))-v1*V1-theta1*M1v2*V2-theta2*M2;
tpe :=
3 E v12 I1
L3
6 E v1 v2 I2
L3
3 E v12 I2
L3
+
3 E 1 I1 4 E v1 1 I1 2 E v1 1 I2 6 E v1 v2 I1
+
+
+
2L
L2
L2
L3
2 E v1 2 I1
L2
4 E v1 2 I2
L2
E 1 I2 3 E v22 I1 3 E v22 I2 E 2 I1
+
+
+
+
2L
2L
L3
L3
2
3 E 2 I2 4 E 1 v2 I1 2 E 1 v2 I2 E 1 2 I1 E 1 2 I2 2 E v2 2 I1
+
+
+
2L
L
L
L2
L2
L2
2
4 E v2 2 I2
v1 V1 1 M1 v2 V2 2 M2
L2
Stiffness matrix of nonprismatic member:
> k:=matrix(4,4,[]):
> for i from 1 to 4 do
for j from 1 to 4 do
k[i,j]:=diff(diff(tpe,d[i,1]),d[j,1]);
od;
od;
>
print(k);
6 E I1 6 E I2
L3 + L3
4 E I1 2 E I2
+
L2
L2
6 E I1 6 E I2
L
L3
2 E I1 4 E I2
L2
L2
4 E I1
2 E I2
L2
L2
3 E I1 E I2
+
L
L
4 E I1 2 E I2
L2
L2
E I1 E I2
+
L
L
6 E I1
L3
4 E I1
L2
6 E I1
6 E I2
L3
2 E I2
L2
6 E I2
+
L3
L3
2 E I1 4 E I2
L2
L2
4 E I2
L2
L2
E I1 E I2
L
L
2 E I1 4 E I2
L2
L2
E I1 3 E I2
+
L
L
2 E I1
>
......................................................................................................................................................................#
##