Drake
Drake C++ Documentation
drake::multibody::fem Namespace Reference

Classes

class  DampingModel
 A viscous Rayleigh damping model in which the damping matrix D is a linear combination of mass and stiffness matrices, as, D = αM + βK where α and β are nonnegative. More...
 
class  DeformableBodyConfig
 DeformableBodyConfig stores the physical parameters for a deformable body. More...
 
class  FemModel
 FemModel calculates the components of the spatially discretized FEM equations for dynamic elasticity problems. More...
 
struct  FemPlantData
 
class  FemState
 FemState provides access to private workspace FEM state and per-element state-dependent data. More...
 

Typedefs

using FemNodeIndex = TypeSafeIndex< class FemNodeTag >
 Type used to index FEM nodes. More...
 
using FemModelId = Identifier< class FemModelTag >
 Type used to identify FEM models. More...
 

Enumerations

enum  MaterialModel { kLinearCorotated, kCorotated, kNeoHookean, kLinear }
 Types of material models for the deformable body. More...
 

Typedef Documentation

◆ FemModelId

using FemModelId = Identifier<class FemModelTag>

Type used to identify FEM models.

◆ FemNodeIndex

using FemNodeIndex = TypeSafeIndex<class FemNodeTag>

Type used to index FEM nodes.

Enumeration Type Documentation

◆ MaterialModel

enum MaterialModel
strong

Types of material models for the deformable body.

Enumerator
kLinearCorotated 

Linear corotational model as described in [Han et al., 2023].

It provides a combination of accuracy, robustness, and speed. Recommended in most scenarios. [Han et al., 2023] Han, Xuchen, Joseph Masterjohn, and Alejandro Castro. "A Convex Formulation of Frictional Contact between Rigid and Deformable Bodies." arXiv preprint arXiv:2303.08912 (2023).

kCorotated 

Corotational model.

More computationally expensive. Recommended when capturing large rotation velocity is important.

[Stomakhin et al., 2012] Stomakhin, Alexey, et al. "Energetically consistent invertible elasticity." Proceedings of the 11th ACM SIGGRAPH/Eurographics conference on Computer Animation. 2012.

kNeoHookean 

Neohookean model.

More computationally expensive. Recommended when capturing large rotation velocity is important. There are subtle differences in physical behavior between the Corotated model and the Neo-Hookean model. See [Smith et al., 2019; Stomakhin et al., 2012] for details. In practice, we often choose the Neo-Hookean model over the Corotated model simply because it's computationally more efficient.

[Smith et al., 2019] Smith, Breannan, Fernando De Goes, and Theodore Kim. "Stable Neo-Hookean flesh simulation." ACM Transactions on Graphics (TOG) 37.2 (2018): 1-15.

kLinear 

Linear elasticity model (rarely used).

Less computationally expensive than other models but leads to artifacts when large rotational deformations occur.