DUNE-ACFEM (unstable)
Dune::ACFem::PDEModel::TransportModel< FunctionSpace, GridFunction > Class Template Reference
Define a model for an advection term. More...
#include <dune/acfem/models/modules/transportmodel.hh>
Collaboration diagram for Dune::ACFem::PDEModel::TransportModel< FunctionSpace, GridFunction >:
Public Member Functions | |
template<class Entity > | |
void | bind (const Entity &entity) |
Bind to the given entity. More... | |
void | unbind () |
Unbind from the previously bound entity. More... | |
template<class Intersection > | |
auto | classifyBoundary (const Intersection &intersection) |
Bind to the given intersection and classify the components w.r.t. More... | |
template<class Quadrature > | |
auto | linearizedFlux (const QuadraturePoint< Quadrature > &x, const RangeType &value) const |
Evaluate the linearized flux in local coordinates. More... | |
template<class Quadrature > | |
auto | fluxDivergence (const QuadraturePoint< Quadrature > &x, const RangeType &value, const JacobianRangeType &jacobian) const |
! More... | |
template<class Quadrature > | |
auto | linearizedRobinFlux (const QuadraturePoint< Quadrature > &x, const DomainType &unitOuterNormal, const RangeType &value) const |
The linearized Robin-type flux term. More... | |
FunctionSpaceTypes | |
Forward some basic type from the supplied function-spaces to the model class. Note that FunctionSpace is defined as a shortcut for RangeFunctionSpace in order to simplify the common case DomainFunctionSpace == RangeFunctionSpace. | |
using | HessianRangeSelector = typename std::conditional< std::is_convertible< typename FunctionSpace::RangeType, typename FunctionSpace::HessianRangeType >::value, Fem::ExplicitFieldVector< typename FunctionSpace::HessianRangeType::value_type, FunctionSpace::dimRange >, typename FunctionSpace::HessianRangeType >::type |
The type returned by classifyBoundary(). | |
using | RangeFunctionSpaceType = FunctionSpace |
The type returned by classifyBoundary(). | |
using | DomainFunctionSpaceType = FunctionSpace |
The type returned by classifyBoundary(). | |
using | FunctionSpaceType = RangeFunctionSpaceType |
The type returned by classifyBoundary(). | |
using | DomainType = typename FunctionSpaceType::DomainType |
The type returned by classifyBoundary(). | |
using | RangeType = typename FunctionSpaceType::RangeType |
The type returned by classifyBoundary(). | |
using | JacobianRangeType = typename FunctionSpaceType::JacobianRangeType |
The type returned by classifyBoundary(). | |
using | HessianRangeType = HessianRangeSelector< FunctionSpaceType > |
The type returned by classifyBoundary(). | |
using | DomainFieldType = typename FunctionSpaceType::DomainFieldType |
The type returned by classifyBoundary(). | |
using | RangeFieldType = typename FunctionSpaceType::RangeFieldType |
The type returned by classifyBoundary(). | |
using | DomainRangeType = typename DomainFunctionSpaceType::RangeType |
The type returned by classifyBoundary(). | |
using | DomainDomainType = typename DomainFunctionSpaceType::DomainType |
The type returned by classifyBoundary(). | |
using | DomainJacobianRangeType = typename DomainFunctionSpaceType::JacobianRangeType |
The type returned by classifyBoundary(). | |
using | DomainHessianRangeType = HessianRangeSelector< DomainFunctionSpaceType > |
The type returned by classifyBoundary(). | |
using | DomainDomainFieldType = typename DomainFunctionSpaceType::DomainFieldType |
The type returned by classifyBoundary(). | |
using | DomainRangeFieldType = typename DomainFunctionSpaceType::RangeFieldType |
The type returned by classifyBoundary(). | |
using | RangeRangeType = typename RangeFunctionSpaceType::RangeType |
The type returned by classifyBoundary(). | |
using | RangeDomainType = typename RangeFunctionSpaceType::DomainType |
The type returned by classifyBoundary(). | |
using | RangeJacobianRangeType = typename RangeFunctionSpaceType::JacobianRangeType |
The type returned by classifyBoundary(). | |
using | RangeHessianRangeType = HessianRangeSelector< RangeFunctionSpaceType > |
The type returned by classifyBoundary(). | |
using | RangeDomainFieldType = typename RangeFunctionSpaceType::DomainFieldType |
The type returned by classifyBoundary(). | |
using | RangeRangeFieldType = typename RangeFunctionSpaceType::RangeFieldType |
The type returned by classifyBoundary(). | |
using | BoundaryConditionsType = std::pair< bool, std::bitset< dimRange > > |
The type returned by classifyBoundary(). | |
static constexpr int | dimDomain |
The type returned by classifyBoundary(). | |
static constexpr int | dimRange |
The type returned by classifyBoundary(). | |
static constexpr int | domainDimDomain |
The type returned by classifyBoundary(). | |
static constexpr int | domainDimRange |
static constexpr int | rangeDimDomain |
The type returned by classifyBoundary(). | |
static constexpr int | rangeDimRange |
Detailed Description
template<class FunctionSpace, class GridFunction>
class Dune::ACFem::PDEModel::TransportModel< FunctionSpace, GridFunction >
class Dune::ACFem::PDEModel::TransportModel< FunctionSpace, GridFunction >
Define a model for an advection term.
In formulas: this fragment implements the right-hand-side of the following equation:
\[ \int_\Omega \nabla\cdot(B\,U)\phi = - \int_\Omega B_i\,U_j\,\partial_i\phi_j + \int_{\partial\Omega} B\cdot\nu\,U\cdot\phi \]
Of course, the formula uses sum-convention.
- Parameters
-
Velocity This is a grid-function implementing B.
Member Data Documentation
◆ domainDimRange
|
staticconstexprinherited |
◆ rangeDimRange
|
staticconstexprinherited |
The documentation for this class was generated from the following file:
- dune/acfem/models/modules/transportmodel.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Jan 3, 23:40, 2025)