0% found this document useful (0 votes)
50 views12 pages

05.euler Beams

This document provides an overview of corotational Euler-Bernoulli beam finite elements as implemented in Chrono::Engine. It first introduces the corotational formulation which allows large displacements while requiring small strains. It then summarizes the linear Euler-Bernoulli beam theory in 3D and explains how the corotational approach is used to model large displacements. The document also discusses modeling more advanced beam sections with non-coincident shear and elastic centers.

Uploaded by

Fran Bottero
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views12 pages

05.euler Beams

This document provides an overview of corotational Euler-Bernoulli beam finite elements as implemented in Chrono::Engine. It first introduces the corotational formulation which allows large displacements while requiring small strains. It then summarizes the linear Euler-Bernoulli beam theory in 3D and explains how the corotational approach is used to model large displacements. The document also discusses modeling more advanced beam sections with non-coincident shear and elastic centers.

Uploaded by

Fran Bottero
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Chrono::Engine technical documentation

Euler-Bernoulli corotational
beams in Chrono::Engine
Alessandro Tasora
[email protected]

April 7, 2016

Abstract
This document presents some insights on the theory of corotational finite elements
of Euler-Bernoulli type as implemented in Chrono::Engine . This type of finite element
can be used for beams with large displacements.

1. Introduction
Among the various methods that allow finite element simulations with large
geometric deformations, the corotational approach is one the most versatile
because it fosters the reuse of formulas already developed for classical linear
finite elements, that are widely available in literature.
We recall that in this context the corotational approach allows large dis-
placements but it requires that strains must be small.
In this document we explain the theory behind the
chrono::fea::ChElementBeamEuler finite element.
These finite elements are based on corotated Eulero-Bernoulli elements. In
the following section we will briefly recall the basics of the Eulero-Bernoulli
linear beam theory in 3D, and we will explain the corotational approach to use
them in large displacements.

2. Eulero-Bernoulli three-dimensional beams


The theory of Eulero-Bernoulli beams is explained in many textbooks, here we
recall only the main formulas. We make the assumption that material points
on the normal to the mid-line remain on the normal during the deformation.
We define the properties of the section of the beam with the following param-
eters: area moments of inertia Izz and Iyy , Young modulus E, shear modulus

1
Chrono::Engine technical documentation

G, area A, torsion constant J.


Note that shear is not considered in Euler-Bernoulli theory: these beams are
well suited for problems with thin slender beams, and are less fit for thick short
beams where the shear effects could be relevant. This said, we still introduced
the shear modulus G, but this is required only for the torsional effects.
In the plane case, the following constitutive equations are used 1 , with (as-
sumed small) deflection w along its abscissa, transverse load q and abscissa
ς:
d2 d2 w
 
EI =q
dς 2 dς 2
This holds in the two transverse directions y and z, then similar constitutive
equations exist for torsion load on x and axial load on x. The state of a fi-
nite element of a typical Eulero-Bernoulli beam, as seen in a the element local
coordinate system F , depends on the following vector that contains the local
displacements and local rotations of the two A and B end nodes:
 
dA
θA 
d= dB 
 (1)
θB
This is used to get the local deflection w along the abscissa (the local x
direction), once d is given, by using the typical cubic Hermite shape functions
N (ς) (that we do not report for sake of space) as in:
 
dA,y
 θ A,y 
wy (ς) = NdA (ς) NθA (ς) NdB (ς) NθB (ς)  dB,y 
 (2)
θ B,y
Same for z deflection. For torsion and axial deformation, shape functions
are just linear interpolations and we do not report them.
Putting all together, for both y and z tranverse directions, and considering
axial and torsional effects, with a matrix of shape functions S, local deflection
d(ς) and local slope θ(ς) are:
 
d(ς)
= [S]d (3)
θ(ς)

Derivatives of shape functions can also be used to express local curvature


d2 w
dς 2 . This can be useful also because, for post-processing, once the curvature
d2 w
dς 2 is known, the internal torque M at a section is easily computed as

d2 w
M = −EI
dς 2
1 here expressed without the inertial terms for simpler expression

