A method for the development and control of stiffness

0 downloads 0 Views 354KB Size Report
85577 Neubiberg, Germany norbert[email protected] eberhard.pfeiffer@unibw-muenchen.de [email protected]. Summary.
A method for the development and control of stiffness matrices for the calculation of beam and shell structures using the symbolic programming language MAPLE N. Gebbeken, E. Pfeiffer, I. Videkhina University of the German Armed Forces Munich Faculty of Civil and Environmental Engineering Institute of Engineering Mechanics and Structural Mechanics Laboratory of Engineering Informatics 85577 Neubiberg, Germany [email protected] [email protected] [email protected]

Summary For the static and dynamic calculation of any kind of structures numerical techniques like the Finite Element Method (FEM) are established. The mechanical properties of structures are described by element matrices which - assembled to a global system matrix - represent the topological and mechanical behaviour of the total system. For the integration of complex structural analyses into mostly iterative processes of design and construction efficient algorithms and reliable evaluations of results are essential. Using MAPLE a universal method for the development and control of stiffness matrices for beam and shell structures is presented in this article. Considering beam elements basic formulations are discussed as well as beam elements with arbitrary loads and complex boundary conditions. A single beam is characterized by a differential equation of the fourth order EJw´´´´ = q. The differential equation becomes even much more difficult if biaxial bending, elastic foundation or the second order analysis have to be taken into account. It is worth mentioning that the effort for the solution with MAPLE does not increase in the same manner as the complexity of differential equations does. For the calculation of disc structures, plate and folded plate structures different element matrices are in use. The partial differential equation for plates changes to an ordinary differential equation if their deflected surface is approximated by trigonometric rows. In this case the algorithm for the development of the element stiffness matrix is similar to this of beam elements. Derivations of stiffness matrices are sometimes extensive and sophisticated in mathematics. Therefore, the test of the correctness of the mathematical calculus for this object is an important step in the development process of numerical methods. This paper presents two test procedures and their realization with MAPLE. MAPLE offers useful ways for the development of stiffness matrices for different types of elements and the creation of element libraries for p-adaptive modes. Furthermore MAPLE enables the export of code into other programming languages and to embed this in existing FEM-systems.

1

Introduction

In structural engineering the design and calculation of beam and shell structures is a daily practice. Beam structures are formed with beam elements which are tied together in nodes. Shell structures consist of panels and plates connected at nodal lines. Beam and shell elements can also be combined in spatial structures like bridges, multi-story buildings, tunnels, impressive architectural buildings and so on. An element library for the calculation of different types of structures can be developed with the symbolic computer language MAPLE. This article presents some element formulations for effective project engineering.

Beam structures wi

ϕi

Shell structures

wj ui

ϕj

uj

Differential equation for a single beam d 4w q = 4 dx EJ with w- deflection, EJ- bending stiffness (E- modul of elasticity, J- moment of inertia), x- longitudinal axis, q- line load

Beams loads Beamswith witharbitrary arbitary loads and conditions andcomplex complex boundary boundary conditions 1. Beam on elastic foundation 4 d w q kb , with n = 4 + 4 ⋅ n4 ⋅ w = 4 4EJ dx EJ

Differential equations for a disc (expressed in displacements)

 ∂ 2u 1 − µ ∂ 2u 1 + µ ∂ 2v + + = 0 2 2 ∂x 2 ∂y 2 ∂x∂y   2 2 2 ∂ v 1− µ ∂ v 1+ µ ∂ u + + = 0 2 2  ∂y 2 ∂x 2 ∂x∂y Differential equation for a plate

∂ 4w ∂ 4w ∂ 4w p + 2 + = ∂x 4 ∂x 2 ∂y 2 ∂y 4 D

with n- relative stiffness of foundation, k- coefficient of elastic foundation, b- broadness of bearing

2. Theory of second order  d 3ϕ q =  3 dx EJ  dw d 2ϕ  =ϕ −γ ⋅ 2 dx dx 

with γ- shearing strain

3. Biaxial bending 4 2 w N dd2w dd4w w qq ± N ⋅ = ± ⋅ 22 = 44 dx EJ dx dx dx EJ EJ

with N- axial force

Fig.1: Short overview of the fundamental equations for the calculation of beam and shell structures

2

Calculation of beam structures

For the elaboration of the stiffness matrix for beams the following approach will be suggested: 1. Based on the differential equation for a beam the stiffness matrix is developed in a local coordinate system. 2. Consideration of the stiff or hinge connection in the nodes at the end of the beam. 3. Extension of element matrix formulations for beams with different characteristics, e.g. tension/ compression. 4. Transforming the expressions from the local coordinate system into the global coordinate system. 5. The element matrices are assembled in the global stiffness matrix. This article will discuss in details only the first point.

2.1

Systematic approach for the development of differential equations of beams with or without consideration of the transverse strain and the formulas for normal stress Table 1

Matrix equations Type of the development

Beam structure

Equations from the strength of materials Tension/ Compression

Equation of equilibrium

A ⋅S = F

Geometrical relations

A ⋅U = ∆

ε=

Material law

B −1 ⋅ ∆ = S

σ = E ⋅ε

(2) → (3)

N = ∫ σ ⋅ dA A

T

−1

B ⋅ A ⋅U = S T

du dx

σ =E⋅

du dx

T

A ⋅ B ⋅ A ⋅U = F

N = EA ⋅

( A ⋅ B −1 ⋅ AT ) ⋅ F = U

du N = dx EA

B −1 ⋅ AT ⋅ ( A ⋅ B −1 ⋅ AT )−1 ⋅ F = S

σ=

−1

(4) → (1)

(6) → (4)

du dx

N A

Bending without consideration of the transverse strain

Bending with consideration of the transverse strain

M = − ∫ σ ⋅ ydA

M = − ∫ σ ⋅ ydA

du d 2w ε= =− 2 y dx dx

ε=

σ = E ⋅ε

σ = E ⋅ε

d 2w σ = −E ⋅ 2 y dx

