chrono::fea Namespace Reference

Description

Namespace for FEA classes.

Namespaces

 rotutils
 Utility functions for rotations in 3D and their derivatives.
 

Classes

class  ChBeamMaterialInternalData
 Base class for internal variables of materials. More...
 
class  ChBeamSection
 Base class for properties of beam sections. More...
 
class  ChBeamSectionCable
 Simplified geometry for a 'cable' beam section in 3D, that is a beam without torsional stiffness and with circular section (i.e.same Ixx and Iyy properties). More...
 
class  ChBeamSectionCosserat
 Base class for properties of beam sections of Cosserat type (with shear too) such as ChElementBeamIGA. More...
 
class  ChBeamSectionCosseratEasyCircular
 A simple specialization of ChBeamSectionCosserat if you do not need to define its separate models for elasticity, plasticity, damping and inertia. More...
 
class  ChBeamSectionCosseratEasyRectangular
 A simple specialization of ChBeamSectionCosserat if you do not need to define its separate models for elasticity, plasticity, damping and inertia. More...
 
class  ChBeamSectionEuler
 Base class for all constitutive models of sections of Euler beams. More...
 
class  ChBeamSectionEulerAdvanced
 Advanced section of an Euler-Bernoulli beam in 3D, for a homogeneous density and homogeneous elasticity, given basic material properties (Izz and Iyy moments of inertia, area, Young modulus, etc.), but also supporting the advanced case of Iyy and Izz axes rotated respect reference, elastic center with offset from centerline reference, and shear center with offset from centerline reference. More...
 
class  ChBeamSectionEulerAdvancedGeneric
 General purpose section of an Euler-Bernoulli beam in 3D, not assuming homogeneous density or homogeneous elasticity, given basic material properties. More...
 
class  ChBeamSectionEulerEasyCircular
 A simple specialization of ChBeamSectionEuler if you just need the simplest model for a beam with circular centered section, with uniform elasticity and uniform density. More...
 
class  ChBeamSectionEulerEasyRectangular
 A simple specialization of ChBeamSectionEuler if you just need the simplest model for a rectangular centered beam, with uniform elasticity and uniform density. More...
 
class  ChBeamSectionEulerSimple
 Basic section of an Euler-Bernoulli beam in 3D, for a homogeneous density and homogeneous elasticity, given basic material properties (Izz and Iyy moments of inertia, area, Young modulus, etc.). More...
 
class  ChBeamSectionRayleighAdvancedGeneric
 This works exactly as ChBeamSectionEulerAdvancedGeneric, but adds the effect of Jyy Jzz rotational sectional inertias. More...
 
class  ChBeamSectionRayleighEasyCircular
 This works exactly as ChBeamSectionEulerEasyCircular, but adds the effect of Jyy Jzz rotational sectional inertias. More...
 
class  ChBeamSectionRayleighEasyRectangular
 This works exactly as ChBeamSectionEulerEasyRectangular, but adds the effect of Jyy Jzz rotational sectional inertias. More...
 
class  ChBeamSectionRayleighSimple
 This works exactly as ChBeamSectionEulerSimple, but adds the effect of Jyy Jzz rotational sectional inertias, whereas the conventional Euler theory would assume the mass to be concentrated in the center of mass, hence Jyy Jzz =0. More...
 
class  ChBeamSectionShape
 Base class for drawing tesselated profiles of beams in 3D views, if needed. More...
 
class  ChBeamSectionShapeCircular
 A ready-to-use class for drawing properties of circular beams. More...
 
class  ChBeamSectionShapePolyline
 A class for drawing properties of beams whose section is a set of M polylines, each with N points. More...
 
class  ChBeamSectionShapeRectangular
 A ready-to-use class for drawing properties of rectangular beams. More...
 
class  ChBuilderBeamANCF
 Utility class for creating complex beams using ChElementBeamANCF elements, for example subdivides a segment in multiple finite elements. More...
 
class  ChBuilderBeamEuler
 Utility class for creating complex beams using ChElementBeamEuler elements, for example subdivides a segment in multiple finite elements. More...
 
class  ChBuilderBeamIGA
 Utility class for creating complex beams using ChElementBeamIGA elements, for example subdivides a segment in multiple finite elements. More...
 
class  ChBuilderCableANCF
 Utility class for creating complex beams using ChElementCableANCF elements, for example subdivides a segment in multiple finite elements. More...
 
class  ChContactNodeXYZ
 Proxy to FEA nodes, to grant them the features needed for collision detection. More...
 
class  ChContactNodeXYZROT
 Proxy to FEA nodes with 3 xyz + 3 rot coords, to grant them the features needed for collision detection. More...
 
class  ChContactNodeXYZROTsphere
 Proxy to FEA nodes for collisions, with spheres associated to nodes, for point-cloud type of collisions. More...
 
class  ChContactNodeXYZsphere
 Proxy to FEA nodes for collisions, with spheres associated to nodes, for point-cloud type of collisions. More...
 
class  ChContactSurface
 Base class for contact surfaces in FEA meshes. More...
 
class  ChContactSurfaceMesh
 Class which defines a contact surface for FEA elements, using a mesh of triangles. More...
 
class  ChContactSurfaceNodeCloud
 Class which defines a contact surface for FEA elements, where only xyz nodes in the FEA model are used as contact items for the collision detection. More...
 
class  ChContactTriangleXYZ
 Contact element of triangular type. More...
 
class  ChContactTriangleXYZROT
 Contact element of triangular type - version for triangles where the nodes are of ChNodeFEAxyzrot type. More...
 
class  ChContinuumDruckerPrager
 Class for the basic properties of elastoplastic materials of Drucker-Prager type, that are useful for simulating soils. More...
 
class  ChContinuumElastic
 Class for the basic properties of materials in an elastic continuum. More...
 
class  ChContinuumElastoplastic
 Class for all elastic materials that can undergo plastic flow. More...
 
class  ChContinuumElectrostatics
 Class for material for FEA electrostatic problems. More...
 
class  ChContinuumMaterial
 Base class for properties of materials in a continuum. More...
 
class  ChContinuumPlasticVonMises
 Class for the basic properties of materials in an elastoplastic continuum, with strain yield limit based on Von Mises yield. More...
 
class  ChContinuumPoisson3D
 Class for the basic properties of scalar fields P in 3D FEM problems that can be described by Laplace PDEs of type rho dP/dt + div [C] grad P = 0. More...
 
class  ChContinuumThermal
 Class for thermal fields, for FEA problems involving temperature, heat, etc. More...
 
class  ChDampingCosserat
 Base interface for structural damping of beam sections of Cosserat type, where xyz force "n" and xyz torque "m" are a 6-dimensional function of generalized strain speeds, "e'" traction/shear speed and "k'" curvature speed, as: {n,m}=f({e',k'}) Children classes implement this function in different ways. More...
 
class  ChDampingCosseratLinear
 Simple linear lumped damping of beam sections of Cosserat type, {n,m}=f({e',k'}) where damping is proportional to speed of deformation/curvature via linear constants: More...
 
class  ChDampingCosseratRayleigh
 Simple Rayleigh damping of beam sections of Cosserat type, where damping is proportional to stiffness via a beta coefficient. More...
 
class  ChDampingKirchhoff
 Base interface for damping of thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. More...
 
class  ChDampingKirchhoffRayleigh
 Simple Rayleight damping of a Kirchhoff shell layer, where damping is proportional to stiffness via a beta coefficient. More...
 
class  ChDampingReissner
 Base interface for damping of 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner. More...
 
class  ChDampingReissnerRayleigh
 Simple Rayleight damping of a Reissner-mindlin shell, where damping is proportional to stiffness via a beta coefficient. More...
 
class  ChElasticityCosserat
 Base interface for elasticity of beam sections of Cosserat type, where xyz force "n" and xyz torque "m" are a 6-dimensional function of generalized strains, "e" traction/shear and "k" curvatures, as: {n,m}=f({e,k}) There are various children classes that implement this function in different ways. More...
 
class  ChElasticityCosseratAdvanced
 Advanced linear elasticity for a Cosserat beam. More...
 
class  ChElasticityCosseratAdvancedGeneric
 Advanced linear elasticity for a Cosserat section, not assuming homogeneous elasticity. More...
 
class  ChElasticityCosseratGeneric
 Generic linear elasticity for a Cosserat beam using directly a 6x6 matrix [E] as user-input data. More...
 
class  ChElasticityCosseratMesh
 Elasticity for a beam section in 3D, where the section is defined by a mesh of triangles. More...
 
class  ChElasticityCosseratSimple
 Simple linear elasticity model for a Cosserat beam, using basic material properties (zz and yy moments of inertia, area, Young modulus, etc.). More...
 
class  ChElasticityKirchhoff
 Base interface for elasticity of thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. More...
 
class  ChElasticityKirchhoffGeneric
 Generic linear elasticity for thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. More...
 
class  ChElasticityKirchhoffIsothropic
 Isothropic elasticity for thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. More...
 
class  ChElasticityKirchhoffOrthotropic
 Orthotropic elasticity for thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. More...
 
class  ChElasticityReissner
 Base interface for elasticity of 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner. More...
 
class  ChElasticityReissnerGeneric
 Generic linear elasticity for 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner. More...
 
class  ChElasticityReissnerIsothropic
 Elasticity of 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner. More...
 
class  ChElasticityReissnerOrthotropic
 Elasticity of 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner. More...
 
class  ChElementBar
 Simple finite element with two nodes and a bar that connects them. More...
 
class  ChElementBase
 Base class for all finite elements, that can be used in the ChMesh physics item. More...
 
class  ChElementBeam
 Base class for most structural elements of 'beam' type. More...
 
class  ChElementBeamANCF
 ANCF beam element with 3 nodes. More...
 
class  ChElementBeamEuler
 Simple beam element with two nodes and Euler-Bernoulli formulation. More...
 
class  ChElementBeamIGA
 Isogeometric formulation (IGA) of a Cosserat rod, with large displacements, based on the Geometrically Exact Beam Theory. More...
 
class  ChElementBrick
 Brick element with 8 nodes (with EAS). More...
 
class  ChElementBrick_9
 Brick element with 9 nodes. More...
 
class  ChElementCableANCF
 Simple beam element with two nodes and ANCF gradient-deficient formulation. More...
 
class  ChElementCorotational
 Class for corotational elements (elements with rotation matrices that follow the global motion of the element) More...
 
class  ChElementGeneric
 Class for all elements whose stiffness matrix can be seen as a NxN block-matrix to be splitted between N nodes. More...
 
class  ChElementHexa_20
 Class for FEA elements of hexahedron type (isoparametric 3D bricks) with 20 nodes. More...
 
class  ChElementHexa_8
 Class for FEA elements of hexahedron type (isoparametric 3D bricks) with 8 nodes. More...
 
class  ChElementHexahedron
 Class for hexahedral elements. More...
 
class  ChElementShell
 Base class for most structural elements of 'shell' type. More...
 
class  ChElementShellANCF
 ANCF laminated shell element with four nodes. More...
 
class  ChElementShellANCF_8
 ANCF laminated shell element with eight nodes. More...
 
class  ChElementShellBST
 A Kirchhoff-Love thin shell element of triangular shape. More...
 
class  ChElementShellReissner4
 Laminated thick shell with geometrically exact kinematics, with 4 nodes. More...
 
class  ChElementSpring
 Simple finite element with two nodes and a spring/damper between the two nodes. More...
 
class  ChElementTetra_10
 Tetrahedron FEA element with 10 nodes. More...
 
class  ChElementTetra_4
 Tetrahedron FEA element with 4 nodes. More...
 
class  ChElementTetra_4_P
 Tetrahedron FEM element with 4 nodes for scalar fields (for Poisson-like problems). More...
 
class  ChElementTetrahedron
 Class for tetrahedral elements. More...
 
class  ChExtruderBeamEuler
 Class for an object that continuously extrude a beam (composed of ChElementBeamEuler elements) with prescribed velocity. More...
 
class  ChExtruderBeamIGA
 Class for an object that continuously extrude a beam (composed of ChElementBeamIGA elements) with prescribed velocity. More...
 
class  ChFaceBrick_9
 Face of a linear ChElementBrick_9 tetrahedron. More...
 