2
Chrono::Engine technical documentation

For reference, we report here the local stiffness matrix for a three dimensional
Eulero-Bernoulli beam, whose degrees of freedom are arranged as in the d vector:

 
ku 0 0 0 0 0 −ku 0 0 0 0 0

 kv 0 0 0 kvψ 0 −kv 0 0 0
kvψ 


 kw 0 −kwθ 0 0 0 −kw 0 −kwθ
0 


 kφ 0 0 0 0 0 −kφ 0
0 


 kθ 0 0 0 kwθ 0 kθθ
0 

 kψ 0 −kvψ 0 0 0
kψψ 
K= 

 ku 0 0 0 0
0 


 kv 0 0 −kvψ 
0 
 kw 0 kwθ
0 
 Sym. 

 kφ 0
0 

 kθ
0 

(4)
12EI 4EI 6EI 2EI
where kw = L3 yy , kθ = Lyy , kwθ = L2yy , kθθ = Lyy , kv = 12EI L3 ,
zz

4EIzz 6EIzz 2EIzz EA GJ


kψ = L , kvψ = L2 , kψψ = L , ku = L , kφ = L .
kw = 12EIyy /L3 , kθ = 4EIyy /L, kwθ = 6EIyy /L2 , kθθ = 2EIyy /L, kv =
12EIzz /L3 , kψ = 4EIzz /L, kvψ = 6EIzz /L2 , kψψ = 2EIzz /L, ku = EA/L,
kφ = GJ/L.

3. Advanced beam sections

Figure 1: Elastic center Ce for a generic section with arbitrary shape; moments
of inertia Iyy and Izz could be expressed relative to axes being rotated by an
angle αe . The shear center Cs often coincides with Ce in simple symmetric
sections.

The expression of Eq. (4) is valid for symmetric sections whose shear center
Cs and elastic center Ce are coincident with the centerline reference. A more
general case is depicted in Fig. 1. Denoting with ys and zs the offsets of the shear

3
Chrono::Engine technical documentation

center, with ye and ze the offsets of the elastic center, with αe the rotation of
the axes used for obtaining of Iyy and Izz , and assuming that those parameters
are constant through the length of the beam, one can transform the local matrix
K as:
K 0 = Ts Tc Tr KTr t Tc t Ts t (5)
where
 

 Rα 
 Tr = blockdiag Rα

Tr = 
 Rα Rα Rα
Rα 

with  
1 0 0
; Rα = 0 cos(αe ) − sin(αe ) exp(αe e1 ×)
0 sin(αe ) cos(αe )
and
 
    0 0 0
TcA 06×6 I 3×3 03×3
Tc = ; TcA = TcB = ; Tczy =  cz 0 0
06×6 TcB Tczy I 3×3
−cy 0 0
(6)
and
 
    −sy0 sz
TsA 06×6 I 3×3 03×3
Ts = ; TsA = TsB = ; Tszy = 0
0  0
06×6 TsB Tszy I 3×3
00 0
(7)
Note that the stiffness matrix of Eq. (4), or Eq. (5), is expressed here in symbolic
form only for the simple case of constant section and constant material; for more
generic cases (ex. varying section) one should compute K by Gauss quadrature.

4. Corotated beams
Figure 2 shows the concept of the corotational formulation in Chrono::Engine.
A floating coordinate system F follows the deformed element, thus the overall
gross motion into the deformed state CD can be seen as the superposition of
a large rigid body motion from the reference configuration C0 to the so called
floating or shadow configuration CS , plus a local small-strain deformation from
CS to CD . In this work, underlined symbols will represent variables expressed
in the basis of the floating reference F .
The rationale of the corotational approach is a procedure to compute a global
tangent stiffness K e and a global force f e for each element e, given its local K,
its local f and the rigid body motion of the frame F in C0 to F in CS .
Whenever the element moves, the position and rotation of F is updated.
In literature there are many options to this end; to avoid dependence on con-
nectivity [7], in our implementation we decided to put the origin of F in the

4
Chrono::Engine technical documentation

A
CD

A0 CS
C0
dB
B
F0
B0 dB

