Element.beam2e
(→Stiffness Matrix K) |
|||
| (19 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
The following article describes the use of the <tt>element.beam2e</tt> command. | The following article describes the use of the <tt>element.beam2e</tt> command. | ||
| − | This command defines a simple, two-node Euler beam | + | This command defines a simple, two-node elastic Bernulli-Euler beam element. |
=Syntax= | =Syntax= | ||
element.beam2e(id,dof<sub>1</sub>,dof<sub>2</sub>,mat,sec) | element.beam2e(id,dof<sub>1</sub>,dof<sub>2</sub>,mat,sec) | ||
| − | + | where | |
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" | {| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" | ||
|- bgcolor="#CCCCCC" align="center" | |- bgcolor="#CCCCCC" align="center" | ||
| Line 23: | Line 23: | ||
=Examples= | =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) | element.beam2e(2,1,2,2,3) | ||
=Comments= | =Comments= | ||
[[Node]]s, [[material]] and [[section]] '''must''' be already defined. | [[Node]]s, [[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"'', 3<sub>rd</sub> 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: | ||
| + | <pre> | ||
| + | L=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1)); | ||
| + | c=(x2-x1)/L; | ||
| + | s=(y2-y1)/L; | ||
| + | </pre> | ||
| + | |||
| + | In what follows, <tt>E</tt> denotes Young modulus, <tt>A</tt> and <tt>J</tt> cross-sectional area and moment of inertia respectively and <tt>b</tt> is the vector of gravity loads in local coordinates. | ||
| + | |||
| + | ==Stiffness Matrix K== | ||
| + | The stiffness matrix K in global coordinates is given as: | ||
| + | <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; | ||
| + | </pre> | ||
| + | with | ||
| + | <pre> | ||
| + | C1=E*A/L; | ||
| + | C2=12*E*J/(L*L*L); | ||
| + | C3=6*E*J/(L*L); | ||
| + | </pre> | ||
| + | |||
| + | ==Residual vector R== | ||
| + | The residual vector in global coordinates 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> | ||
| + | |||
| + | =Notes= | ||
| + | <references/> | ||
| + | |||
=See also= | =See also= | ||
Latest revision as of 15:36, 19 February 2007
The following article describes the use of the element.beam2e command. This command defines a simple, two-node elastic Bernulli-Euler beam element.
Contents |
[edit] 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 | - |
[edit] 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)
[edit] Comments
Nodes, material and section must be already defined.
[edit] Theory
[edit] 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.
[edit] 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.
[edit] 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);
[edit] 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;
[edit] Notes
<references/>
[edit] See also
- node module.
- material module.
- section module.
- element module.
- User guide.