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).

ChElementTetraCorot_4

The chrono::fea::ChElementTetraCorot_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).

ChElementTetraCorot_10

The chrono::fea::ChElementTetraCorot_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).

ChElementHexaCorot_8

The chrono::fea::ChElementHexaCorot_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).

ChElementHexaCorot_20

The chrono::fea::ChElementHexaCorot_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).

ChElementHexaANCF_3813

The chrono::fea::ChElementHexaANCF_3813 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

ChElementHexaANCF_3813_9

The chrono::fea::ChElementHexaANCF_3813_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

ChElementHexaANCF_3843

The chrono::fea::ChElementHexaANCF_3843 is a 8 node brick element based on the ANCF approach with a full set of position vector gradient coordinates at each node.

  • 8 nodes of ChNodeFEAxyzDDD type
  • 64 integration points
  • ANCF formulation for large displacements
  • 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_3243

The chrono::fea::ChElementBeamANCF_3243 is a thick beam element implemented using the ANCF formulation with a full set of position vector gradient coordinates at each node. As an alternative, we also provide a chrono::fea::ChElementBeamIGA with more advanced functionality in the field of Geometrically Exact Beam theory.

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

ChElementBeamANCF_3333

The chrono::fea::ChElementBeamANCF_3333 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_3423

The chrono::fea::ChElementShellANCF_3423 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_3443

The chrono::fea::ChElementShellANCF_3443 is a quadrilateral thick shell element based on the ANCF approach with a full set of position vector gradient coordinates at each node.

  • 4 nodes of chrono::fea::ChNodeFEAxyzDDD type
  • Allows large displacements, using ANCF formulation
  • Thick shells allowed
  • Can have multi-layered materials
  • Locking is a concern with this element as it is currently formulated

ChElementShellANCF_3833

The chrono::fea::ChElementShellANCF_3833 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
  • Formulated to be 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.