DUNE-ACFEM (unstable)
Define a model for the "Navier-Stokes" non-lineariry. More...
#include <dune/acfem/models/modules/fluidselftransportmodel.hh>
Public Member Functions | |
template<class Intersection > | |
auto | classifyBoundary (const Intersection &intersection) |
Bind to the given intersection and classify the components w.r.t. More... | |
JacobianRangeType | flux (const RangeType &value) const |
Evaluate \(A(x, u)\nabla u(x)\) in local coordinates. More... | |
template<class Point > | |
JacobianRangeType | linearizedFlux (const RangeType &uBar, const RangeType &value) const |
Evaluate the linearized flux in local coordinates. More... | |
RangeType | fluxDivergence (const RangeType &value, const JacobianRangeType &jacobian) 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... | |
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(). | |
void | bind (const Entity &entity) |
Bind to the given entity. More... | |
void | unbind () |
Unbind from the previously bound entity. More... | |
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
class Dune::ACFem::PDEModel::FluidSelfTransportModel< FunctionSpace >
Define a model for the "Navier-Stokes" non-lineariry.
An alternate formulation of the the Navier-Stokes non-linearity obtained by integration by parts, at the cost of introducting a boundary integral for non-Dirichlet boundaries
In formulas: this fragment implements the right-hand-side of the following equation (where the equality only holds for \(\nabla\cdot U = 0\)):
\[ \int_\Omega U_i\,\partial_i U_j\,\phi_j = - \int_\Omega U_i\,U_j\,\partial_i\phi_j + \int_{\partial\Omega} U\cdot\nu\,U\cdot\phi \]
Of course, the formula uses sum-convention. The left-hand-side is implemented by IncompressibleSelfTransportModel.
- Parameters
-
GridPart The grid-part we live on.
Member Function Documentation
◆ bind()
|
inlineinherited |
Bind to the given entity.
- Parameters
-
[in] entity The entity to bind to.
- Warning
- Calling any other method without first binding the model results in undefined behaviour.
- Models needing this method need to reimplement it. This is just here to obey the "bindable" interface of Dune::Fem.
◆ unbind()
|
inlineinherited |
Unbind from the previously bound entity.
- Warning
- Calling this method on an unbound model may cause undefined behaviour.
- Models needing this method need to reimplement it. This is just here to obey the "bindable" interface of Dune::Fem.
Member Data Documentation
◆ domainDimRange
|
staticconstexprinherited |
◆ rangeDimRange
|
staticconstexprinherited |
The documentation for this class was generated from the following file:
- dune/acfem/models/modules/fluidselftransportmodel.hh