class  ChFaceHexa_8
 Face of a linear ChElementHexa_8 hexahedron. More...
 
class  ChFaceTetra_4
 Face of a linear ChElementTetra_4 tetrahedron. More...
 
class  ChGaussIntegrationRule
 Class for the management of the Gauss Quadrature in 1D, 2D or 3D space. More...
 
class  ChGaussPoint
 Class for a Gauss point, that has a position (1D-3D) and a weight. More...
 
class  ChInertiaCosserat
 Base class for ineri tal properties (mass, moment of inertia) of beam sections of Cosserat type. More...
 
class  ChInertiaCosseratAdvanced
 Inertia properties of a beam of Cosserat type, not necessarily of uniform density, from the following information that allows the center of mass to be offset respect to the beam centerline: More...
 
class  ChInertiaCosseratMassref
 Inertia properties of a beam of Cosserat type, not necessarily of uniform density, from the following information that allows the center of mass to be offset respect to the beam centerline: More...
 
class  ChInertiaCosseratSimple
 Inertia properties of a beam of Cosserat type, defined from an uniform density [kg/m^3], and the following geometric information: More...
 
class  ChInternalDataLumpedCosserat
 Internal variables for basic lumped plasticity in Cosserat beams. More...
 
class  ChLinkBeamIGAslider
 Class for allowin an IGA beam to slide inside a 'outlet' represented by the x axis of a coordinate system floating with a ChBodyFrame. More...
 
class  ChLinkDirFrame
 Class for creating a constraint between the direction of a FEA node of ChNodeFEAxyzD class, and a ChBodyFrame (frame). More...
 
class  ChLinkPointFrame
 Class for creating a constraint between an FEA node of ChNodeFEAxyz type and a ChBodyFrame (frame) object. More...
 
class  ChLinkPointFrameGeneric
 Class for creating a constraint between an FEA node of ChNodeFEAxyz type and a ChBodyFrame (frame) object. More...
 
class  ChLinkPointPoint
 Class for creating a constraint between two xyz FEA nodes (points). More...
 
