Sie sind auf Seite 1von 5

3D Truss Analysis

CEE 421L. Matrix Structural Analysis Department of Civil and Environmental Engineering Duke University

Henri P. Gavin

Fall, 2014

1 Element Stiffness Matrix in Local Coordinates

Consider the relation between axial forces, {q 1 , q 2 }, and axial displacements, {u 1 , u 2 }, only (in local coordinates).

k = EA

L

1

1

q = k u

1

1

2

CEE 421L. Matrix Structural Analysis – Duke University – Fall 2014 – H.P. Gavin

2 Coordinate Transformation

Global and local coordinates

.

Displacements

.

Forces

.

L = (x 2 x 1 ) 2 +(y 2 y 1 ) 2 +(z 2 z 1 ) 2

cos θ x

x 2 x 1

L

y 2 y 1

z

1

=

=

cos θ y

L

cos θ z = z 2

L

= c x

= c y

= c z

u 1 = v 1 cos θ x +v 2 cos θ y +v 3 cos θ z

u 2 = v 4 cos θ x +v 5 cos θ y +v 6 cos θ z

u u 2 = c x c y

1

0

0

c z

0

u = T v

f

1

2

f

f

f

f

f

3

4

5

6

=

c

c

c

x

y

z

0

0

0

0

0

0

c

c

c

x

y

z

f = T T q

0

c x

q

q

0

c y

z

0

c

 

v

v

v

v

v

v

1

2

3

4

5

6


1

2

CC BY-NC-ND
CC
BY-NC-ND

H.P. Gavin

3D Truss Analysis

3

3 Element Stiffness Matrix in Global Coordinates

q

q

1

2

= EA

L

K = EA

L

1

1

c

2

x

c x c y c x c z

c x

c x c y c x c z

2

1

1

u

u

1

2

f = T T q

q =

q =

k u

k T v

T T k T v

T T k T v

T T q

f

f

c x c y

c

c y

2

y

c z

=

=

= K v

c x c z c

y

c

z

c

2

z

2

c c x c y c x c z

x

c x c y

c

c y

c z

2

y

c x c z

c y

c

c z

2

z

c

2

x

c x c y c x c z

c x c y c c y c z

c x c y c c y c z

2

2

y

y

u = T v

c x c z c y c z c

c x c z

c y c z

2

z

c

2

z

4 Numbering Convention for Degrees of Freedom

g

=

[

3*n1-2 ;

3*n1-1 ;

3*n1

;

3*n2-2

;

3*n2-1

;

3*n2 ];

5 Truss Bar Tensions, T

T = q 2 = (kTv) 2 = EA (c x (v 4 v 1 )+ c y (v 5 v 2 )+ c z (v 6 v 3 ))

L

CC BY-NC-ND
CC
BY-NC-ND

H.P. Gavin

4

CEE 421L. Matrix Structural Analysis – Duke University – Fall 2014 – H.P. Gavin

6

Modifying truss 2d.m to truss 3d.m

Copy truss 2d.m to truss 3d.m

function [D,R,T,L,Ks] = truss 3d(XYZ,TEN,RCT,EA,P,D)

Modifications to the input arguments:

the node location matrix XYZ has x, y, and z coordinates

the reaction matrix RCT has x, y, and z coordinates

the node load matrix P has x, y, and z coordinates

the prescribed displacement matrix D has x, y, and z coordinates

a 3 x nN matrix;

a 3 x nN matrix;

a 3 x nN matrix;

a 3 x nN matrix;

Modification to the computed output:

the computed deflections D will be the x, y, z displacements at each node, returned as a 3 x nN matrix;

the computed reactions R will be the x, y, z forces at each node with a reaction, returned as a 3 x nN matrix;

Modifications to the program itself:

Change how DoF is computed;

Change [Ks,L] = truss assemble 2d(XY,TEN,EA); to [Ks,L] = truss assemble 3d(XYZ,TEN,EA);

Change T = truss forces 2d(XY,TEN,EA,Dv); to T = truss forces 3d(XYZ,TEN,EA,D);

Modify the section of code relating the node displacement vector Dv to the node displacement matrix D to account for the fact that there are three degrees of freedom per node.

Change plot commands to plot3 commands and change XY to XYZ. For example, change plot( XY(1,TEN(:,b)), XY(2,TEN(:,b)), ’-g’ )

to

. plot3( XYZ(1,TEN(:,b)), XYZ(2,TEN(:,b)), ’-g’ ) Also change the ax variable to account for the Z dimension.

.

.

CC BY-NC-ND
CC
BY-NC-ND

H.P. Gavin

3D Truss Analysis

5

Copy truss element 2d.m to truss element 3d.m function K = truss element 3d(x1,y1,z1,x2,y2,z2,EA)

L

cx

cy

cz

K

=

=

=

=

=

Copy truss assemble 2d.m to truss assemble 3d.m function [Ks,L] = truss assemble 3d(XYZ,TEN,EA)

DoF =

x1

y1

z1

x2

y2

z2

=

=

=

=

=

= [K, L(b)] = truss element 3d(x1,y1,z1,x2,y2,z2,EA(b) ); =

g

Copy truss forces 2d.m to truss forces 3d.m function T = truss forces 3d(XYZ,TEN,EA,D)

x1

y1

z1

x2

y2

z2

L

cx

cy

cz

T(b) =

=

=

=

=

=

=

=

=

=

=

CC BY-NC-ND
CC
BY-NC-ND

H.P. Gavin