DUNE-ACFEM (2.5.1)

Dune::ACFem::WeakDivergenceOperatorParts< GridFunction > Class Template Reference

For a given grid-function define a model implementing the weak divergence. More...

#include <dune/acfem/models/modules/weakdivergencemodel.hh>

+ Collaboration diagram for Dune::ACFem::WeakDivergenceOperatorParts< GridFunction >:

Public Types

enum  StructureFlags
 
enum  ConstituentFlags
 
typedef Expression ExpressionType
 The type of the underlying expression.
 

Public Member Functions

template<class Entity , class Point >
void flux (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const
 Evaluate \(A(x, u)\nabla u(x)\) in local coordinates. More...
 
template<class Entity , class Point >
void linearizedFlux (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const
 Evaluate the linearized flux in local coordinates. More...
 
template<class Entity , class Point >
void fluxDivergence (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, const HessianRangeType &hessian, RangeType &result) const
 Compute the point-wise value of the flux-part of the operator, meaning the part of the differential operator which is multiplied by the derivative of the test function. More...
 
bool setIntersection (const Intersection &intersection) const
 
void source (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const
 
void linearizedSource (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const
 
void robinFlux (const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const
 
void linearizedRobinFlux (const RangeType &uBar, const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const
 
const ExpressionTypeexpression () const
 Return a const reference to the underlying expression.
 
ExpressionTypeexpression ()
 Return a mutable reference to the underlying expression.
 
ExpressionType operator* () const
 Return a copy from of the underlying expression.
 

Detailed Description

template<class GridFunction>
class Dune::ACFem::WeakDivergenceOperatorParts< GridFunction >

For a given grid-function define a model implementing the weak divergence.

In formulas: this fragment implements the bulk-part of the right-hand-side of the following equation, where \(\phi\) is a vector-valued test-function:

\[ \int_\Omega \partial_i p_i \, \cdot \phi = -\int_\Omega p_i \, \partial_i\phi + \int_{\partial\Omega} p_i \, \phi \nu_i \]

The boundary integral is not computed, intentionally it is substituted by suitable boundary conditions.

\(p\) acts as data, so this model just acts as a "constant", i.e. as a contribution to the right hand side.

Parameters
GridFunctionThe type of the function the weak divergence has to be computed from. This must be a grid-function, i.e. it has to carry a local function and must have dimRange == dimWorld.

Member Enumeration Documentation

◆ ConstituentFlags

◆ StructureFlags

Member Function Documentation

◆ linearizedRobinFlux()

void Dune::ACFem::DefaultOperatorParts< Expression >::linearizedRobinFlux ( const RangeType &  uBar,
const Intersection &  intersection,
const Point &  x,
const DomainType &  unitOuterNormal,
const RangeType &  value,
RangeType &  result 
) const
inlineinherited

◆ linearizedSource()

void Dune::ACFem::DefaultOperatorParts< Expression >::linearizedSource ( const RangeType &  uBar,
const JacobianRangeType &  DuBar,
const Entity &  entity,
const Point &  x,
const RangeType &  value,
const JacobianRangeType &  jacobian,
RangeType &  result 
) const
inlineinherited

◆ robinFlux()

void Dune::ACFem::DefaultOperatorParts< Expression >::robinFlux ( const Intersection &  intersection,
const Point &  x,
const DomainType &  unitOuterNormal,
const RangeType &  value,
RangeType &  result 
) const
inlineinherited

◆ setIntersection()

bool Dune::ACFem::DefaultOperatorParts< Expression >::setIntersection ( const Intersection &  intersection) const
inlineinherited

◆ source()

void Dune::ACFem::DefaultOperatorParts< Expression >::source ( const Entity &  entity,
const Point &  x,
const RangeType &  value,
const JacobianRangeType &  jacobian,
RangeType &  result 
) const
inlineinherited


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 2, 22:35, 2024)