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

The chrono::fea::ChElementSpring is the simplest element, and it can be used as a starting point to learn how to implement finite elements.

Moreover, it is useful for problems like trusses, suspensions, etc. this base implementation This spring assumes linear behavior, but experienced programmers can override this class and implement more advanced non-linear spring models.

  • 2 nodes of ChNodeFEAxyz type
  • Large displacements allowed
  • Zero mass element
  • Parameters:
    • rest length L,
    • stiffness k,
    • damping r
  • Stiffness matrix computed analytically for high performance (both material and geometric stiffness are supported).

ChElementBar

The chrono::fea::ChElementBar is quite similar to the ChElementSpring, but adds the effect of mass, and uses different parameters at construction time.

  • 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 (like in Rayleight beta parameter)
  • Stiffness matrix computed analytically for high performance (both material and geometric stiffness are supported).

ChElementTetra_4

The chrono::fea::ChElementTetra_4 is the simplest volume element for simulating 3D problems.

  • 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
  • Stiffness matrix computed analytically for high performance (note, geometric stiffness term not added at the moment).

ChElementTetra_10

The chrono::fea::ChElementTetra_10 is a quadratic volume element based on tetahedrons with intermediate nodes along edges, as in figure.

  • 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
  • Stiffness matrix computed analytically for high performance (note, geometric stiffness term not added at the moment).

ChElementHexa_8

The chrono::fea::ChElementHexa_8 is a linear isoparametric element of brick type.

  • 8 nodes of ChNodeFEAxyz type
  • Linear interpolation
  • 8 integration points
  • Corotational formulation for large displacements
  • Useful for solids, with structured grids
  • Stiffness matrix computed analytically for high performance (note, geometric stiffness term not added at the moment).

ChElementHexa_20

The chrono::fea::ChElementHexa_20 is a quadratic isoparametric element of brick type.

  • 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
  • Stiffness matrix computed analytically for high performance (note, geometric stiffness term not added at the moment).

ChElementBrick

The chrono::fea::ChElementBrick is a brick element implemented using the ANCF formulation.

  • 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

The chrono::fea::ChElementBrick_9 is a brick element implemented using the ANCF formulation.

  • 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

The chrono::fea::ChElementCableANCF is a fast element for the simulation of thin beams (cables, wires, ropes) where one is not interested in twisting, shear, etc.

  • 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, defined via a chrono::fea::ChBeamSectionCable object.

ChElementBeamANCF

The chrono::fea::ChElementBeamANCF is a thick beam element implemented using the ANCF formulation. As an alternative, we also provide a chrono::fea::ChElementBeamIGA with more advanced functionality in the field of Geometrically Exact Beam theory.

  • 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

The chrono::fea::ChElementBeamEuler is a thin beam element, using the corotated Euler-Bernoulli theory in 3D. For low/moderate bending, and if shear effects are not important (thin beam assumption), this formulation is very efficient.

ChElementBeamIGA

The chrono::fea::ChElementBeamIGA is a thick beam element based on the Isogeometric Analysis (IGA) hence with a B-Spline shape, and relying on the Geometrically Exact Beam theory.

ChElementShellReissner

The chrono::fea::ChElementShellReissner is a quadrilateral thick shell element.

ChElementShellANCF

The chrono::fea::ChElementShellReissner is a quadrilateral thick shell element based on the ANCF approach.

  • 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

The chrono::fea::ChElementShellANCF_8 is a quadrilateral thick shell element based on the ANCF approach.

  • 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

The chrono::fea::ChElementShellBST is a triangular thin shell element that offers very high computational efficiency.

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.