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