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

Common weak residual operators using equal-ordered discretizations. More...

#include <EqualOrderOperators.h>

Static Public Member Functions

static void Advection (Vector &EV, const FiniteElement &fe, const Vec3 &AC, const Tensor &g, double scale=1.0, int basis=1)
 Compute an advection term. More...
 
static void Convection (Vector &EV, const FiniteElement &fe, const Vec3 &U, const Tensor &dUdX, const Vec3 &UC, double scale, WeakOperators::ConvectionForm form=WeakOperators::CONVECTIVE, int basis=1)
 Compute a convection term in a residual vector. More...
 
static void Divergence (Vector &EV, const FiniteElement &fe, const Tensor &dUdX, double scale=1.0, size_t basis=1)
 Compute a divergence term in a residual vector. More...
 
static void Gradient (Vector &EV, const FiniteElement &fe, double scale=1.0, int basis=1)
 Compute a gradient term. More...
 
static void Laplacian (Vector &EV, const FiniteElement &fe, const Vec3 &dUdX, double scale=1.0, int basis=1)
 Compute a laplacian term in a residual vector. More...
 
static void Laplacian (Vector &EV, const FiniteElement &fe, const Tensor &dUdX, double scale=1.0, bool stress=false, int basis=1)
 Compute a laplacian term in a residual vector. More...
 

Detailed Description

Common weak residual operators using equal-ordered discretizations.

Member Function Documentation

◆ Advection()

void EqualOrderOperators::Residual::Advection ( Vector EV,
const FiniteElement fe,
const Vec3 AC,
const Tensor g,
double  scale = 1.0,
int  basis = 1 
)
static

Compute an advection term.

Parameters
[out]EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
[in]ACAdvecting field
[in]gAdvected field gradient
[in]scaleScaling factor for contribution
[in]basisBasis to use

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

◆ Convection()

void EqualOrderOperators::Residual::Convection ( Vector EV,
const FiniteElement fe,
const Vec3 U,
const Tensor dUdX,
const Vec3 UC,
double  scale,
WeakOperators::ConvectionForm  form = WeakOperators::CONVECTIVE,
int  basis = 1 
)
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
[in]scaleScaling factor for contribution
[in]formWhich form of the convective term to use
[in]basisBasis to use

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

◆ Divergence()

void EqualOrderOperators::Residual::Divergence ( Vector EV,
const FiniteElement fe,
const Tensor dUdX,
double  scale = 1.0,
size_t  basis = 1 
)
static

Compute a divergence term in a residual vector.

Parameters
EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
[in]dUdXGradient of field
[in]scaleScaling factor for contribution
[in]basisBasis to use

References utl::vector< T >::add(), FiniteElement::basis(), FiniteElement::detJxW, and Tensor::trace().

◆ Gradient()

void EqualOrderOperators::Residual::Gradient ( Vector EV,
const FiniteElement fe,
double  scale = 1.0,
int  basis = 1 
)
static

Compute a gradient term.

Parameters
[out]EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
[in]scaleScaling factor for contribution
[in]basisBasis to use

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

◆ Laplacian() [1/2]

void EqualOrderOperators::Residual::Laplacian ( Vector EV,
const FiniteElement fe,
const Tensor dUdX,
double  scale = 1.0,
bool  stress = false,
int  basis = 1 
)
static

Compute a laplacian term in a residual vector.

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

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

◆ Laplacian() [2/2]

void EqualOrderOperators::Residual::Laplacian ( Vector EV,
const FiniteElement fe,
const Vec3 dUdX,
double  scale = 1.0,
int  basis = 1 
)
static

Compute a laplacian term in a residual vector.

Parameters
EVThe element vector to add contribution to
[in]feThe finite element to evaluate for
[in]dUdXCurrent solution gradient
[in]scaleScaling factor for contribution
[in]basisBasis to use

References utl::matrix< T >::cols(), FiniteElement::detJxW, FiniteElement::grad(), utl::matrix< T >::multiply(), and Vec3::ptr().


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