Element.beam2t
The following article describes the use of the element.beam2t command. This command defines a simple, two-node elastic Timoshenko beam element.
Contents |
Syntax
element.beam2t(id,node1,node2,mat,sec,rule)
where
| Parameter | description | type | default |
|---|---|---|---|
| id | The elemental id | integer | - |
| node1-2 | The elemental nodes | integer | - |
| mat | The element material | integer | - |
| sec | The element section | integer | - |
| rule | The integration rule | integer | 1 |
Examples
Cantilever beam example, motivated by <ref>O.C. Zienkiewicz & R.L. Taylor, "The Finite Element Method for Solids and Structural Mechanics", 6th Edition, p307</ref>, demonstrating shear locking effects.
Comments
Nodes, material and section must be already defined.
Theory
The kinematic assumptions are those shown in the figure on the right.
Implementation
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;
Stiffness Matrix K
The stiffness matrix K in global coordinates is given as:
for k in GaussPoints:
xi=GaussPoints(k).xi
dx=GaussPoints(k).weight*0.5*L
for i=0..2:
for j=0..2:
Ni,dNi=shapeFunctions(i,xi)
Nj,dNj=shapeFunctions(j,xi)
K(3*i+0,3*j+0)+=(dNi*dNj*(C1*c*c+C3-c*c*C3) )*dx
K(3*i+0,3*j+1)+=(c*dNi*dNj*s*(-C3+C1) )*dx
K(3*i+0,3*j+2)+=(s*dNi*C3*Nj )*dx
K(3*i+1,3*j+0)+=(c*dNi*dNj*s*(-C3+C1) )*dx
K(3*i+1,3*j+1)+=(-dNi*dNj*(-c*c*C3-C1+C1*c*c))*dx
K(3*i+1,3*j+2)+=(-c*dNi*C3*Nj )*dx
K(3*i+2,3*j+0)+=(Ni*C3*dNj*s )*dx
K(3*i+2,3*j+1)+=(-Ni*C3*dNj*c )*dx
K(3*i+2,3*j+2)+=(dNi*C2*dNj+Ni*C3*Nj )*dx
where,
C1=E*A C2=E*J C3=a*G*A
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 it yields,
for k in GaussPoints:
xi=GaussPoints(k).xi
dx=GaussPoints(k).weight*0.5*L
for i=0..2:
Ni,dNi=shapeFunctions(i,xi)
R[3*i+0]+=facS*((dNi*sigma[0]) )*dx
R[3*i+1]+=facS*((dNi*sigma[2]) )*dx
R[3*i+2]+=facS*((dNi*sigma[1]-Ni*sigma[2]))*dx
R[0]-=facG*(0.5*b[0]*L);
R[1]-=facG*(0.5*b[1]*L);
R[3]-=facG*(0.5*b[0]*L);
R[4]-=facG*(0.5*b[1]*L);
R-=facP*Fext;
and transforming it from local to global, one has
for i=0..2:
d1=c*R[3*i+0]-s*R[3*i+1];
d2=s*R[3*i+0]+c*R[3*i+1];
R[3*i+0]=d1;
R[3*i+1]=d2;
Notes
<references/>
See also
- node module.
- material module.
- section module.
- element module.
- User guide.

