List of FEA elements

Different types of finite elements can be used in the FEA module. In this page you can find a description of their properties.

• An element connects N nodes.
• Nodes are handled via std::shared_ptr shared pointers: you do not have to worry about deleting them.
• Initialize the elements by telling which node are connected with SetNodes()
• Set a material property to the element by using SetMaterial()

# ChElementSpring

• 2 nodes of ChNodeFEAxyz type
• Large displacements allowed
• Zero mass element
• Parameters:
• rest length L,
• stiffness k,
• damping r
• The simpliest element: a starting point to learn how to implement finite elements

# ChElementBar

• 2 nodes of ChNodeFEAxyz type
• Very similar to ChElementSpring, except it has a mass
• No torque at the ends (like two spherical joints)
• Large displacements allowed
• Parameters:
• rest length L,
• Section area A,
• Young modulus E,
• damping

# ChElementTetra_4

• 4 nodes of ChNodeFEAxyz type
• Linear interpolation, constant stress
• 1 integration point
• Corotational formulation for large displacements
• Uses polar decomposition for corotated frame
• Useful for solids
• Fastest element for solids

# ChElementTetra_10

• 10 nodes of ChNodeFEAxyz type
• 4 integration points
• Corotational formulation for large displacements
• Uses polar decomposition for corotated frame
• Note: initial position assuming nodes n>4 exactly at mid-length of edges
• Useful for solids

# ChElementHexa_8

• 8 nodes of ChNodeFEAxyz type
• Linear interpolation
• 8 integration points
• Corotational formulation for large displacements
• Useful for solids, with structured grids

# ChElementHexa_20

• 20 nodes of ChNodeFEAxyz type
• 8 at vertexes, 12 at edges midpoints
• 27 integration points
• Corotational formulation for large displacements
• Useful for solids, with structured grids

# ChElementBrick

• 8 nodes of ChNodeFEAxyz type
• Linear interpolation
• 8 integration points
• Use EAS Enhanced Assumed Strain
• Large strains
• Can use Mooney-Rivlin model for hyperelastic materials
• Useful for solids, with structured grids

# ChElementBrick_9

• 9 nodes of ChNodeFEAxyz type (8 at the corners, 1 at the center)
• Linear interpolation
• 8 integration points
• Strain formulations for large strains:
• Green-Lagrange
• Hencky
• Plasticity:
• J2 (metals)
• DruckerPrager (soil, plastics)
• DruckerPrager_Cap (soil, plastics)
• Useful for solids, with structured grids

# ChElementCableANCF

• 2 nodes of chrono::fea::ChNodeFEAxyzD type
• 3 integration point (stiffness), 4 (mass)
• ANCF formulation for large displacements
• Thin beam (no shear)
• Does not model torsional stiffness (useful for wires, cables)
• Section property: A, I, E, density, damping

# ChElementBeamANCF

• 3 nodes of chrono::fea::ChNodeFEAxyzDD type
• ANCF formulation for large displacements
• Section property: rectangular width-height, E, Poisson ratio, shear correction factors, density

# ChElementBeamEuler

• 2 nodes of chrono::fea::ChNodeFEAxyzrot type
• Linear interpolation
• 1 integration point (default)
• Corotational formulation for large displacements
• Thin beam (no shear), based on the Euler-Bernoulli thin beam theory
• Section property:
• A, Iyy, Izz, E, density, damping
• G, J for torsional stiffness, plus optional:
• αe , ze , ye , for offset/rotated section
• zs , ys for offset shear center

# ChElementBeamIGA

• Isogeometric formulation (IGA) of a Cosserat rod, with large displacements
• User-defined order n (ex: 1=linear 2=quadratic, 3=cubic).
• Each element is a span of a b-spline, so each element uses n+1 control points, ie. nodes of chrono::fea::ChNodeFEAxyzrot type
• Thick beam shear effects are possible, v. Timoshenko theory
• Reduced integration to correct shear locking
• Initial curved configuration is supported
• Suggestion: use ChBuilderBeamIGA for easy creation a full B-spine, ie. given full knot sequence and points as in the second figure above.
• Section defined in a modular way, with
• Elasticity model
• Plasticity model (optional)
• Damping model (optional)

# ChElementShellReissner

• 4 nodes of chrono::fea::ChNodeFEAxyzrot type
• Bi-linear interpolation
• 4 integration points (default)
• Allows large displacements, exponential map used for SO3
• Thick shells allowed
• Based on the Reissner 6-field shell theory (w. drilling stiffness)
• Can have multi-layered materials, using CLT thory
• ANS, shear-lock free
• Nodes need not to be aligned to shell (rotation offsets auto-computed in initialization)

# ChElementShellANCF

• 4 nodes of chrono::fea::ChNodeFEAxyzD type
• Bi-linear interpolation
• 4 integration points (default)
• Allows large displacements, using ANCF formulation
• Thick shells allowed
• Can have multi-layered materials
• ANS-EAS, shear-lock free
• Nodes D must be aligned to shell normal at initialization

# ChElementShellANCF_8

• 8 nodes of chrono::fea::ChNodeFEAxyzDD type
• Higher order interpolation
• Allows large displacements, using ANCF formulation
• Thick shells allowed
• Can have multi-layered materials
• ANS-EAS, shear-lock free
• Nodes D must be aligned to shell normal at initialization

# ChElementShellBST

• Triangular thin-shell
• 6 nodes of chrono::fea::ChNodeFEAxyz type
• 1,2,3 from the triangle
• 4,5,6 from the neighbouring triangles (any can be optional if on the boundary)
• Constant strain, constant curvature computed from bent triangle neighbours
• Allows large deformation
• Can have multi-layered materials
• Based on Kirchhoff-Love theory (no shear), good for tissues, sails, etc.
• Section defined with
• Elasticity model
• Plasticity model (optional)
• Damping model (optional)