Formulations
The following formulations are available in the PolyFEM list of possible formulations. The constants can be set in params
. All formulations support boundary conditions. For the elasticity formulations we output:
Cauchy stress tensor
Frist Piola Kirchhoff stress tensor (Wikipedia)
Second Piola Kirchhoff stress tensor (Wikipedia)
where \(\Psi\) is the energy density, \(F\) the deformation gradient, and \(J=\det(F)\).
Scalar¶
Laplacian¶
- Constants: none
- Description: solve for \(-\Delta u = f\)
Bilaplacian (mixed)¶
- Constants: none
- Description: solve for \(-\Delta^2 u = f\)
Helmholtz¶
- Constants: \(k\)
- Description: solve for \(-\Delta u - k^2 u = f\)
Tensor¶
Linear Elasticity¶
- Constants:
E
/nu
,lambda
/mu
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where
Hooke Linear Elasticity¶
- Constants:
elasticity_tensor
,E
/nu
,lambda
/mu
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where
where \(C\) is the elasticity tensor
Incompressible Linear Elasticity (mixed)¶
- Constants:
E
/nu
,lambda
/mu
- Description: solve for
Saint Venant–Kirchoff Elasticity¶
- Constants:
elasticity_tensor
,E
/nu
,lambda
/mu
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where
where \(C\) is the elasticity tensor
NeoHookean Elasticity¶
- Constants:
E
/nu
,lambda
/mu
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where
Mooney-Rivlin Elasticity¶
- Constants:
c1
/c2
/k=1
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where \(\sigma[u]=\nabla_u \Psi[u]\). The energy density \(\Psi\) is
where \(d\) is the dimension (2 or 3),
- Reference: FEBio documentation
Incompressible Ogden Elasticity¶
- Constants:
c
/m
/k
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where \(\sigma[u]=\nabla_u \Psi[u]\). The energy density \(\Psi\) is
where \(N\), the number of terms, is dictated by the number of coefficients given, \(d\) is the dimension (2 or 3), \(J = \det(F)\) where \(F = \nabla u + I\), and \(\tilde{\lambda}_j = J^{-\frac{1}{d}}\lambda_j\) are the eigenvalues of \(\tilde{F}\) (same as in the Mooney-Rivlin Elasticity).
- Reference: FEBio documentation
Unconstrained Ogden Elasticity¶
- Constants:
mus
/alphas
/Ds
- Description: solve for \(-\text{div}(\sigma[u]) = f\) where \(\sigma[u]=\nabla_u \Psi[u]\). The energy density \(\Psi\) is
where \(N\), the number of terms, is dictated by the number of coefficients given, \(d\) is the dimension (2 or 3), \(J = \det(F)\) where \(F = \nabla u + I\), and \(\tilde{\lambda}_j = J^{-\frac{1}{d}}\lambda_j\) where \(\lambda_j\) are the eigenvalues of \(F.\)
- Reference: ABAQUS documentation
Viscous Damping¶
- Constants:
phi
/psi
- Description: an extra energy that represents dissipation, adding to the elastic energy in transient problems
where \(F[u] = \nabla u + I\) and \(E[u] = \frac{1}{2}(F^TF-I)\).
The above corresponds to the viscous Piola-Kirchhoff stress
Stokes (mixed)¶
- Constants:
viscosity
(\(\nu\)) - Description: solve for
Navier–Stokes (mixed)¶
- Constants:
viscosity
(\(\nu\)) - Description: solve for
Implementing New Formulations¶
Todo
Describe how to implement a new formulation in C++.