chrono::fea Namespace Reference

Description

Namespace for FEA classes.

Namespaces

 ChRotUtils
 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  ChBeamSectionAdvanced
 Geometry for a beam section in 3D, along with basic material properties. More...
 
class  ChBeamSectionBasic
 Basic geometry for a beam section in 3D, along with basic material properties (zz and yy moments of inertia, area, Young modulus, etc.) This material can be shared between multiple beams. 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). More...
 
class  ChBeamSectionProperties
 Base class for properties of all beam sections. 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  ChDampingKirchhoff
 Base interface for damping of thin shells (Kirchoff-Love shell theory, without shear effects) to be used in a ChMaterialShellKirchhoff. 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  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
 Elasticity for a beam section in 3D, along with basic material properties. More...
 
class  ChElasticityCosseratGeneric
 Generic linear elasticity for a Cosserat beam, using a 6x6 matrix [E] from 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.) The classical Timoshenko beam theory is encompassed in this model, that can be interpreted as a 3D extension of the Timoshenko beam theory. 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
 Element of IGA type, with Timoshenko shear etc. 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  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  ChStrainTensor
 Class for strain tensors, in compact Voight notation that is with 6 components in a column. More...
 
class  ChStressTensor
 Class for stress tensors, in compact Voight notation that is with 6 components in a column. 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  ChVoightTensor
 Base class for stress and strain tensors, in compact Voight notation that is with 6 components in a column. More...
 
class  PolarDecomposition
 Polar decomposition of a general 3x3 matrix. More...
 

Typedefs

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)