DUNE-ACFEM (2.5.1)
A structure defining some trivial default values for the template structure ModelTraits<ModelType>, given the function-space the beast maps to, and the grid part. More...
#include <dune/acfem/models/modelinterface.hh>
Classes | |
struct | ForcesFunctionalTraits |
Helper structure to define an optional functional as part of the "right hand side". More... | |
Public Types | |
typedef FunctionSpace | FunctionSpaceType |
The FunctionSpace defining domain and range co-ordinates. | |
typedef FunctionSpaceType::ScalarFunctionSpaceType | ScalarFunctionSpaceType |
The compatible scalar-valued function space. | |
typedef GridPart | GridPartType |
The GridPart the model is meant for. | |
typedef ZeroOperatorParts< FunctionSpace > | OperatorPartsType |
The integral kernel of the bilinear form. | |
Dirichlet boundary definitions | |
Data for Dirichlet constraints. | |
typedef EmptyBoundaryIndicatorType | DirichletIndicatorType |
Something satisfying the BoundaryIndicatorInterface. More... | |
typedef BoundarySupportedFunction< ZeroGridFunction< FunctionSpaceType, GridPartType >, DirichletIndicatorType > | DirichletBoundaryFunctionType |
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType. More... | |
typedef BoundarySupportedFunction< FractionGridFunction< ScalarFunctionSpaceType, GridPartType, 1L, 1UL >, DirichletIndicatorType > | DirichletWeightFunctionType |
A scalar BoundarySupportedFunction which defines "weighted" Dirichlet values of the form. More... | |
Right-hand-side functional definitions | |
The ModelInterface allows for "Right-Hand-Side" functionals of the form \[ \langle\rho\chi\sigma, \phi\rangle = \int_\Omega f\,\phi + \int_{\partial\Omega} g\,\phi + \langle\Psi,\phi\rangle \] \(f\) is modelled by the ModelInterface::BulkForcesFunctionType, \(g\) is modelled by the ModelInterface::NeumannBoundaryFunctionType and the \(H^1\)-functional \(\Psi\) is modelled by ForcesFunctionalTraits::FunctionalType. The default is to keep everything at zero.
| |
typedef ZeroGridFunction< FunctionSpaceType, GridPartType > | BulkForcesFunctionType |
A function modelling "force" terms in the bulk-phase. | |
typedef EmptyBoundaryIndicatorType | NeumannIndicatorType |
Something satisfying the BoundaryIndicatorInterface. More... | |
typedef BoundarySupportedFunction< ZeroGridFunction< FunctionSpaceType, GridPartType >, NeumannIndicatorType > | NeumannBoundaryFunctionType |
A function modelling the "right hand side" inhomogeneous von Neumann as for inhomogeneous Robin boundary conditions. More... | |
Detailed Description
struct Dune::ACFem::DefaultModelTraits< FunctionSpace, GridPart >
A structure defining some trivial default values for the template structure ModelTraits<ModelType>, given the function-space the beast maps to, and the grid part.
The default are homogeneous Neumann boundary conditions anywhere.
Member Typedef Documentation
◆ DirichletBoundaryFunctionType
typedef BoundarySupportedFunction<ZeroGridFunction<FunctionSpaceType, GridPartType>, DirichletIndicatorType> Dune::ACFem::DefaultModelTraits< FunctionSpace, GridPart >::DirichletBoundaryFunctionType |
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
- See also
- BoundarySupportedFunction, in particular the "factory" function boundarySupportedFunction() and BoundaryFunctionExpressions for the set of supported algebraic operations for such functions.
◆ DirichletIndicatorType
typedef EmptyBoundaryIndicatorType Dune::ACFem::DefaultModelTraits< FunctionSpace, GridPart >::DirichletIndicatorType |
Something satisfying the BoundaryIndicatorInterface.
This models the indicator function for the subset of the boundary where Dirichlet conditions apply. The default is the indicator function for the empty set.
◆ DirichletWeightFunctionType
typedef BoundarySupportedFunction<FractionGridFunction<ScalarFunctionSpaceType, GridPartType, 1L, 1UL>, DirichletIndicatorType> Dune::ACFem::DefaultModelTraits< FunctionSpace, GridPart >::DirichletWeightFunctionType |
A scalar BoundarySupportedFunction which defines "weighted" Dirichlet values of the form.
\[ \chi_D(x)\,w_D(x)\,u(x) = g_D(x)\text{ on }\Gamma_D\subset\partial\Omega. \]
Here \(\chi_D\) is the indicator function on \(\Gamma_D\) and \(g_D\) denotes the prescribed Dirichlet values. Under simple circumstances \(w_D\) will simply evaluate to 1. The presence of \(w_D\) seems to be a little bit obscure, but the presence of this factor helps a lot in defining ModelExpressions in a simple and consitent way. The drawback is that this function needs to be adjusted when changing the DirichletIndicatorType. The DirichletBoundaryModel (Model Building Blocks) takes automatically care of this. If you define your own model, you have to take care to define a suitable weight function. Normally it should suffice to copy the corresponding three lines from the DefaultModelTraits out of modelinterface.hh into your specialized Model-class.
◆ NeumannBoundaryFunctionType
typedef BoundarySupportedFunction<ZeroGridFunction<FunctionSpaceType, GridPartType>, NeumannIndicatorType> Dune::ACFem::DefaultModelTraits< FunctionSpace, GridPart >::NeumannBoundaryFunctionType |
A function modelling the "right hand side" inhomogeneous von Neumann as for inhomogeneous Robin boundary conditions.
This must be a BoundarySupportedFunction subordinate to NeumannIndicatorType.
- See also
- BoundarySupportedFunction, in particular the "factory" function boundarySupprotedFunction() and BoundaryFunctionExpressions for the set of supported algebraic operations for such functions.
◆ NeumannIndicatorType
typedef EmptyBoundaryIndicatorType Dune::ACFem::DefaultModelTraits< FunctionSpace, GridPart >::NeumannIndicatorType |
Something satisfying the BoundaryIndicatorInterface.
This models the indicator function for the subset of the boundary where inhomogeneous boundary conditions apply. The default is the indicator function for the empty set. For homogeneous von Neumann or Robin boundary conditions this can be left at its default, which is the indicator function for the empty set (aka x -> 0).
The documentation for this struct was generated from the following file:
- dune/acfem/models/modelinterface.hh