Wy
xB
xB0

W
Wz Wx

Figure 2: A schematic representation of the corotational concept.

midpoint of the AB segment, as xF = 12 (xB −xA ), and we align its X axis with
xB − xA . The remaining Y and Z axes of F are obtained with a Gram-Schmidt
orthogonalization, enforcing Y to bisect the Y axes of A and B when projected
on the plane orthogonal to X. This is important in case of torsion.
The rotation matrix of F is RF ∈ SO3; it is parametrized with the unit
quaternion ρF ∈ H1 . Similarly, quaternions are used to store the rotations of
the two nodes, with ρA and ρB . Quaternions are used also to define the rotation
of rigid bodies in the system, if any. For this reason it is also easy to ’connect’
an Euler beam end to a body, for example using the chrono::ChLinkMate
constraints.
The state of a system with beams is s = [q, v] with q =
[x1 , ρ1 , x2 , ρ2 , . . . , xn , ρn ] ∈ R(3+4)n and v = [v 1 , ω 1 , v 2 , ω 2 , . . . , v n , ω n ] ∈
R(3+3)n . Note that, because of some algorithmic optimizations, we consider
ω i to be expressed in the local basis of the i-th node unlike xi , ρi , v i that are
considered in the global basis: this is different from implementations in many
other simulation codes.
For each element, given the global positions and rotations of the two end
nodes, stored in the s state at indexes iA and iB , it is possible to compute the
actual displacement part of d as dA = xA − xA0 = RtF0 (xA0 − xF0 ) − RtF (xA −
xF ) and dB = xB − xB0 = RtF0 (xB0 − xF0 ) − RtF (xB − xF ).
The rotation part, however, introduces a complication, owing to the fact
that finite rotations do not compose as vectors and must be dealt with special
algebraic tools. First, one must compute the local rotation of nodes respect
to the F floating reference with RA = RtF RA RtA∆ and RB = RtF RB RtB∆ .
Equivalently, one can use quaternion products to write: ρA = ρtF ρA ρtA∆ and
ρB = ρtF ρB ρtB∆ . Here the optional term ρtA∆ (or RtA∆ ) represents the initial
rotation of node A respect to F0 .
Then, the finite rotation pseudovectors θ A and θ B are obtained in the follow-

5
Chrono::Engine technical documentation

ing way. It is known that, for an element R in Lie group SO(3) and an element
Θ in the corresponding Lie algebra so(3), one has Θ = skew(θ) where θ is also
an element of the Lie group Spin(3), double cover of SO(3). Vice versa, one can
extract the θ vector from the Θ spinor by computing θ = axial(Θ). Also, it
holds R = exp(Θ) and Θ = Log(R), where exp(·) builds the rotation matrix
using an exponential; for details on this exponential and the implementation of
skew(·), axial(·), Log(·), see for example [11].
In the work of other Authors, the theory above is used to compute θ A =
axial(Log(RA )), but in our case the adoption of quaternions lead to an al-
ternative, more straightforward expression. In fact it is known that for a unit
quaternion ρ ∈ H1 it holds ρ = [cos(θ/2), u sin(θ/2)], with rotation angle θ = |θ|
about rotation unit vector u = θ/θ. Therefore it is possible to compute θ A and
θ B as: θA = 2 arccos(<(ρA )), uA = sin(θ1A /2) =(ρA ), and θ A = θA uA (the same
for the B node).
Once d = [dA , θ A , dB , θ B ] has been computed, well-known theories are avail-
able to compute the stiffness matrix K = K(d). in this work we compute K
using the Eulero-Bernoulli theory, and in general we set f in = Kd.
The local data K and f in must be mapped to the global reference: to this
end we use the corotational approach expressed in [5], where the adoption of
projectors that filter rigid body motion is used to improve the consistency and
the convergence of the method. Such formulation requires the introduction of
various matrices, in the following we succinctly report them, along with modi-
fications that we use in our method.
∂θ
• the Λ(θ) = ∂ω  2is Λ(θ) = I 3×3 −
matrix, whose analytic expression
1 2 1 1
2 skew(θ) + ζskew(θ) with ζ = 1 − 2 θcotan( 2 θ) /θ ,