class  ChLinkPointTriface
 Class for creating a constraint between a xyz FEA node (point) and a triangular face given by three xyz FEA nodes, with linear shape function (ex. More...
 
class  ChLinkPointTrifaceRot
 Class for creating a constraint between a xyz FEA node (point) and a triangular face given by three xyzrot FEA nodes, with linear shape function (ex. More...
 
class  ChLoadBeamWrench
 Atomic wrench (ready to use load) Load for a wrench (force+torque) at a specific position of a beam. More...
 
class  ChLoadBeamWrenchDistributed
 Distributed constant wrench (ready to use load) Load for a wrench (force+torque) at a specific position of a beam. More...
 
class  ChLoadContactSurfaceMesh
 Class for applying loads to a contact mesh as a cluster of forces operating on the nodes of the underlying finite elements. More...
 
class  ChLoaderBeamWrench
 Atomic wrench. More...
 
class  ChLoaderBeamWrenchDistributed
 Distributed constant wrench. More...
 
class  ChMaterialBeamANCF
 Material definition. More...
 
class  ChMaterialShellANCF
 Definition of materials to be used for ANCF shells. More...
 
class  ChMaterialShellKirchhoff
 Material for a single layer of a thin shell (Kirchoff-Love shell theory, i.e. More...
 
class  ChMaterialShellReissner
 Material for a single layer of a 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al). More...
 
class  ChMaterialShellReissnerIsothropic
 For backward compatibility only! New approach: create a ChElasticityReissnerOrthotropic and create a ChMaterialShellReissner by passing the elasticity as a parameter. More...
 
class  ChMaterialShellReissnerOrthotropic
 For backward compatibility only! New approach: create a ChElasticityReissnerOrthotropic and create a ChMaterialShellReissner by passing the elasticity as a parameter. More...
 
class  ChMatrixCorotation
 Perform a corotation (warping) of a K matrix by pre- or post- multiplying it with a C matrix that has 3x3 rotation matrices R as diagonal blocks, so that C*K means: More...
 
class  ChMatterMeshless
 Class for clusters of nodes that can simulate a visco-elasto-plastic deformable solid using the approach in Mueller ("Point based.." 2004 paper), that is with a 'meshless' FEA approach. More...
 
class  ChMesh
 Class which defines a mesh of finite elements of class ChElementBase, between nodes of class ChNodeFEAbase. More...
 
class  ChMeshExporter
 Collection of mesh file writer utilities. More...
 
class  ChMeshFileLoader
 Collection of mesh file loader utilities. More...
 
class  ChMeshSurface
 Class which defines a surface for a mesh FEA elements. More...
 
class  ChNodeFEAbase
 Base class for a generic finite element node that can be stored in ChMesh containers. More...
 
class  ChNodeFEAcurv
 Generic finite element node with 9 degrees of freedom representing curvature. More...
 
class  ChNodeFEAxyz
 Class for a generic 3D finite element node, with x,y,z displacement. More...
 
class  ChNodeFEAxyzD
 Class for a generic 3D finite element node, with x,y,z displacement and a direction. More...
 
class  ChNodeFEAxyzDD
 Class for a generic 3D finite element node, with x,y,z displacement, direction, and one curvature vector OR additional direction. More...
 
class  ChNodeFEAxyzP
 Class for a generic finite element node in 3D space, with scalar field P. More...
 
class  ChNodeFEAxyzrot
 Class for a generic ED finite element node, with x,y,z displacement and a 3D rotation. More...
 
class  ChNodeMeshless
 Class for a single node in the meshless FEA cluster. More...
 
class  ChPlasticityCosserat
 Base class for plasticity of beam sections of Cosserat type. More...
 
class  ChPlasticityCosseratLumped
 Lumped plasticity of Cosserat-type beams. More...
 
class  ChPlasticityKirchhoff
 Base interface for plasticity of thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. More...
 
class  ChPlasticityReissner
 Base interface for plasticity of 6-field Reissner-Mindlin shells (kinematically-exact shell theory as in Witkowski et al.) to be used in a ChMaterialShellReissner. More...
 
class  ChPolarDecomposition
 Perform a polar decomposition of a 3x3 P matrix in order to retrieve the orthogonal Q and the symmetric S form, as P=Q*S. More...
 
class  ChShellKirchhoffInternalData
 Base class for internal variables of Kirchhoff thin shells materials. More...
 
class  ChShellReissnerInternalData
 Base class for internal variables of Reissner shells materials. More...
 
class  ChTriangleOfXYZnodes
 Utility class for using the ChLinkPointTriface constraint. More...
 
class  ChTriangleOfXYZROTnodes
 Utility class for using the ChLinkPointTriface constraint. More...
 
class  ChVisualizationFEAmesh
 Class for a FEA mesh visualization. More...
 
class  PolarDecomposition
 Polar decomposition of a general 3x3 matrix. More...
 

Typedefs

using ChInertiaCosseratUniformDensity = ChInertiaCosseratSimple
 
using ChBeamSectionBasic = ChBeamSectionEulerSimple
 
using ChBeamSectionAdvanced = ChBeamSectionEulerAdvanced
 
typedef double(* LI_Type) (const double xi[2])
 
typedef double(* LI_J_Type) (const double xi[2])
 

Functions

int mysgn (double val)
 
template<int N>
bool LU_factor (ChMatrixNM< double, N, N > &A, ChMatrixNM< int, N, 1 > &INDX, bool &pivoting)
 In-place LU factorization. More...
 
template<int N>
void LU_solve (const ChMatrixNM< double, N, N > &A, const ChMatrixNM< int, N, 1 > &INDX, ChMatrixNM< double, N, 1 > &B)
 LU linear system solution (back substitution) More...
 
ChVector< float > & FetchOrAllocate (std::vector< ChVector< float >> &mvector, unsigned int &id)
 
void TriangleNormalsReset (std::vector< ChVector<>> &normals, std::vector< int > &accumul)
 
void TriangleNormalsCompute (ChVector< int > norm_indexes, ChVector< int > vert_indexes, std::vector< ChVector<>> &vertexes, std::vector< ChVector<>> &normals, std::vector< int > &accumul)
 
void TriangleNormalsSmooth (std::vector< ChVector<>> &normals, std::vector< int > &accumul)