σ = −E ⋅

dϕ y dx

d 2w M = EJ ⋅ 2 dx

M = EJ ⋅

dϕ dx

d 2w M = dx 2 EJ

M dϕ = EJ dx

A

σ =−

M y J

1

A

du dϕ =− y dx dx

σ =−

mit ϕ =

dw +γ dx

2

3

M y J

mit ϕ = mit ϕ =

mit ϕ =

dw +γ dx

dw +γ dx

dw +γ dx

4

5

6

7

2.2

Algorithm for the elaboration of a stiffness matrix for an ordinary beam and a beam on elastic foundation

> restart; with(linalg): with(LinearAlgebra): The differential equation of the fourth order > diff(w(x),x$4)=q/(E*J);

q d4 w( x ) = 4 EJ dx

Dissolving of the differential equation > solving:=dsolve(diff(w(x),x$4)=q/(E*J),w(x));

solving := w( x ) =

q x4 _C1 x 3 _C2 x2 + + + _C3 x + _C4 24 E J 6 2

Derivations from w(x) > w_1:=diff(%,x): w_2:=diff(%,x): w_3:=diff(%,x): w_4:=diff(%,x): In matrix form > eq:=[rhs(solving),rhs(w_1),rhs(w_2),rhs(w_3),rhs(w_4)]: > Dmatrix:=mulcol(genmatrix(eq,[_C1,_C2,_C3,_C4],flag),5,-1);

           Dmatrix :=             

x3 6

x2 2

x

1

x2 2

x

1

0

x

1

0

0

1

0

0

0

0

0

0

0

q x4 24 E J

    3  q x  6 E J   2  q x  2 E J   q x  E J    q   E J 

The fifth row is used to check the correctness of differential equation solution Check of the correctness of the solved differential equation > simplify(diff(solving,x$4)=q/(E*J));

q  q  d4  4 w( x ) = =  dx  EJ EJ 

G Elaboration of matrix L and the vector L for unit displacements

Fig. 2: Unit displacements of nodes

We substitute in the first two rows of the Dmatrix the coordinates for the nodes with x = 0 and x = l. > row_12:=submatrix(Dmatrix,1..2,1..5): matrvect_L:=Matrix(4,5,[[subs(x=0,row(row_12,1))],[subs(x=0,row(row_12,2))],[ subs(x=l,row(row_12,1))],[subs(x=l,row(row_12,2))]]);

0  0   3 l matrvect_L :=  6   l2   2

0 0

0 1

1 0

l2 2

l

1

l

1

0

0 0

    4  q l  24 E J   q l 3   6 E J 

> matr_L:=submatrix(matrvect_L,1..4,1..4): Elaboration of the inverse matrix L > matr_L_inv:=inverse(matr_L): > vect_L:=submatrix(matrvect_L,1..4,5..5): G Elaboration of matrix L1 and the vector L1 Fig. 3: Reaction forces and internal forces

> row_34:=submatrix(Dmatrix,3..4,1..5): > matrvect_L1:=scalarmul(mulrow(mulrow(Matrix(4,5,[[subs(x=0,row(row_34,2))],[s ubs(x=0,row(row_34,1))],[subs(x=l,row(row_34,2))],[subs(x=l,row(row_34,1))]]) ,2,-1),3,-1),E*J);

0 EJ   0 −E J   0 matrvect_L1 := −E J   E J l E J  

0 0 0

0 0 0

0

0

0   0   −q l   q l 2  2 

> matr_L1:=submatrix(matrvect_L1,1..4,1..4): > vect_L1:=submatrix(matrvect_L1,1..4,5..5): -1 Elaboration of the relative stiffness matrix r with EJ=1 r = L1 ⋅ L > matr_r:=multiply(matr_L1/E/J,matr_L_inv): G G G G Elaboration the relative load column rq with q = 1 rq = -r ⋅ L + L1

> vect_rq:=simplify(matadd(-multiply(matr_r,E*J*vect_L),vect_L1)): The finally stiffness matrix r and the load column rq for a single beam > resultmatr_r:=augment(E*J*matr_r,vect_rq);

 12 E J   l3    6EJ    l2 resultmatr_r :=   12 E J −  l3     6EJ   l2 

6EJ l2



4EJ l





6EJ l2

2EJ l

12 E J l3

6EJ l2

6EJ l2 12 E J l3

2EJ l



6EJ l2



6EJ l2

4EJ l

ql 2

    2 q l  − 12    q l  − 2    q l 2  12  −

Saving the results for later inspections of stiffness matrix (q.v. 3) > save resultmatr_r, beam; > duplication_matr:=simplify(Matrix(4,5,[[subs(l=2*l,row(resultmatr,1))],[subs( l=2*l,row(resultmatr,2))],[subs(l=2*l,row(resultmatr,3))],[subs(l=2*l,row(res ultmatr,4))]])); > save duplication_matr, beam1;

Elaboration of the stiffness matrix for a beam on elastic foundation In analogous steps the development of the stiffness matrix for beam on elastic foundation leads to a more difficult differential equations:

d 4w q , + 4 ⋅ n4 ⋅ w = 4 dx EJ

with n =

4

kb 4EJ

The finally stiffness matrix r and the load column rq for a beam on elastic foundation > resultmatr_r:=augment(E*J*matr_r,vect_rq); > resultmatr:=augment(E*J*matr_r,matr_rq);

resultmatr :=  E J n 3 ( −e ( −2 n l ) + 4 sin( n l ) cos( n l ) + e ( 2 n l ) ) 4 ,  ( −2 n l ) (2 n l) 2  e − 6 + 4 cos ( n l ) + e  ( −2 n l ) (2 n l) E J n2 ( e + 2 − 4 cos( n l ) 2 + e ) 2 , ( −2 n l ) (2 n l) 2 e − 6 + 4 cos( n l ) + e

8

