# 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,node_{1},node_{2},mat,sec,rule)

where

Parameter | description | type | default |
---|---|---|---|

id | The elemental id | integer | - |

node_{1-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. Twenty elements are used for different span L to depth h ratios for a rectangular cross-section. The beams used are the Bernulli-Euler, a 2-node full integration (2 points) Timoshenko beam, a 2-node reduced integration (1 point) Timoshenko beam, a 3-node full integration (3 points) Timoshenko beam and a 3-node reduced integration (2 points) Timoshenko beam. The use of exact integration for the second one, leads to a solution which 'locks' as the beam becomes slender, whereas the reduced integration scheme shows no locking for the range plotted. The results are also given in the following table, where the example can be found here.

===================================================== |Ratio |Tip Displacement (normalized) | ----------------------------------------------------- | | EULER |TIM2F | TIM2R | TIM3F | TIM3R | ===================================================== | 2.000| 1.0000 1.2349 1.2390 1.2400 1.2400 | | 3.000| 1.0000 1.0964 1.1057 1.1067 1.1067 | | 4.000| 1.0000 1.0426 1.0590 1.0600 1.0600 | | 5.000| 1.0000 1.0120 1.0374 1.0384 1.0384 | | 10.000| 1.0000 0.9144 1.0086 1.0096 1.0096 | | 20.000| 1.0000 0.7076 1.0014 1.0023 1.0023 | | 50.000| 1.0000 0.2776 0.9994 1.0000 1.0000 | | 100.000| 1.0000 0.0876 0.9991 0.9994 0.9994 | | 500.000| 1.0000 0.0038 0.9990 0.9990 0.9990 | | 1000.000| 1.0000 0.0010 0.9990 0.9990 0.9990 | =====================================================

# Comments

Nodes, material and section **must** be already defined. This beam exhibits severe shear locking, and therefore it is recommended to adopt a reduced integration scheme.

# 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.
- element.beam3t.
- User guide.