Element.beam2e

From Nemesis
(Difference between revisions)
Jump to: navigation, search
Line 13: Line 13:
 
!width="150"|default
 
!width="150"|default
 
|-
 
|-
|id                || The elemental id              ||align="center"| integer  ||align="center"|-
+
id                || The elemental id              ||align="center"| integer  ||align="center"|-
 
|-
 
|-
 
|dof<sub>1-2</sub> || The elemental [[node|nodes]]  ||align="center"| integer  ||align="center"|-
 
|dof<sub>1-2</sub> || The elemental [[node|nodes]]  ||align="center"| integer  ||align="center"|-
Line 27: Line 27:
 
=Comments=
 
=Comments=
 
[[Node]]s, [[material]] and [[section]] '''must''' be already defined.
 
[[Node]]s, [[material]] and [[section]] '''must''' be already defined.
 +
 +
=Implementation=
 +
==Length and directional cosines==
 +
<pre>
 +
L=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
 +
cosX[0]=(x2-x1)/L;
 +
cosX[1]=(y2-y1)/L;
 +
</pre>
 +
 +
==Gravity load vector b==
 +
 +
==Stiffness Matrix K==
 +
<pre>
 +
K(0,0)= K1;  K(0,1)= K2;  K(0,2)= K4;  K(0,3)=-K1;  K(0,4)=-K2;  K(0,5)= K4;
 +
K(1,0)= K2;  K(1,1)= K3;  K(1,2)= K5;  K(1,3)=-K2;  K(1,4)=-K3;  K(1,5)= K5;
 +
K(2,0)= K4;  K(2,1)= K5;  K(2,2)= K6;  K(2,3)=-K4;  K(2,4)=-K5;  K(2,5)= K7;
 +
K(3,0)=-K1;  K(3,1)=-K2;  K(3,2)=-K4;  K(3,3)= K1;  K(3,4)= K2;  K(3,5)=-K4;
 +
K(4,0)=-K2;  K(4,1)=-K3;  K(4,2)=-K5;  K(4,3)= K2;  K(4,4)= K3;  K(4,5)=-K5;
 +
K(5,0)= K4;  K(5,1)= K5;  K(5,2)= K7;  K(5,3)=-K4;  K(5,4)=-K5;  K(5,5)= K6;
 +
</pre>
 +
where,
 +
<pre>
 +
K1=C1*c*c+C2*s*s;
 +
K2=(C1-C2)*c*s;
 +
K3=C1*s*s+C2*c*c;
 +
K4=-C3*s;
 +
K5=C3*c;
 +
K6=4*E*J/L;
 +
K7=2*E*J/L;
 +
C1=E*A/L;
 +
C2=12*E*J/(L*L*L);
 +
C3=6*E*J/(L*L);
 +
</pre>
 +
 +
==Residual vector R==
 +
Residual vector is given as
 +
R = facS*Fint - facG*Fgravity - facP*Fext
 +
where <tt>facS</tt>, <tt>facG</tt> and <tt>facP</tt>, factors controlled by [[group.state]] . In local coordinates this yields,
 +
<pre>
 +
R[0]=facS*(  KN*u[0]  - KN*u[3])                      - facG*( 0.5*b[0]*L);
 +
R[1]=facS*(  K12*u[1] + K6*u[2] - K12*u[4] + K6*u[5]) - facG*( 0.5*b[1]*L);
 +
R[2]=facS*(  K6*u[1]  + K4*u[2] - K6*u[4]  + K2*u[5]) - facG*( b[1]*L*L/12.);
 +
R[3]=facS*(- KN*u[0]  + KN*u[3])                      - facG*( 0.5*b[0]*L);
 +
R[4]=facS*(- K12*u[1] - K6*u[2] + K12*u[4] - K6*u[5]) - facG*( 0.5*b[1]*L);
 +
R[5]=facS*(  K6*u[1]  + K2*u[2] - K6*u[4]  + K4*u[5]) - facG*(-b[1]*L*L/12.);
 +
