|
IFEM
90A354
|
Common weak operators using equal-ordered discretizations. More...
#include <EqualOrderOperators.h>
Static Public Member Functions | |
| static void | Advection (Matrix &EM, const FiniteElement &fe, const Vec3 &AC, double scale=1.0, WeakOperators::ConvectionForm form=WeakOperators::CONVECTIVE, int basis=1) |
| Compute an advection term. More... | |
| static void | Convection (Matrix &EM, const FiniteElement &fe, const Vec3 &U, const Tensor &dUdX, double scale, WeakOperators::ConvectionForm form=WeakOperators::CONVECTIVE, int basis=1) |
| Compute a (nonlinear) convection term. More... | |
| static void | Divergence (Matrix &EM, const FiniteElement &fe, double scale=1.0, int basis=1, int tbasis=1) |
| Compute a divergence term. More... | |
| static void | Divergence (Vector &EV, const FiniteElement &fe, const Vec3 &D, double scale=1.0, int basis=1) |
| Compute a divergence term. More... | |
| static void | Gradient (Matrix &EM, const FiniteElement &fe, double scale=1.0, int basis=1, int tbasis=1) |
| Compute a gradient term for a (potentially mixed) vector/scalar field. More... | |
| static void | Laplacian (Matrix &EM, const FiniteElement &fe, double scale=1.0, bool stress=false, int basis=1) |
| Compute a laplacian. More... | |
| static void | Stress (Matrix &EM, const FiniteElement &fe, double scale=1.0, int basis=1) |
| Compute a stress operator. More... | |
| static void | LaplacianCoeff (Matrix &EM, const Matrix &K, const FiniteElement &fe, double scale=1.0, int basis=1) |
| Compute a heteregenous coefficient laplacian. More... | |
| static void | ItgConstraint (Matrix &EM, const FiniteElement &fe, double scale=1.0, int basis=1) |
| Compute an integration constraint. More... | |
| static void | Mass (Matrix &EM, const FiniteElement &fe, double scale=1.0, int basis=1) |
| Compute a mass term. More... | |
| static void | Source (Vector &EV, const FiniteElement &fe, double scale=1.0, int cmp=1, int basis=1) |
| Compute a source term. More... | |
| static void | Source (Vector &EV, const FiniteElement &fe, const Vec3 &f, double scale=1.0, int basis=1) |
| Compute a vector-source term. More... | |
Common weak operators using equal-ordered discretizations.
|
static |
Compute an advection term.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | AC | Advecting field |
| [in] | scale | Scaling factor for contribution |
| [in] | form | Formulation to use for advection |
| [in] | basis | Basis to use |
References FiniteElement::basis(), FiniteElement::detJxW, utl::matrix< T >::getColumn(), FiniteElement::grad(), utl::matrix< T >::outer_product(), utl::matrix< T >::rows(), and utl::vector< T >::size().
|
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 | Gradient of advected field |
| [in] | scale | Scaling factor for contribution |
| [in] | form | Which form of the convective term to use |
| [in] | basis | Basis to use |
References utl::matrix< T >::add(), FiniteElement::basis(), FiniteElement::detJxW, utl::matrix< T >::getColumn(), FiniteElement::grad(), utl::matrix< T >::outer_product(), utl::matrix< T >::rows(), and utl::vector< T >::size().
|
static |
Compute a divergence term.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis for field |
| [in] | tbasis | Test function basis |
|
static |
Compute a divergence term.
| [out] | EV | The element vector to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | D | Divergence of field |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Test function basis |
References utl::matrix< T >::cols(), FiniteElement::detJxW, FiniteElement::grad(), utl::matrix< T >::multiply(), and Vec3::ptr().
|
static |
Compute a gradient term for a (potentially mixed) vector/scalar field.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis for field |
| [in] | tbasis | Test function basis |
|
static |
Compute an integration constraint.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis to use |
References FiniteElement::basis(), FiniteElement::detJxW, utl::matrix< T >::rows(), and utl::vector< T >::size().
Referenced by CompatibleOperators::Weak::ItgConstraint().
|
static |
Compute a laplacian.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | stress | Whether to add extra stress formulation terms |
| [in] | basis | Basis to use |
References FiniteElement::basis(), FiniteElement::detJxW, FiniteElement::grad(), utl::matrix< T >::multiply(), utl::matrix< T >::rows(), and utl::vector< T >::size().
Referenced by CompatibleOperators::Weak::Laplacian().
|
static |
Compute a heteregenous coefficient laplacian.
| [out] | EM | The element matrix to add contribution to |
| [out] | K | The coefficient matrix |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis to use |
References FiniteElement::detJxW, FiniteElement::grad(), K, and utl::matrix< T >::multiply().
|
static |
Compute a mass term.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis to use |
References FiniteElement::basis(), FiniteElement::detJxW, utl::matrix< T >::outer_product(), utl::matrix< T >::rows(), and utl::vector< T >::size().
Referenced by CompatibleOperators::Weak::Mass().
|
static |
Compute a vector-source term.
| [out] | EV | The element vector to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | f | Vector with contributions |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis to use |
References utl::vector< T >::add(), FiniteElement::basis(), FiniteElement::detJxW, and utl::vector< T >::size().
|
static |
Compute a source term.
| [out] | EV | The element vector to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis to use |
| [in] | cmp | Component to add (0 for all) |
References utl::vector< T >::add(), FiniteElement::basis(), FiniteElement::detJxW, and utl::vector< T >::size().
Referenced by CompatibleOperators::Weak::Source().
|
static |
Compute a stress operator.
| [out] | EM | The element matrix to add contribution to |
| [in] | fe | The finite element to evaluate for |
| [in] | scale | Scaling factor for contribution |
| [in] | basis | Basis to use |
References FiniteElement::basis(), FiniteElement::detJxW, utl::matrix< T >::getColumn(), FiniteElement::grad(), utl::matrix< T >::outer_product(), utl::matrix< T >::rows(), and utl::vector< T >::size().