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.
  • Add elements to a mesh using ChMesh::AddElement()
  • 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
  • Quadratic interpolation, linear stress
  • 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
  • Quadratic interpolation
  • 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

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)
  • Already available models:

Theory

Additional information regarding the implementation of finite elements in Chrono can be found at the
whitepapers page.

Examples

See demos and examples at the tutorials page.