R-=facP*Fext
 +
</pre>
 +
and transforming it from local to global,
 +
<pre>
 +
R0=c*R[0]-s*R[1];
 +
R1=s*R[0]+c*R[1];
 +
R3=c*R[3]-s*R[4];
 +
R4=s*R[3]+c*R[4];
 +
R[0]=R0;
 +
R[1]=R1;
 +
R[3]=R3;
 +
R[4]=R4;
 +
</pre>
  
 
=See also=
 
=See also=

Revision as of 13:28, 14 February 2007

The following article describes the use of the element.beam2e command. This command defines a simple, two-node Euler beam member.

Contents

Syntax

element.beam2e(id,dof1,dof2,mat,sec)

where

id || The elemental id ||align="center"| integer ||align="center"|-
Parameter description type default
dof1-2 The elemental nodes integer -
mat The element material integer -
sec The element section integer -

Examples

 element.beam2e(2,1,2,2,3)

Comments

Nodes, material and section must be already defined.

Implementation

Length and directional cosines

L=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
cosX[0]=(x2-x1)/L;
cosX[1]=(y2-y1)/L;

Gravity load vector b

Stiffness Matrix K

K(0,0)= K1;  K(0,1)= K2;   K(0,2)= K4;   K(0,3)=-K1;   K(0,4)=-K2;   K(0,5)= K4;
K(1,0)= K2;  K(1,1)= K3;   K(1,2)= K5;   K(1,3)=-K2;   K(1,4)=-K3;   K(1,5)= K5;
K(2,0)= K4;  K(2,1)= K5;   K(2,2)= K6;   K(2,3)=-K4;   K(2,4)=-K5;   K(2,5)= K7;
K(3,0)=-K1;  K(3,1)=-K2;   K(3,2)=-K4;   K(3,3)= K1;   K(3,4)= K2;   K(3,5)=-K4;
K(4,0)=-K2;  K(4,1)=-K3;   K(4,2)=-K5;   K(4,3)= K2;   K(4,4)= K3;   K(4,5)=-K5;
K(5,0)= K4;  K(5,1)= K5;   K(5,2)= K7;   K(5,3)=-K4;   K(5,4)=-K5;   K(5,5)= K6;

where,

K1=C1*c*c+C2*s*s;
K2=(C1-C2)*c*s;
K3=C1*s*s+C2*c*c;
K4=-C3*s;
K5=C3*c;
K6=4*E*J/L;
K7=2*E*J/L;
C1=E*A/L;
C2=12*E*J/(L*L*L);
C3=6*E*J/(L*L);

Residual vector R

Residual vector is given as

R = facS*Fint - facG*Fgravity - facP*Fext

where facS, facG and facP, factors controlled by group.state . In local coordinates this yields,

R[0]=facS*(  KN*u[0]  - KN*u[3])                      - facG*( 0.5*b[0]*L);
R[1]=facS*(  K12*u[1] + K6*u[2] - K12*u[4] + K6*u[5]) - facG*( 0.5*b[1]*L);
R[2]=facS*(  K6*u[1]  + K4*u[2] - K6*u[4]  + K2*u[5]) - facG*( b[1]*L*L/12.);
R[3]=facS*(- KN*u[0]  + KN*u[3])                      - facG*( 0.5*b[0]*L);
R[4]=facS*(- K12*u[1] - K6*u[2] + K12*u[4] - K6*u[5]) - facG*( 0.5*b[1]*L);
R[5]=facS*(  K6*u[1]  + K2*u[2] - K6*u[4]  + K4*u[5]) - facG*(-b[1]*L*L/12.);
R-=facP*Fext

and transforming it from local to global,

R0=c*R[0]-s*R[1];
R1=s*R[0]+c*R[1];
R3=c*R[3]-s*R[4];
R4=s*R[3]+c*R[4];
R[0]=R0;
R[1]=R1;
R[3]=R3;
R[4]=R4;

See also

Personal tools