Element.beam2e
The following article describes the use of the element.beam2e command. This command defines a simple, two-node elastic Bernulli-Euler beam element.
Contents |
Syntax
element.beam2e(id,dof1,dof2,mat,sec)
where
Parameter | description | type | default |
---|---|---|---|
id | The elemental id | integer | - |
dof1-2 | The elemental nodes | integer | - |
mat | The element material | integer | - |
sec | The element section | integer | - |
Examples
Define a two-dimensional beam with id 1, start node 1, end node 2, material id 2 and section id 3.
element.beam2e(2,1,2,2,3)
Comments
Nodes, material and section must be already defined.
Theory
Implementation
The implementation of the Bernulli-Euler beam follows closely the implementation of Cook et al.<ref>R.D. Cook, d.S. Malkus and M.E. Plesha, "Concepts and Applications of Finite Element Analysis", 3rd Edition, John Wiley & Sons, 1989, p.216</ref> Special care is taken to avoid matrix multiplications in favor of efficiency.
General
The element length and directional cosines are given as:
L=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)); c=(x2-x1)/L; s=(y2-y1)/L;
In what follows, E denotes Young modulus, A and J cross-sectional area and moment of inertia respectively and b is the vector of gravity loads in local coordinates.
Stiffness Matrix K
The stiffness matrix K in global coordinates is given as:
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;
with
C1=E*A/L; C2=12*E*J/(L*L*L); C3=6*E*J/(L*L);
Residual vector R
The residual vector in global coordinates 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;
Notes
<references/>
See also
- node module.
- material module.
- section module.
- element module.
- User guide.