DUNE-ACFEM (2.5.1)
Model Building Blocks
Basic PDE-Models which can be used to conveniently form more complicated models by means of ModelExpressions. More...
Modules | |
Building Blocks for the Bulk-Phase | |
Define some "germs" for the bulk-contributions for differentiable operators. | |
Building Blocks for the Driving Forces | |
Some models for the "right hand side", L2 "bulk forces" and DiscreteLinearFunctionals. | |
Building Blocks for Boundary Conditions | |
Models for some common-case boundary conditions. | |
Generate Model-Building-Blocks Conveniently | |
Some utility function in order to conveniently define some standard models without having to go through the "typedef" trouble. | |
BasicOperatorParts | |
Classes | |
class | Dune::ACFem::ZeroModel< FunctionSpace, GridPart > |
Define a simple zero model to optimize expression templates. More... | |
Detailed Description
Basic PDE-Models which can be used to conveniently form more complicated models by means of ModelExpressions.
Provided you already have some Fem::DiscreteFunction U at hand, a grid-function F for the bulk-forces and a grid-function G for Dirichlet boundary values, then you may some diffusion-reaction model in the following way:
auto bc = dirichletBoundaryModel(G);
DirichletBoundaryModel< GridFunction, Indicator > dirichletBoundaryModel(const Fem::Function< typename GridFunction::FunctionSpaceType, GridFunction > &values, const BoundaryIndicatorInterface< Indicator > &where=Indicator())
Generate a DirichletBoundaryModel from given grid-function and boundary indicator.
Definition: dirichletmodel.hh:165
static OperatorPartsAdapterModel< MassOperatorParts< typename Object::FunctionSpaceType >, typename Object::GridPartType > massModel(const Object &object, const std::string &name="")
Generate a mass model fitting the specified object.
Definition: massmodel.hh:149
The resulting myModel
will then model the following boundary value problem:
\[ \begin{split} -\Delta\,U + 2\,U & = F\text{ in }\Omega\\ U &= G\text{ on }\partial\Omega. \end{split} \]
- Note
- It is of course possible to form more complicated models, have different kind of boundary conditions on parts of the boundary and define non linear models. In addition, it is – also intentionally – ever possible to simply code your most-precious model in the most-efficient way without expression templates by following the layout prescribe by ModelInterface. Our believe is that efficiency is not an issue here, but flexibility is. If something cannot be formed conveniently from the BasicModels, then feel free to do "hand-work".
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 12, 23:30, 2024)