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 & Uni Heidelberg |
generated with Hugo v0.111.3
(Nov 1, 23:35, 2025)