• the H transformation matrix:


   
Hn (θ A ) 06×6 I 3×3 03×3
H= ; Hn (θ) = (8)
I 6×6 Hn (θ B ) 03×3 Λ(θ)

that tends to a unit matrix I 12×12 for θ ↓ 0,


• the P projector matrix: P = I 12×12 − S D G where S D is the so called
spin lever matrix, built with xA and xB , the positions of the end nodes
respect to the center F of the beam, expressed in F basis:
 
−skew(xA )
 I 3×3
SD = 

−skew(xB )
 (9)
I 3×3

and where G is the so called spin fitter matrix, that takes into account the
change of orientation of the F frame as the end nodes change position or
rotation. For the two nodes beam, it is G = [∂ω F /∂xA , ∂ω F /∂ω A , . . .],
and for our custom choice of orientation and position of F , described at

6
Chrono::Engine technical documentation

the beginning of this section, we have


 
0 0 0 1/2 0 0 0 0 0 1/2 0 0
G= 0 0 1/L 0 0 0 0 0 −1/L 0 0 0 
0 −1/L 0 0 0 0 0 1/L 0 0 0 0
(10)
Note that this expression is different from the one reported in [10] because
they put the F frame at the beginning of the beam whereas we put it in
the middle, moreover it rotates a bit differently,

• the R rotation-transformation matrix:


 
RF
 RtA RF 
R =   (11)
 RF 
RtB RF

Note that R is different from the one often reported in literature, ex.
in in [10] or [5], because we update the rotation of nodes with rotation
pseudovectors expressed in node local coordinates (hence the RtA and RtB
transformation), coherently with what we said about angular velocities
being expressed in local references and not in global reference, in our
state s.

Given the matrices above, one can compute the global version of internal
forces:
f in = R P t H t f in (12)
For the computation of the global tangent stiffness, one needs two additional
matrices. First, we split the last part of Eq. (12) in four three-dimensional vec-
tors: P t H t f in = [nA , mA , nB , mB ], then we build the F nm and F n matrices:
   
skew(nA ) skew(nA )
skew(mA )  03×3 
F nm =   skew(nB )  , F n = skew(nB )
   (13)
skew(mB ) 03×3
Finally one can compute the tangent stiffness matrix of the element in global
coordinates, also accounting for geometric stiffening:

R P t H t KHP − F nm G − Gt F tn P + P t LH P Rt

K= (14)
K= R (K M − K GR − K GP + K GH ) Rt (15)

We remark the following notes:


• the three terms K GR (related to change in rotation of the F frame),
K GP (related to changes in projectors), K GH (related to changes in H)
are responsible of the so called geometric stiffness,

7
Chrono::Engine technical documentation

• the K GH term is not used in our formulation since we found no major


benefits in computing it; see [5] for details on LH ,
• the K M , which represents the so called material stiffness, is always sym-
metric (at least with Eulero-Bernoulli beams), but the terms for geomet-
ric stiffness introduce asymmetry; this can be a major drawback because
many iterative solvers benefit from symmetric matrices 2 ;
• some Authors [9] show that, under mild assumptions, neglect-
ing the asymmetric part does not hampers the convergence
of Newton-Raphson iterations; hence the variant: K symm =
R P t H t KHP − F sy G − Gt F tsy P Rt where F sy = 21 (F nm + F n )


5. Benchmark: Princeton beam experiment


