Vous êtes sur la page 1sur 5

> restart:

> with(linalg):

Derive Stiffness matrix of a beam


1) Prismatic Beam

1
M1

V1

2
M2

E,I,A,L

V2

Assume: a qubic displacement function:


> vx:=a1+a2*x+a3*x^2+a4*x^3;
vx := a1 + a2 x + a3 x2 + a4 x3
Differentiate vx with respect to . x: ---> slope at any x distance:
> diff_vx:=diff(vx,x);
diff_vx := a2 + 2 a3 x + 3 a4 x2
Determine shape functions : coefficients a1..a4 by applying boundary conditions; @ x = 0.
-----> vx = v1, d(vx)/dx = 1, @ x = L --->vx = v2, d(vx)/dx = 2
0 a1
a1
v1 1 0 0


0 1 0
0 a2
1
2
3 a2
. Hence shape functions can
vx = [1 x x x ] and =
a3
v2 1 L L2
L3 a3



a4
2 0 1 2 L 3 L2 a4
be determined as follows:
> a:=matrix([[1, 0, 0, 0], [0, 1, 0, 0], [1, L, L^2, L^3], [0, 1,
2*L, 3*L^2]]);
0
1 0 0

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

> for i from 1 to 4 do


N[1,i]:=N[1,i]
od;

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

>
......................................................................................................................................................................#
##

Vous aimerez peut-être aussi