DUNE-ACFEM (unstable)

Dune::ACFem::PDEModel::NeumannBoundaryModel< GridFunction, Indicator > Class Template Reference

A Neumann-boundary model. More...

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

+ Collaboration diagram for Dune::ACFem::PDEModel::NeumannBoundaryModel< GridFunction, Indicator >:

Public Member Functions

std::string name () const
 
template<class Entity >
void bind (const Entity &entity)
 
void unbind ()
 
template<class Intersection >
auto classifyBoundary (const Intersection &intersection)
 
template<class Quadrature >
RangeType robinFlux (const QuadraturePoint< Quadrature > &x, const DomainType &unitOuterNormal) const
 The non-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 = std::decay_t< GridFunction >::FunctionSpaceType
 The type returned by classifyBoundary().
 
using DomainFunctionSpaceType = std::decay_t< GridFunction >::FunctionSpaceType
 The type returned by classifyBoundary().
 
using FunctionSpaceType = RangeFunctionSpaceType
 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().
 
static constexpr int dimDomain
 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 GridFunction, class Indicator = EntireBoundaryIndicator>
class Dune::ACFem::PDEModel::NeumannBoundaryModel< GridFunction, Indicator >

A Neumann-boundary model.

We model the following boundary conditions here:

\[ \frac{\pratial u{\partial \nu} = g_N \text{ on }\Gamma_N \]

Parameters
[in]GridFunctiongN
[in]IndicatorThe boundary indicator function which decides on which part of the boundary the Neumann boundary conditions is imposed.
Note
Note that GridFunction may already be a BoundarySupportedFunction in which case the resulting Neumann condition is imposed on the intersection of the supports of GridFunction and Indicator.

Member Data Documentation

◆ domainDimRange

constexpr int Dune::ACFem::ModelBase< std::decay_t< GridFunction >::FunctionSpaceType , std::decay_t< GridFunction >::FunctionSpaceType >::domainDimRange
staticconstexprinherited

◆ rangeDimRange

constexpr int Dune::ACFem::ModelBase< std::decay_t< GridFunction >::FunctionSpaceType , std::decay_t< GridFunction >::FunctionSpaceType >::rangeDimRange
staticconstexprinherited

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 (Apr 23, 22:30, 2024)