This benchmark aims at the validation of the finite element implementations
in a static problem with geometric nonlinearity. A thin cantilevered beam,
constrained in O, is subject to large deformations and large rotations because
of a tip load in E; for different angles θ one obtains out-of-plane displacements
even if the load is vertical, and the beam is subject to a twisting action.
Experimental results, for a beam made with 7075 aluminium, are available
in [3, 4] and are used for comparison.
We list the main properties, with reference to Figure 3: beam length L =
0.508m, section thickness T = 3.2024mm, section height H = 12.77mm, Young
modulus E = 71.7GPa, ν = 0.31, G = E (1+ν) 2 = 27.37GPa.
Three loading conditions are tested: P1 = 4.448N, P2 = 8.896N, and P3 =
13.345N, for increasing values of the θ angle in the [0◦ , 90◦ ] range.
Results in Figs. 4, 5 and 6 show a good agreement between the present
corotational beam formulation and the geometrically-exact beam formulations
presented in [2] for Dymore and in [6] for MBDyn, as well as an agreement with
the experimental results in [3, 4], which was recently discussed in [1].
We remark that, because of the geometric nonlinearity, the solver has to
perform few Newton-Raphson steps before obtaining a zero residual. For very
large nonlinearities, a continuation strategy might help the convergence of the
Newton-Raphson solver.

6. Benchmark: Lateral buckling


This benchmark tests nonlinear effects in a dynamic context. A beam is bent
in its plane of greatest flexural rigidity, up to the point that triggers lateral
2 For instance, the MINRES and CG Krylov solvers expect Hermitian matrices, whereas

unsymmetric matrices would require more advanced solvers like GCR or GMRES. The latter
cannot exploit the three-term recurrency feature as in Hermitian matrices, hence restarting
is needed to save memory. Incidentally, we experienced that, in some problems, restarting
alone is not sufficient because GMRES or GCR can be trapped in cycling patterns, so more
complex restarting strategies with deflating and anti-stagnation must be adopted.

8
Chrono::Engine technical documentation

5
Experimental
Dymore, MBDyn
4 C::E Euler-Bernoulli

Twist angle [deg]


3
P=13.34 [N]

2
P=8.89 [N]

1
P=4.45 [N]

0
0 15 30 45 60 75 90
Loading angle θ [deg]

Figure 3: Setup of the benchmark for Figure 4: Twist rotation of the beam
the Princeton beam experiment. for the Princeton experiment.

0.25 0.025
Experimental
Experimental
Dymore, MBDyn
Dymore, MBDyn
0.2 C::E Euler-Bernoulli 0.02 C::E Euler-Bernoulli
Displacement U2 [m]

P=13.34 [N]
Displacement U3 [m]

P=13.34 [N]
0.15 0.015

P=8.89 [N] P=8.89 [N]


0.1 0.01

P=4.45 [N]
0.05 P=4.45 [N] 0.005

0 0
0 15 30 45 60 75 90 0 15 30 45 60 75 90
Loading angle θ [deg] Loading angle θ [deg]

Figure 5: Flapwise displacement at Figure 6: Chordwise displacement at


the beam tip versus loading angle for the beam tip versus loading angle for
three loading conditions. three loading conditions.

buckling. In a quasi-static non-linear analysis, results are visible in Fig. 8.


In the context of dynamics, when buckling occurs, the beam snaps laterally
and twists, inducing highly oscillatory motions. The corotational approach can
capture the nonlinear nature of this phenomena.
As shown in Fig. 7, the RC beam is clamped at point R, its length is L = 1m,
and its rectangular section has size H = 100mm and B = 10mm.
To induce the snapping, a tip load at C is imposed by mean of a rotating
crank GB and a vertical rod T B, with a spherical joint in C and a revolute
joint in B. An initial imperfection is simulated by displacing the vertical bar
and the crank by an offset d = 0.1mm in the off-plane direction i2 . The crank
has length Lc = 0.05m and a circular section with diameter Dr = 24mm, while
the vertical rod has a length Lr = 0.25m and a circular section with diameter
Dr = 48mm. The rotation of the crank is initially enforced by a prescribed
motion function φc (t) = π(1 − cos(πt/Tc ))/2, with Tc = 0.4s, then for t > Tc it
is φc (t) = π.

9
Chrono::Engine technical documentation

0.05
MBDyn
C::E

Mid lateral displ. [m]


0

-0.05
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time t [s]

Figure 7: Setup of the benchmark for Figure 8: Static displacement of the


lateral buckling dynamics. beam along i2 , at the mid point.

0.05
30
Dymore
Dymore
MBDyn MBDyn
20
C::E C::E
Mid angular velocity [rad/s]

10
Mid lateral displ. [m]

0 0

-10

-20

