DUNE-ACFEM (2.5.1)

Dune::ACFem::IncompressibleSelfTransportOperatorParts< FunctionSpace > Class Template Reference

Define a model for the "Navier-Stokes" non-lineariry. More...

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

Public Types

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

Public Member Functions

template<class Entity , class Point >
void source (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const
 The zero-order term as function of local coordinates. More...
 
template<class Entity , class Point >
void linearizedSource (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const
 The linearized source term as function of local coordinates. More...
 
void setEntity (const Entity &entity) const
 
bool setIntersection (const Intersection &intersection) const
 
void flux (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const
 
void linearizedFlux (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) 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
 
void fluxDivergence (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, const HessianRangeType &hessian, 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 FunctionSpace>
class Dune::ACFem::IncompressibleSelfTransportOperatorParts< FunctionSpace >

Define a model for the "Navier-Stokes" non-lineariry.

This fragment models the change in momentum caused by the transport via the velocity field of the fluid on the fluid itself. This forms half of the so called "material derivative" for time-dependent flows and the entire material derivative for stationary flow problems. The "material derivative" of the velocity field of the fluid is the change of the velocity measured by an observier moving with the fluid.

In formulas: this fragment implements the non-linear "source" term

\[ \int_\Omega U_i\,\partial_i U_j\,\phi_j \]

Of course, the formula uses sum-convention. There is also another variant available which move the derivative away from U to the test-function at the cost of introducing a boundary integral.

See also
FluidSelfTransportOperatorParts, DeformationTensorOperatorParts, Transport/Advection Models

Member Enumeration Documentation

◆ ConstituentFlags

◆ StructureFlags

Member Function Documentation

◆ flux()

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

◆ fluxDivergence()

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

◆ linearizedFlux()

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

◆ 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

◆ robinFlux()

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

◆ setEntity()

void Dune::ACFem::DefaultOperatorParts< Expression >::setEntity ( const Entity &  entity) const
inlineinherited

◆ setIntersection()

bool Dune::ACFem::DefaultOperatorParts< Expression >::setIntersection ( const Intersection &  intersection) 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.111.3 (Nov 12, 23:30, 2024)