DUNE-ACFEM (unstable)
Dune::ACFem::GridFunction::ModelDirichletValues< Model, GridPart > Class Template Reference
An adapter class which takes any ACFem-PDE model and extracts its Dirichlet values as a BoundarySupportedFunction. More...
#include <dune/acfem/functions/modules/modeldirichletvalues.hh>
Collaboration diagram for Dune::ACFem::GridFunction::ModelDirichletValues< Model, GridPart >:
Public Member Functions | |
ModelDirichletValues (Model &&model, const GridPartType &gridPart, const std::string &name="") | |
Extract the Dirichlet values from the given model. More... | |
template<class Intersection > | |
auto | classifyIntersection (const Intersection &intersection) |
Bind to the given intersection and classify the components w.r.t. More... | |
template<class Point , std::enable_if_t<(IsQuadraturePoint< Point >::value||IsFieldVector< Point >::value), int > = 0> | |
auto | evaluate (Point &x) const |
evaluate local function evaluate local function | |
template<class Point , std::enable_if_t<(IsQuadraturePoint< Point >::value||IsFieldVector< Point >::value), int > = 0> | |
void | evaluate (const Point &point, RangeType &result) const |
evaluate local function | |
template<class Point , std::enable_if_t<(IsQuadraturePoint< Point >::value||IsFieldVector< Point >::value), int > = 0> | |
auto | jacobian (const Point &x) const |
jacobian of local function | |
template<class Point , std::enable_if_t<(IsQuadraturePoint< Point >::value||IsFieldVector< Point >::value), int > = 0> | |
void | jacobian (const Point &x, JacobianRangeType &result) const |
jacobian of local function | |
Detailed Description
template<class Model, class GridPart>
class Dune::ACFem::GridFunction::ModelDirichletValues< Model, GridPart >
class Dune::ACFem::GridFunction::ModelDirichletValues< Model, GridPart >
An adapter class which takes any ACFem-PDE model and extracts its Dirichlet values as a BoundarySupportedFunction.
from its
Constructor & Destructor Documentation
◆ ModelDirichletValues()
template<class Model , class GridPart >
|
inline |
Extract the Dirichlet values from the given model.
- Parameters
-
[in] model The model to extract the values from. Note that only a reference is stored in order to allow interaction with the ModelDirichletIndicator. [in] name Fancy name for debugging. If empty the name of the model is used to construct some name.
Member Function Documentation
◆ classifyIntersection()
template<class Model , class GridPart >
template<class Intersection >
|
inline |
Bind to the given intersection and classify the components w.r.t.
to the kind of applicable boundary conditions.
- Warning
- Note that prior to calling this function the model has to be bound to the inside entity of the given intersection. Failing to do so generates undefined behaviour.
- The result of calling the other boundary related methods without binding to an intersection is undefined.
-
If RESULT.first is
false
, then the result of calling any of the other boundary related functions is undefined. Philosophically, they should return 0 in this case, but in order to have decent performance they give a damn and just don't care. -
If RESULT.first is
true
, then still you cannot rely on user-friendly behaviour:
- only if the respective bit of RESULT.second is set to 1, then the Dirichlet value in this compoment is well-defined.
- only if the respective bit of RESULT.second is set to 0, then the Robin value in this component is well defined.
- Parameters
-
[in] intersection The intersection to bind to.
- Returns
- A tuple. First component is a
bool
which istrue
iff any of the boundary related data functions would result in non trivial results. Second component is a bitset of sizedimRange
which istrue
if the given component of the system is subject to Dirichlet boundary conditions andfalse
if it is subject to Robin or Neumann boundary conditions. Iffirst
isfalse
then the contents of the bitset is undefined.
The documentation for this class was generated from the following file:
- dune/acfem/functions/modules/modeldirichletvalues.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 31, 23:31, 2024)