-0.05 -30
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time t [s] Time t [s]

Figure 9: Displacement of the beam Figure 10: Angular velocity of the


along i2 , at the mid point. beam, at the mid point.

All parts are made of aluminum, hence with Young modulus E = 73GPa
and Poisson ratio ν = 0.3. Given the above mentioned sections, their inertia
values Izz and Iyy and their torsion constants J are computed using formulas
available in classical textbooks.
In the Chrono::Engine test, the RC beam is modeled with 12 finite elements,
whereas the crank and the rod are modeled with 3 elements each. Results
in Figs. 9 and 10 show that the lateral buckling is triggered exactly at the
same moment for all the formulations, although the Chrono::Engine integral
is more damped. The numerical damping is a consequence of the fact that
the Chrono::Engine default integrator is a timestepper for DVI non-smooth
problems [8, 12]. This, in the case of no frictional contacts, boils down to
a linearly-implicit first-order scheme, hence it shows the same damping effect
of an implicit Euler method. Other integrals are obtained with higher order
methods and are affected by numerical damping to a much lower degree.

10
Chrono::Engine technical documentation

7. Conclusion
Quaternions are extensively used in Chrono::Engine to work with rotations.
Look into the documentation of the the chrono::ChQuaternion class for ad-
ditional information.
More information available in Chrono::Engine web site.

References
[1] O. A. Bauchau, G. Wu, P. Betsch, A. Cardona, J. Gerstmayr, B. Jonker,
P. Masarati, and V. Sonneville. Validation of flexible multibody dynamics
beam formulations using benchmark problems. In IMSD 2014, Korea, June
30-July 3 2014.
[2] Olivier A. Bauchau and N. K. Kang. A multibody formulation for helicopter
structural dynamic analysis. Journal of the American Helicopter Society,
38(2):3–14, 1993.

[3] E. H. Dowell and J. J. Traybar. An experimental study of the nonlin-


ear stiffness of a rotor blade undergoing flap, lag, and twist deformations.
Aerospace and Mechanical Science Report 1194, Princeton University, Jan-
uary 1975.
[4] E. H. Dowell and J. J. Traybar. An experimental study of the nonlin-
ear stiffness of a rotor blade undergoing flap, lag, and twist deformations.
Aerospace and Mechanical Science Report 1257, Princeton University, De-
cember 1975.
[5] C.A. Felippa and B. Haugen. A unified formulation of small-strain corota-
tional finite elements: I. theory. Computer Methods in Applied Mechanics
and Engineering, 194(2124):2285 – 2335, 2005. Computational Methods for
Shells.
[6] Gian Luca Ghiringhelli, Pierangelo Masarati, and Paolo Mantegazza.
A multi-body implementation of finite volume beams. AIAA Journal,
38(1):131–138, January 2000.

[7] P. Masarati and M. Morandini. Intrinsic deformable joints. Multibody


System Dynamics, 23(4):361–386, 2010. doi:10.1007/s11044-010-9194-y.
[8] Dan Negrut, Alessandro Tasora, Hammad Mazhar, Toby Heyn, and Philipp
Hahn. Leveraging parallel computing in multibody dynamics. Multibody
System Dynamics, 27:95–117, 2012.

[9] B. Nour-Omid and C.C. Rankin. Finite rotation analysis and consistent
linearization using projectors. Computer Methods in Applied Mechanics
and Engineering, 93(3):353 – 384, 1991.

11
Chrono::Engine technical documentation

[10] C.C. Rankin and B. Nour-Omid. The use of projectors to improve finite
element performance. Computers & Structures, 30(12):257 – 267, 1988.
[11] J.C. Simo and L. Vu-Quoc. A three-dimensional finite-strain rod model.
part ii: Computational aspects. Computer Methods in Applied Mechanics
and Engineering, 58(1):79 – 116, 1986.

[12] Alessandro Tasora and Mihai Anitescu. A matrix-free cone complemen-


tarity approach for solving large-scale, nonsmooth, rigid body dynamics.
Computer Methods in Applied Mechanics and Engineering, 200(5-8):439 –
453, 2011.

12

You might also like