|
IFEM
90A354
|
Common weak operators using Piola mapped discretizations. More...
#include <PiolaOperators.h>
Static Public Member Functions | |
| static void | Advection (Matrices &EM, const FiniteElement &fe, const Vec3 &AC, const std::array< std::array< int, 3 >, 3 > &idx, double scale=1.0, WeakOperators::ConvectionForm cnvForm=WeakOperators::CONVECTIVE) |
| Compute an advection term. More... | |
| static void | Convection (Matrices &EM, const FiniteElement &fe, const Vec3 &U, const Tensor &dUdX, const std::array< std::array< int, 3 >, 3 > &idx, double scale, WeakOperators::ConvectionForm form=WeakOperators::CONVECTIVE) |
| Compute a (nonlinear) convection term. More... | |
| static void | Gradient (Matrices &EM, const FiniteElement &fe, std::array< int, 3 > &idx, double scale=1.0) |
| Compute a gradient term. More... | |
| static void | ItgConstraint (std::vector< Matrix > &EM, const FiniteElement &fe, const std::array< int, 3 > &idx) |
| Compute an integration constraint. More... | |
| static void | Laplacian (Matrices &EM, const FiniteElement &fe, const std::array< std::array< int, 3 >, 3 > &idx, double scale, bool stress) |
| Compute a laplacian. More... | |
| static void | Mass (Matrices &EM, const FiniteElement &fe, const std::array< std::array< int, 3 >, 3 > &idx, double scale) |
| Compute a mass term. More... | |
| static void | Source (Vectors &EV, const FiniteElement &fe, const Vec3 &f, const std::array< int, 3 > &idx, double scale) |
| Compute a vector-source term. More... | |
Common weak operators using Piola mapped discretizations.
|
static |
Compute an advection term.
| [out] | EM | The element matrices to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | AC | Advecting field |
| [in] | idx | Matrix block indices |
| [in] | scale | Scaling factor for contribution |
| [in] | cnvForm | Form of advection operator |
References PiolaOperators::Copy().
|
static |
Compute a (nonlinear) convection term.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | U | Advecting field |
| [in] | dUdX | Field gradient |
| [in] | idx | Matrix block indices |
| [in] | scale | Scaling factor for contribution |
| [in] | form | Which form of the convective form to use |
References PiolaOperators::Copy(), FiniteElement::detJxW, Tensor::dim(), utl::matrix< T >::multiply(), and FiniteElement::P.
|
static |
Compute a gradient term.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | idx | Matrix block indices |
| [in] | scale | Scaling factor for contribution |
References FiniteElement::basis(), utl::matrix< T >::cols(), FiniteElement::detJxW, FiniteElement::dNdX, FiniteElement::dPdX, utl::matrix< T >::outer_product(), and utl::vector< T >::size().
|
static |
Compute an integration constraint.
| [out] | EM | The element matrix to add contribution to |
| [in] | idx | Matrix block indices |
| [in] | fe | The finite element to evaluate for |
|
static |
Compute a laplacian.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | idx | Matrix block indices |
| [in] | scale | Scaling factor for contribution |
| [in] | stress | Whether to add extra stress formulation terms |
Only the upper blocks are added with the stress formulation
References PiolaOperators::Copy(), FiniteElement::detJxW, FiniteElement::dPdX, and utl::matrix< T >::multiply().
|
static |
Compute a mass term.
| [out] | EM | The element matrices to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | idx | Matrix block indices |
| [in] | scale | Scaling factor for contribution |
References PiolaOperators::Copy(), FiniteElement::detJxW, M, SystemMatrix::multiply(), and FiniteElement::P.
|
static |
Compute a vector-source term.
| [out] | EV | The element vectors to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | f | Vector with contributions |
| idx | Vector block indices | |
| [in] | scale | Scaling factor for contribution |
References utl::matrix< T >::cols(), PiolaOperators::Copy(), FiniteElement::detJxW, FiniteElement::dNdX, utl::matrix< T >::multiply(), FiniteElement::P, and Vec3::ptr().