E J n 3 ( −e

( −n l )

sin( n l ) + e e

E J n 2 sin( n l ) ( e

−8

e

( −2 n l )

2 ( −e



( −n l )

( −2 n l )

( −n l )

−e

(n l)

− 6 + 4 cos( n l ) + e sin( n l ) + e n (e

( −n l )

( −2 n l )

)

(2 n l)

,−

( −e

cos( n l ) − e

n (e

(2 n l)

−2 4

e

E J n (e

( −2 n l )

( −2 n l )

( −n l )

2

+ 4 sin( n l ) cos( n l ) − e

− 6 + 4 cos( n l ) 2 + e

sin( n l ) + e e

( −n l )

( −2 n l )

)

cos( n l ) )

+ 4 sin( n l ) cos( n l ) + e

( −2 n l )

2

− 6 + 4 cos( n l ) + e

sin( n l ) − e (2 n l)

(n l)

)

,

(2 n l)

(2 n l)

)q

)

cos( n l ) ) q    

,

(2 n l)

)

(2 n l)

cos( n l ) − e

(n l)

(2 n l)

( −2 n l )

(n l)

 E J n (e + 2 − 4 cos( n l ) + e 2  ( −2 n l ) (2 n l)  e − 6 + 4 cos( n l ) 2 + e  E J n (e

sin( n l ) − e

− 6 + 4 cos( n l ) 2 + e

( −2 n l )

2

(n l)

− 6 + 4 cos( n l ) 2 + e

2

( −n l )

cos( n l ) − e

(n l) 2

,8

E J n 2 sin( n l ) ( e e

( −2 n l )

cos( n l ) + e

− 6 + 4 cos( n l ) + e

( −n l )

−e

(n l)

− 6 + 4 cos( n l )2 + e (n l)

sin( n l ) )

(2 n l)

)

,

(2 n l)

,

( −2 n l ) (2 n l) ( −n l ) (n l)  1 (e + 2 − 4 cos( n l )2 + e )q 2 sin( n l ) ( e −e )q  − − 2 n 2 ( e ( −2 n l ) − 6 + 4 cos( n l ) 2 + e ( 2 n l ) ) n 2 ( e ( −2 n l ) − 6 + 4 cos( n l ) 2 + e ( 2 n l ) )   ( −n l ) ( −n l ) (n l) (n l) 3  sin( n l ) − e cos( n l ) + e sin( n l ) + e cos( n l ) )  −8 E J n ( e ,  ( −2 n l ) ( 2 n l ) 2  e − + + 6 4 cos ( n l ) e 

8

E J n 2 sin( n l ) ( e e

( −2 n l )

( −n l )

−e 2

(n l)

− 6 + 4 cos( n l ) + e

)

(2 n l)

,4

E J n 3 ( −e e

( −2 n l )

( −2 n l )

+ 4 sin( n l ) cos( n l ) + e 2

− 6 + 4 cos( n l ) + e

(2 n l)

(2 n l)

)

E J n 2 ( −e

,2 2

e

(e

( −n l )

( −2 n l )

( −2 n l )

− 2 + 4 cos( n l ) 2 − e

− 6 + 4 cos( n l )2 + e

sin( n l ) − e

( −n l )

(2 n l)

)

(2 n l)

cos( n l ) + e

(n l)

,

sin( n l ) + e

( −2 n l )

(n l)

cos( n l ) ) q

(2 n l)

− 6 + 4 cos( n l ) 2 + e ) ( −2 n l ) (2 n l) ( −e + 4 sin( n l ) cos( n l ) + e ) q  −  ( −2 n l ) ( 2 n l ) n (e − 6 + 4 cos( n l )2 + e )  ( −n l ) (n l) 2  −e )  −8 E J n sin( n l ) ( e ,  ( −2 n l ) ( 2 n l) 2  e − 6 + 4 cos ( n l ) + e  ( −n l ) ( −n l ) (n l) (n l) E J n (e sin( n l ) + e cos( n l ) − e cos( n l ) + e sin( n l ) ) 4 , ( −2 n l ) ( 2 n l ) e − 6 + 4 cos( n l ) 2 + e 2

n (e

E J n 2 ( −e e

−2

( −2 n l )

( −2 n l )

E J n (e e

− 2 + 4 cos( n l ) 2 − e

− 6 + 4 cos( n l ) 2 + e

( −2 n l )

( −2 n l )

(2 n l)

(2 n l)

+ 4 sin( n l ) cos( n l ) − e

− 6 + 4 cos( n l ) 2 + e ( −n l )

(n l)

)

,

(2 n l)

(2 n l)

)

, ( −2 n l )

(2 n l)

1 ( −e − 2 + 4 cos( n l ) 2 − e ) q  2 − ( −2 n l ) ( 2 n l ) ( −2 n l ) ( 2 n l)  − 6 + 4 cos( n l )2 + e ) 2 n2 ( e − 6 + 4 cos( n l ) 2 + e )  n2 ( e sin( n l ) ( e

2.3

−e

)q

Algorithm for the elaboration of a stiffness matrix for a beam element following the theory of second order

Considering transverse strain the algorithm changes substantial. Instead of only one equation two equations are obtained with the two unknowns bending and nodal distortion.

 d 3ϕ q =  3 dx EJ  dw d 2ϕ  =ϕ −γ ⋅ 2 dx dx 

> restart; with(linalg): with(LinearAlgebra): >

sys:={diff(phi(x),x$3)=q/(E*J),diff(w(x),x$1)+gamma*diff(phi(x),x$2)=phi(x)};

sys := {

2 q d d3  + γ  d φ( x )  = φ( x ) } w ( x ) φ ( x ) = ,     dx 2  E J  dx dx 3   

Dissolving the system of differential equations > solving:=dsolve(sys,{phi(x),w(x)});

q x3 _C2 x2 solving := { φ( x ) = + + _C3 x + _C4, 6EJ 2 w( x ) = −

γ q x2 q x4 _C2 x3 _C3 x2 − γ _C2 x + + + + _C4 x + _C1 } 2EJ 24 E J 6 2

Derivations from w(x) and ϕ(x) > w_1:=diff(%,x): w_2:=diff(%,x): w_3:=diff(%,x): Check of the correctness of the solved differential equations > con:=convert(solving,list): eq_1:=con[1]: eq_2:=con[2]:

> simplify(diff(eq_2,x$3)=q/(E*J));

simplify(diff(eq_1,x$1)+gamma*diff(eq_2,x$2)-eq_2=0);

q  q  d3  3 φ( x ) = =  dx  EJ EJ 

   d  d2   w( x )  + γ  2 φ( x )  − φ( x ) = 0  = 0   dx       dx  

> assign(solving): w(x): phi(x): eq:=[w(x),phi(x)]:

Dmatrix:=mulcol(genmatrix(eq,[_C1,_C2,_C3,_C4],flag),5,-1);

 1  Dmatrix :=   0  

1 −γ x + x3 6

x2 2

x

x2 2

x

1



γ q x2 q x4   + 2 E J 24 E J    q x3   6EJ 

G Elaboration of matrix L and the vector L > row_12:=submatrix(Dmatrix,1..2,1..5): matrvect_L:=Matrix(4,5,[[subs(x=0,row(row_12,1))],[subs(x=0,row(row_12,2))],[ subs(x=l,row(row_12,1))],[subs(x=l,row(row_12,2))]]); matr_L:=submatrix(matrvect_L,1..4,1..4): matr_L_inv:=inverse(matr_L): vect_L:=submatrix(matrvect_L,1..4,5..5):

1  0    matrvect_L := 1     0 

0 0

−γ l +

1 3 l 6

l2 2

0 0

0 1

l2 2

l

l

1

0 0

    2 4  γql q l  − + 2 E J 24 E J    q l3   6EJ 

G Elaboration of matrix L1 and the vector L1 > eq1:=[diff(phi(x),x),diff(phi(x),x$2)]: row_34:=mulcol(genmatrix(eq1,[_C1,_C2,_C3,_C4],flag),5,-1): matrvect_L1:=scalarmul(mulrow(mulrow(Matrix(4,5,[[subs(x=0,row(row_34,2))],[s ubs(x=0,row(row_34,1))],[subs(x=l,row(row_34,2))],[subs(x=l,row(row_34,1))]]) ,2,-1),3,-1),E*J); matr_L1:=submatrix(matrvect_L1,1..4,1..4): vect_L1:=submatrix(matrvect_L1,1..4,5..5):

0  0   matrvect_L1 := 0   0  

EJ 0 0 0 −E J 0 −E J 0 0 EJl

EJ

0

0   0   −q l   q l 2  2 

> matr_r:=multiply(matr_L1/E/J,matr_L_inv): vect_rq:=simplify(matadd(multiply(matr_r,E*J*vect_L),vect_L1)):

> resultmatr_r:=simplify(augment(E*J*matr_r,vect_rq));

resultmatr_r :=

12 E J    l ( 12 γ + l 2 )    6EJ    12 γ + l 2    − 12 E J  l ( 12 γ + l 2 )     6EJ   12 γ + l 2 

6EJ 12 γ + l 2



12 E J l ( 12 γ + l 2 )

4 E J ( 3 γ + l2 ) l ( 12 γ + l 2 ) 6EJ − 12 γ + l 2

6EJ 12 γ + l 2 12 E J l ( 12 γ + l 2 )

2 E J ( −6 γ + l 2 ) l ( 12 γ + l 2 )





6EJ 12 γ + l 2

6EJ 12 γ + l 2 2 E J ( −6 γ + l 2 ) l ( 12 γ + l 2 ) 6EJ − 12 γ + l 2 4 E J ( 3 γ + l2 ) l ( 12 γ + l 2 )

ql 2

     q l 2  − 12    q l  − 2    q l2   12  −

3

Correctness control of the stiffness matrices

Derivations of stiffness matrices are sometimes extensive and sophisticated in mathematics. Therefore, the test of the correctness of the mathematical calculus for this object is an important step in the development process of numerical methods. There are two types of the control: a compatibility condition or a duplication of the length of the element.

3.1

Compatibility condition Fig.4: Local equilibrium

Equation of equilibrium at point О:

(

)

(3.1)

G G G r ⋅ z−∆x + r + r ⋅ zo + r ⋅ z∆x + F = 0 ji jj ii ij G G and z can be expressed as Taylor rows: The displacement vectors z −∆x ∆x w  G z =   in centre point o w '    w '  ∆x 2 w ''  ∆x 3 w '''  ∆x 4 w IV  w  G  +  −  +   + o ∆x 5 z =   − ∆x −∆x w '  2! w '''  3! w IV  4! w v  w ''            w '  ∆x 2 w ''  ∆x 3 w '''  ∆x 4 w IV  w  G  +  +  +   + o ∆x 5 z =   + ∆x ∆x w '  2! w '''  3 ! w IV  4 ! w v  w ''             rii rij riq   Stiffness matrix r =  r r r  jj jq   ji

( )

(3.2)

( )

(3.3)

Insertion (3.2), (3.3) in (3.1)

w '  ∆x 2 w ''  ∆x 3 w '''  w  + r + r + r + r ⋅   + ∆x ⋅ − r + r ⋅   + ⋅ r +r ⋅ + ⋅ r +r  ji ii jj ij w '  ji ij  ''  ji ij  '''  ji ij  IV  2 6   w  w  w  w IV  ∆x 4  + o ∆x 5 + F = 0 r +r  + ji ij 24 w v    > restart; with(linalg): with(LinearAlgebra): read beam;

(

)

(

)

(

(

)

(

)

( )

 12 E J   l3    6EJ    l2 resultmatr_r :=   12 E J −  l3     6EJ   l2 

>

)

6EJ l2



4EJ l





6EJ l2

2EJ l

12 E J l3

6EJ l2

6EJ l2 12 E J l3

2EJ l



6EJ l2



6EJ l2

4EJ l

ql 2

    2 q l  − 12    q l  − 2    q l 2  12  −

r(ji,ii):=matadd(submatrix(resultmatr_r,3..4,1..2),submatrix(resultmatr_r,1.. 2,1..2)):

> r(ji,ii,jj):=matadd(r(ji,ii),submatrix(resultmatr_r,3..4,3..4)): > r(ji,ii,jj,ij):=matadd(r(ji,ii,jj),submatrix(resultmatr_r,1..2,3..4)): >

r(ji,ij):=matadd(submatrix(resultmatr_r,3..4,1..2),submatrix(resultmatr_r,1.. 2,3..4)): > r(-ji,ij):=matadd(submatrix(resultmatr_r,3..4,1..2),submatrix(resultmatr_r,1..2,3..4)): > (multiply(row(r(ji,ii,jj,ij),1),Vector(1..2,[v,v1]))+l*multiply(row(r(ji,ij),1),Vector(1..2,[w1,w2]))+l^2/2*multiply(row(r(ji,ij),1),Vector(1..2,[w 2,w3]))+l^3/6*multiply(row(r(ji,ij),1),Vector(1..2,[w3,w4]))+l^4/24*multiply(row(r(ji,ij),1),Vector(1..2,[ w4,w5])))/l=q;

E J w4 = q

3.2

Duplication of the length of the element

Equilibrium system for the points -∆x, О, ∆x (Fig. 4):

G r ⋅ z−∆x + ii G r ⋅ z−∆x + ji

(

)

Or in matrix form

r ii

r ij

r

r +r jj ii

r ij

r

r

ji

ji

G = 0 r iq( −∆x )  G G  (r ) = 0 +r jq(o ) iq(o )  G r = 0 jq( ∆x ) 

G r ⋅ zo + ij G G r + r ⋅ zo + r ⋅ z∆x + jj ii ij G G r ⋅ zo + r ⋅ z∆x + ji jj

jj

G r iq( −∆x ) G G r +r jq( o ) iq( o ) G r jq( ∆x )

Application of Jordan’s method r * = r − r ⋅ r with r * - new value of element and r - initial value of element (Fig. 5).

ij

ij

−1



( ) r ji  −1  * r = − r (r + r ) r  ij ij jj ii ij  −1  * r = − r (r + r ) r  ji ji jj ii ji   −1  r * = r − r (r + r ) r  jj jj ji jj ii ij  −1  r * = r − r (r + r ) (r + r )  iq iq ij jj ii iq jq  −1  r * = r − r (r + r ) (r + r )  jq jq ji jj ii iq jq  r* = r −r r + r ii ii ij jj ii

i

j

ij

ij

Fig. 5: Rearrangement of rows and columns

> restart; with(linalg): with(LinearAlgebra): > read beam; 6EJ 12 E J  12 E J −  3 2  l l l3    6EJ 4EJ 6EJ  − 2  2 l  l l resultmatr_r :=   12 E J 6EJ 12 E J − − 2  3 l l l3     6EJ 2EJ 6EJ  − 2  l2 l l  > read beam1;

 3EJ   2 l3    3EJ    2 l2 duplication_matr :=   3EJ −  2 l3     3EJ   2 l2 

3EJ 2 l2



2EJ l





3EJ 2 l2 EJ l

6EJ l2 2EJ l



6EJ l2

4EJ l

3EJ 2 l3

3EJ 2 l2

3EJ 2 l2 3EJ 2 l3

EJ l



3EJ 2 l2



3EJ 2 l2

2EJ l

ql 2

     q l 2  − 12    q l  − 2    q l 2  12  −

−q l    2 q l  − 3     −q l    2  q l  3 

> res_mat:=resultmatr_r: > r(jj,ii):=matadd(submatrix(res_mat,3..4,3..4),submatrix(res_mat,1..2,1..2)): > inv:=inverse(r(jj,ii)): > mult:=multiply(submatrix(res_mat,1..2,3..4),inv): > mult1:=multiply(mult,submatrix(res_mat,3..4,1..2)): > RR[ii]:=evalm(submatrix(res_mat,1..2,1..2)-mult1): > mult2:=multiply(submatrix(-res_mat,1..2,3..4),inv): > RR[ij]:=multiply(mult2,submatrix(res_mat,1..2,3..4)): > mult3:=multiply(submatrix(-res_mat,3..4,1..2),inv): > RR[ji]:=multiply(mult3,submatrix(res_mat,3..4,1..2)): > mult4:=multiply(submatrix(res_mat,3..4,1..2),inv): > mult5:=multiply(mult4,submatrix(res_mat,1..2,3..4)):

> RR[jj]:=evalm(submatrix(res_mat,3..4,3..4)-mult5): >

sumq:=simplify(matadd(submatrix(res_mat,1..2,5..5),submatrix(res_mat,3..4,5.. 5))): > mult5:=simplify(multiply(inv,sumq)): > mult6:=simplify(multiply(submatrix(res_mat,1..2,3..4),mult5)): > Rq[iq]:=simplify(evalm(submatrix(res_mat,1..2,5..5)-mult6)): > mult7:=simplify(multiply(submatrix(res_mat,3..4,1..2),mult5)): > Rq[jq]:=simplify(evalm(submatrix(res_mat,3..4,5..5)-mult7)): > rez:=augment(RR[ii],RR[ij],Rq[iq]): > rez1:=augment(RR[ji],RR[jj],Rq[jq]): > R:=stackmatrix(rez,rez1): > control:=evalf(simplify(evalm(duplication_matr-R)),2);

0.  0. control :=  0.  0. 

4

0. 0. 0. 0.

0. 0. 0. 0.

0. 0. 0. 0.

0.  0.  0. 0.

Calculation of shell structures

4.1 Systematic approach for the development of differential equations for a disc Table 2

Type of the development Equation of equilibrium

∂σ x ∂τ yx + =0 ∂x ∂y

Geometrical relations

εx =

∂u ∂x

εy =

∂τ xy ∂x

∂v ∂y

+

γ =

∂σ y ∂y

= 0 τ xy = τ xy = τ

∂u ∂v + ∂x ∂y

1 E σ x − µσ y ) σ x = ( (ε x + µε y ) E 1− µ 2 1 E ε y = (σ y − µσ x ) σ y = (ε y + µε x ) E 1− µ 2

1

2

εx = Material law

σx = (2) → (3)

(4) → (1)

E  ∂u ∂v  E  ∂u ∂v  +µ +µ  σy =  2  2  1 − µ  ∂x ∂y  1 − µ  ∂x ∂y 

 ∂u E ∂v  τ= +µ   2 (1 + µ )  ∂y ∂x   ∂ 2u 1 − µ ∂ 2u 1 + µ ∂ 2v + + = 0 2 2 ∂x 2 ∂y 2 ∂x∂y   2 2 2 ∂ v 1− µ ∂ v 1+ µ ∂ u + + = 0 2 2 2 ∂x 2 ∂x∂y ∂y 

3

4

5

The system of partial differential equations for discs changes to a system of ordinary differential equations if the displacements are approximated by trigonometric rows. Table 3

u = U ( y ) ⋅ cos α x

π ⋅n

with α =

v = V ( y ) ⋅ sin α x

L

with α =

∂u = −α ⋅ U ( y ) ⋅ sin α x ∂x

∂v = −α ⋅ V ( y ) ⋅ cos α x ∂x

∂u dU ( y ) = ⋅ cos α x ∂y dy

∂v dV ( y ) = ⋅ sin α x dy ∂y

∂ 2u = −α 2 ⋅ U ( y ) ⋅ cos α x ∂x

∂ 2v = −α 2 ⋅ V ( y ) ⋅ sin α x 2 ∂x

∂ 2u d 2U ( y ) = ⋅ cos α x dy 2 ∂y 2

∂ 2v d 2V ( y ) = ⋅ sin α x dy 2 ∂y 2

∂ 2u dU ( y ) = −α ⋅ ⋅ sin α x dy ∂x∂y

∂ 2v dV ( y ) =α ⋅ ⋅ cos α x dy ∂x∂y

π ⋅n L

Inserting the results of table (3) into the equation (5) of table (2) we get a system of ordinary differential equations:

 1+ µ d 2V 1 − µ 2 dU − ⋅ α ⋅V − ⋅α ⋅ =0  2 2 dy  dy 2  2U 1 + µ  µ − 1 d dV −α 2 ⋅ U + ⋅ + ⋅α ⋅ = 0 dy 2 dy 2 2 

4.2

Algorithm for the elaboration of a stiffness matrix for a disc element

System of ordinary differential equations > restart; with(linalg): with(LinearAlgebra): > sys:={-a^2*U(y)+(1mu)/2*diff(U(y),y$2)+(1+mu)/2*a*diff(V(y),y$1)=0,diff(V(y),y$2)-(1mu)/2*a^2*V(y)-(1+mu)/2*a*diff(U(y),y$1)=0};

1 d  d2  1 sys := {  2 V( y )  − ( 1 − µ ) a 2 V( y ) − ( 1 + µ ) a  U( y )  = 0, 2 2 d  y   dy  2 1 d  1 d −a 2 U( y ) + ( 1 − µ )  2 U( y )  + ( 1 + µ ) a  V( y )  = 0 } 2 2 d  y   dy 

Dissolving the system of ordinary differential equations > F:=dsolve(sys,{U(y),V(y)});

F := { V( y ) = − ( µ _C1 a e − µ _C4 a e − _C3 a e

(a y)

(a y)

U( y ) = _C1 e

( −a y )

+ µ _C2 a e

y − µ _C4 e

− _C4 a e

( −a y )

(a y)

+ _C2 e

(a y)

( −a y )

+ _C1 a e

y + 3 _C4 e

( −a y )

( −a y )

(a y)

y + _C3 e

y − µ _C2 e

( −a y )

+ _C2 a e

( −a y )

)/( a ( 1 + µ ) ),

(a y)

+ _C4 e

(a y)

> V1:=diff(F,y): V2:=diff(V1,y): V3:=diff(V2,y): > r:=convert(F,list): U1:=r[1]: V1:=r[2]:

− µ _C3 a e

y}

(a y)

y + 3 _C2 e

( −a y )

> simplify(-a^2*U1+(1-mu)/2*diff(U1,y$2)+(1+mu)/2*a*diff(V1,y$1)=0): > simplify(diff(V1,y$2)-(1-mu)/2*a^2*V1-(1+mu)/2*a*diff(U1,y$1)=0): > assign(F): U(y): V(y): eq:=[U(y),V(y)]: > Dmatrix:=genmatrix(eq,[_C1,_C2,_C3,_C4]): > row_12:=convert(submatrix(Dmatrix,1..2,1..4),Matrix): >

matrvectL:=Matrix(4,4,[[subs(y=0,row(row_12,1))],[subs(y=0,row(row_12,2))],[s ubs(y=l,row(row_12,1))],[subs(y=l,row(row_12,2))]]): > mat_L:=convert(submatrix(matrvectL,1..4,1..4),Matrix): > mat_L_inv:=simplify(MatrixInverse(mat_L)): > w:=-mu*a*U(y)+diff(V(y),y): w1:=(1-mu)/2*(diff(U(y),y)+a*V(y)): > eq1:=[w,w1]: row_34:=mulcol(genmatrix(eq1,[_C1,_C2,_C3,_C4],flag),5,-1): > matrvectL1:=E*h/(1mu^2)*mulrow(mulrow(Matrix(4,5,[[subs(y=0,row(row_34,1))],[subs(y=0,row(row_3 4,2))],[subs(y=l,row(row_34,1))],[subs(y=l,row(row_34,2))]]),1,-1),2,-1): > mat_L1:=convert(submatrix(matrvectL1,1..4,1..4),Matrix): > resultmatr:=multiply(mat_L1,mat_L_inv):

4.3

Systematic approach for the development of differential equations for a plate

Fig. 6: Stresses and internal forces in plate elements

Equation of equilibrium

∂q x ∂qy + = −p ∂x ∂y ∂mx ∂mxy Balanced moments for x- and y-axis: + = qy ∂y ∂x

Balanced forces in z-direction:

∂mx ∂myx + = qx ∂x ∂y ∂ 2mxy ∂ 2 my ∂ 2 mx + 2⋅ + = −p Equation of equilibrium after some transformations: ∂x 2 ∂x∂y ∂y 2

(4.1)

Table 4

Type of the development

Equation of equilibrium

Bending of plate

mx =

h 2

∫σ

x

⋅ z dz

my =

h − 2

∂w ∂x

Material law

σx =

(2) → (3)

σx = −

(4) → (1)

 ∂ 2w ∂ 2w  m x = −D ⋅  2 + µ ⋅ 2  ∂y   ∂x  ∂ 2w mx ∂ 2w   2 +µ⋅ 2 =− ∂y  D  ∂x

σx =

with D =

E ⋅ h3 12 ⋅ 1 − µ 2

(

)

v = −z ⋅

∂w ∂y

u = −z ⋅

(6) → (4)

∫σ

y

⋅ z dz

mxy =

h − 2

Geometrical relations

E ⋅ (ε x + µ ⋅ ε y ) 1− µ 2 E 1− µ 2

h 2

 ∂ 2w ∂ 2w  ⋅ 2 + µ ⋅ 2 ⋅z ∂y   ∂x

12mx ⋅z h3

∂ 2w ∂ 2w ε = − z ⋅ y ∂x 2 ∂y 2 E σy = ⋅ (ε y + µ ⋅ ε x ) 1− µ 2

E 1− µ 2

γ xy = −2 ⋅ z

 ∂ 2w ∂ 2w  ⋅ 2 + µ ⋅ 2 ⋅z ∂x   ∂y

 ∂ 2w ∂ 2w  my = −D ⋅  2 + µ ⋅ 2  ∂x   ∂y my  ∂ 2w ∂ 2w   2 +µ⋅ 2 =− ∂x  D  ∂y

σy =

∫τ

xy

⋅ z dz

1

h − 2

ε x = −z ⋅

σy = −

h 2

12mx ⋅z h3

∂ 2w ∂x ∂y

τ xy =

2

E ⋅ γ xy 2 ⋅ (1 + µ )

τ xy = −

E ∂ 2w ⋅ ⋅z 1 + µ ∂x∂y

mxy = −D ⋅ (1 − µ ) ⋅

∂ 2w ∂x∂y

mxy ∂ 2w =− ∂x∂y D ⋅ (1 − µ )

τ xy =

12mxy

h3

⋅z

3 4 5 6 7

We insert the equations from table (4) into the differential equation (4.1) and get the differential equation for a plate:

∂ 4w ∂ 4w ∂ 4w p + 2 ⋅ + = ∂x 4 ∂x 2∂y 2 ∂y 4 D

(4.2)

The partial differential equation for plates changes to an ordinary differential equation if the displacements are approximated by trigonometric rows. Table 5

w = W ( y ) ⋅ sin α x

with α =

π ⋅n L

∂w = W ( y ) ⋅ cos α x ∂x

∂w dW ( y ) = ⋅ sin α x dy ∂y

∂ 2w = −W ( y ) ⋅ α 2 ⋅ sin α x ∂x 2

∂ 2w d 2W ( y ) = ⋅ sin α x dy 2 ∂y 2

∂ 2w dW ( y ) =− ⋅ α ⋅ cos α x dy ∂x ∂y

∂ 2w dW ( y ) =− ⋅ α ⋅ cos α x dy ∂x ∂y

∂ 3w = −W ( y ) ⋅ α 3 ⋅ cos α x ∂x 3

∂ 3w d 3W ( y ) = ⋅ sin α x dy 3 ∂x 3

∂ 3w dW ( y ) 2 =− ⋅ α ⋅ sin α x 2 dy ∂x ∂y

∂ 3w d 2W ( y ) = ⋅ α ⋅ cos α x dy ∂y 2∂x

∂ 4w = W ( y ) ⋅ α 4 ⋅ sin α x 4 ∂x

∂ 4w d 4W ( y ) 4 = ⋅ α ⋅ sin α x dy 4 ∂y 4

∂ 4w d 2W ( y ) 2 = − ⋅ α ⋅ sin α x dy 2 ∂x 2 ∂y 2

∂ 4w d 2W ( y ) 2 = − ⋅ α ⋅ sin α x dy 2 ∂y 2∂x 2

Inserting the results of table (5) in equation (4.2) we get the ordinary differential equation: 4 4 d 4W p 2 d W 4 d W − 2 ⋅α ⋅ +α ⋅ = 4 2 4 dx dy dy D

4.4

Algorithm for the elaboration of the stiffness matrix for a plate

> restart; with(linalg): with(LinearAlgebra): The homogeneous differential equation of the fourth order > diff(W(y),y$4)-2*a^2*diff(W(y),y$2)+a^4*W(y)=0;

 d4  d2    4 W( y )  − 2 a 2  2 W( y )  + a 4 W( y ) = 0  dy   dy     

Dissolving the differential equation > solving:=dsolve(diff(W(y),y$4)-2*a^2*diff(W(y),y$2)+a^4*W(y)=0,W(y));

solving := W( y ) = _C1 e

(a y)

+ _C2 e

(a y)

y + _C3 e

( −a y )

+ _C4 e

( −a y )

y

Derivations of W(y) > W_1:=diff(%,y): W_2:=diff(%,y): W_3:=diff(%,y): W_4:=diff(%,y): In matrix form > eq:=[ rhs(solving),rhs(W_1),rhs(W_2),rhs(W_3),rhs(W_4)]: > Dmatrix:=genmatrix(eq,[_C1,_C2,_C3,_C4]);

 e( a y )   (a y) a e    Dmatrix := a 2 e ( a y )  a 3 e ( a y )    4 (a y) a e 

e ae

(a y)

(a y)

y

e

y+e

(a y)

(a y)

y+2ae

a3 e

(a y)

a4 e

(a y)

a2 e

( −a y )

−a e

( −a y )

( −a y )

(a y)

a2 e

y + 3 a2 e

(a y)

−a 3 e

y + 4 a3 e

(a y)

a4 e

( −a y )

   ( −a y ) ( −a y )  −a e y+e    ( −a y ) ( −a y )  a2 e y−2ae   3 ( −a y ) 2 ( −a y ) −a e y+3a e    ( −a y ) ( −a y ) 4 3  a e y−4a e  e

( −a y )

( −a y )

y

Check of the correctness of the solved differential equation > simplify(diff(solving,y$4)-2*a^2*diff(solving,y$2)+a^4*solving=0);

  d4  d2      4 W( y )  − 2 a 2  2 W( y )  + a 4 W( y ) = 0  = 0   dy   dy       

Elaboration of matrix L > row_12:=convert(submatrix(Dmatrix,1..2,1..4),Matrix):

> matrvectL:=Matrix(4,4,[[subs(y=0,row(row_12,1))],[subs(y=0,row(row_12,2))],[s ubs(y=l,row(row_12,1))],[subs(y=l,row(row_12,2))]]): > mat_L:=convert(submatrix(matrvectL,1..4,1..4),Matrix): Elaboration of the inverse matrix L > mat_L_inv:=MatrixInverse(mat_L): Elaboration of matrix L1 > row_34:=convert(submatrix(Dmatrix,3..4,1..4),Matrix):

> matrvectL1:=mulrow(mulrow(Matrix(4,4,[[subs(y=0,row(row_34,2))],[subs(y=0,row (row_34,1))],[subs(y=l,row(row_34,2))],[subs(y=l,row(row_34,1))]]),2,-1),3,1): > mat_L1:=D*convert(submatrix(matrvectL1,1..4,1..4),Matrix): The finally stiffness matrix r for a plate element > resultmatr:=multiply(mat_L1,mat_L_inv): > for i from 1 by 1 to 4 do for j from 1 by 1 to 4 do resultmatr[i,j]:=simplify(resultmatr[i,j])od; od: print(resultmatr): ( −2 a l ) (2 a l) ( −2 a l ) (2 a l) 3  −4al−e ) D a 2 ( −4 a 2 l 2 + 3 e −6+3e )  −2 D a ( e , ,  ( − 2 a l ) ( 2 a l ) ( − 2 a l ) ( 2 a l ) 2 2 2 2  − 4 a l + e − 2 + e − 4 a l + e − 2 + e 

−4

D a3 ( a e

(a l)

l+e

−4 a 2 l 2 + e

(a l)

+ae

( −2 a l )

( −a l )

−2+e

( −2 a l )

l−e

( −a l )

)

(2 a l)

, −4

D a3 l ( e −4 a 2 l 2 + e

( −a l )

( −2 a l )

( −2 a l )

(2 a l)

−e

(a l)

)

−2+e

(2 a l)

(2 a l)

 D a2 ( 4 a2 l2 + e −2+e ) D a ( −e −4al+e )  ,2 ,  ( − 2 a l ) ( 2 a l ) ( − 2 a l ) ( 2 a l ) 2 2  −4 a 2 l 2 + e − 2 + e − 4 a l + e − 2 + e  4

D a3 l ( e −4 a 2 l 2 + e

( −a l )

( −2 a l )

−e

(a l)

)

−2+e

(2 a l)

,4

D a (a e

( −a l )

l+e

−4 a 2 l 2 + e

( −a l )

( −2 a l )

−e

(a l)

+ae

−2+e

(2 a l)

(a l)

l )    

    

(a l) (a l) ( −a l ) ( −a l ) ( −a l ) (a l) 3  l+e +ae l−e ) D a 3 l ( −e +e )  −4 D a ( a e , −4 ,  ( − 2 a l ) ( 2 a l ) ( − 2 a l ) ( 2 a l) 2 2 2 2  − 4 a l + e − 2 + e − 4 a l + e − 2 + e  ( −2 a l ) (2 a l) ( −2 a l ) (2 a l) D a3 ( e −4al−e ) D a 2 ( −4 a 2 l 2 + 3 e −6+3e )  , − −2  ( −2 a l ) (2 a l) ( −2 a l ) (2 a l)  −4 a 2 l 2 + e −2+e −4 a 2 l 2 + e −2+e  ( −a l ) (a l) ( −a l ) ( −a l ) (a l) (a l) 3  D a l ( −e +e ) D a (a e l+e −e +ae l) 4 ,4 ,  ( − 2 a l ) ( 2 a l ) ( − 2 a l ) ( 2 a l ) 2 2  −4 a 2 l 2 + e − 4 a + − + − 2 + e l e 2 e  ( −2 a l ) (2 a l) ( −2 a l ) (2 a l) D a2 ( 4 a2 l2 + e −2+e ) D a ( −e −4al+e )  ,2 −  ( − 2 a l ) ( 2 a l ) ( − 2 a l ) ( 2 a l )  −4 a 2 l 2 + e −2+e −4 a 2 l 2 + e −2+e 

Bibliography 1. Alexsandrow A. W., Potapow W.D.: Strength theory, Moscow, high school, 1990. 2. Darkow A.W., Schaposchnikow N.N.: Construction mechanics, Stroiiydat, Moscow, 1986. 3. Gebbeken N.: Introduction to the Finite Element Method (FEM) for beam structures. Lecture notes, University of the German armed forces of Munich, Neubiberg, 2000. 4. Schaposchnikow N.N., Videkhina I.L.: Elaboration of Stiffness matrices for beam structures using the symbolic computer language MAPLE, Scientific Magazine, MIIT, publication 6, 2001, p. 83 - 89. 5. Videkhina I.L.: Algorithms for the elaboration of stiffness matrices and her control with using the symbolic computer language MAPLE, Dissertation, MIIT, Moscow, 2002.