|
IFEM
90A354
|
Common weak operators using div-compatible discretizations. More...
#include <CompatibleOperators.h>
Static Public Member Functions | |
| static void | Advection (std::vector< Matrix > &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 (std::vector< Matrix > &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 (std::vector< Matrix > &EM, const FiniteElement &fe, const 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 (std::vector< Matrix > &EM, const FiniteElement &fe, const std::array< std::array< int, 3 >, 3 > &idx, double scale=1.0, bool stress=false) |
| Compute a laplacian. More... | |
| static void | Mass (std::vector< Matrix > &EM, const FiniteElement &fe, const std::array< std::array< int, 3 >, 3 > &idx, double scale=1.0) |
| Compute a mass term. More... | |
| static void | Source (Vectors &EV, const FiniteElement &fe, const std::array< int, 3 > &idx, double scale=1.0) |
| Compute a scalar source term. More... | |
| static void | Source (Vectors &EV, const FiniteElement &fe, const Vec3 &f, const std::array< int, 3 > &idx, double scale=1.0) |
| Compute a vector-source term. More... | |
Common weak operators using div-compatible 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 FiniteElement::basis(), utl::matrix< T >::cols(), FiniteElement::detJxW, utl::matrix< T >::getColumn(), and FiniteElement::grad().
|
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 FiniteElement::basis(), utl::matrix< T >::cols(), FiniteElement::detJxW, utl::matrix< T >::getColumn(), and FiniteElement::grad().
|
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, utl::matrix< T >::getColumn(), and FiniteElement::grad().
|
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 |
References utl::matrix< T >::cols(), FiniteElement::grad(), and EqualOrderOperators::Weak::ItgConstraint().
|
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 utl::matrix< T >::cols(), FiniteElement::detJxW, utl::matrix< T >::getColumn(), FiniteElement::grad(), and EqualOrderOperators::Weak::Laplacian().
|
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 FiniteElement::grad(), and EqualOrderOperators::Weak::Mass().
|
static |
Compute a scalar source term.
| [out] | EV | The element vectors to add contribution to |
| [in] | fe | The finite element to evaluate for |
| idx | Vector block indices | |
| [in] | scale | Scaling factor for contribution |
References FiniteElement::grad(), and EqualOrderOperators::Weak::Source().
|
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 FiniteElement::grad(), and EqualOrderOperators::Weak::Source().