IFEM  90A354
Static Public Member Functions | List of all members
CompatibleOperators::Residual Class Reference

Common weak residual operators using div-compatible discretizations. More...

#include <CompatibleOperators.h>

Static Public Member Functions

static void Convection (Vectors &EV, const FiniteElement &fe, const Vec3 &U, const Tensor &dUdX, const Vec3 &UC, const std::array< int, 3 > &idx, double scale, WeakOperators::ConvectionForm form=WeakOperators::CONVECTIVE)
 Compute a convection term in a residual vector. More...
 
static void Gradient (Vectors &EV, const FiniteElement &fe, const std::array< int, 3 > &idx, double scale=1.0)
 Compute a gradient term. More...
 
static void Laplacian (Vectors &EV, const FiniteElement &fe, const Tensor &dUdX, const std::array< int, 3 > &idx, double scale=1.0, bool stress=false)
 Compute a laplacian term in a residual vector. More...
 

Detailed Description

Common weak residual operators using div-compatible discretizations.

Member Function Documentation

◆ Convection()

void CompatibleOperators::Residual::Convection ( Vectors EV,
const FiniteElement fe,
const Vec3 U,
const Tensor dUdX,
const Vec3 UC,
const std::array< int, 3 > &  idx,
double  scale,
WeakOperators::ConvectionForm  form = WeakOperators::CONVECTIVE 
)
static

Compute a convection term in a residual vector.

Parameters
EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
[in]UAdvected field
[in]dUdXAdvected field gradient
[in]UCAdvecting field
idxVector block indices
[in]scaleScaling factor for contribution
[in]formWhich form of the convective form to use

References FiniteElement::basis(), utl::matrix< T >::cols(), FiniteElement::detJxW, FiniteElement::grad(), and utl::vector< T >::size().

◆ Gradient()

void CompatibleOperators::Residual::Gradient ( Vectors EV,
const FiniteElement fe,
const std::array< int, 3 > &  idx,
double  scale = 1.0 
)
static

Compute a gradient term.

Parameters
[out]EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
idxVector block indices
[in]scaleScaling factor for contribution

References FiniteElement::detJxW, utl::matrix< T >::getColumn(), and FiniteElement::grad().

◆ Laplacian()

void CompatibleOperators::Residual::Laplacian ( Vectors EV,
const FiniteElement fe,
const Tensor dUdX,
const std::array< int, 3 > &  idx,
double  scale = 1.0,
bool  stress = false 
)
static

Compute a laplacian term in a residual vector.

Parameters
[out]EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
[in]dUdXCurrent solution gradient
idxVector block indices
[in]scaleScaling factor for contribution
[in]stressWhether to add extra stress formulation terms

References utl::matrix< T >::add(), utl::matrix< T >::cols(), FiniteElement::detJxW, FiniteElement::grad(), utl::matrix< T >::multiply(), and Tensor::transpose().


The documentation for this class was generated from the following files: