In the style of the dune-fem-school-generator we define here dynamic problem descriptions and an EllipticModel such that an application can switch between example problems at run-time.
More...
|
| Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::EllipticModel (const ProblemType &problem) |
| Constructor taking problem reference. More...
|
|
template<class Entity , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::flux (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const |
|
template<class Entity , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::linearizedFlux (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const |
|
template<class Entity , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::source (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const |
|
template<class Entity , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::linearizedSource (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const |
|
template<class Intersection , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::robinFlux (const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const |
|
template<class Intersection , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::linearizedRobinFlux (const RangeType &uBar, const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const |
|
template<class Entity , class Point > |
void | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::fluxDivergence (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, const HessianRangeType &hessian, RangeType &result) const |
|
BulkForcesFunctionType | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::bulkForcesFunction (const GridPartType &gridPart) const |
| Return a grid functin adapter for the external forces, see class Dune::Fem::GridFunctionAdapter.
|
|
DirichletBoundaryFunctionType | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::dirichletBoundaryFunction (const GridPartType &gridPart) const |
| Return a grid functin adapter for the Dirichlet boundary values, see class Dune::Fem::GridFunctionAdapter.
|
|
DirichletWeightFunctionType | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::dirichletWeightFunction (const GridPartType &gridPart) const |
| Return the trivial constant one function as Dirichlet weight.
|
|
NeumannBoundaryFunctionType | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::neumannBoundaryFunction (const GridPartType &gridPart) const |
| Return a grid functin adapter for the Neumann boundary values, see class Dune::Fem::GridFunctionAdapter.
|
|
ExactSolutionFunctionType | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::exactSolutionFunction (const GridPartType &gridPart) const |
| Return a grid function for a "exact solution" for experimental convergence tests.
|
|
const ProblemType & | Dune::ACFem::EllipticModel< FunctionSpace, GridPart, Problem >::problem () const |
| return reference to problem
|
|
virtual bool | Dune::ACFem::ProblemInterface< FunctionSpace >::has (OperatorPartsType what) const |
| May be used for optimizations during assembly. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::f (const DomainType &x, RangeType &value) const |
| the right hand side data (default = 0)
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::u (const DomainType &x, RangeType &value) const |
| the exact solution (default = 0)
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::uJacobian (const DomainType &x, JacobianRangeType &value) const |
| the jacobian of the exact solution (default = 0)
|
|
virtual bool | Dune::ACFem::ProblemInterface< FunctionSpace >::isDirichletSegment (const int bndId, const DomainType ¢er) const |
| Classification of the kind of boundary conditions which applies to a boundary segment with the given Id. More...
|
|
virtual bool | Dune::ACFem::ProblemInterface< FunctionSpace >::isNeumannSegment (const int bndId, const DomainType ¢er) const |
| Classification of the kind of boundary conditions which applies to a boundary segment with the given Id. More...
|
|
virtual bool | Dune::ACFem::ProblemInterface< FunctionSpace >::isRobinSegment (const int bndId, const DomainType ¢er) const |
| Classification of the kind of boundary conditions which applies to a boundary segment with the given Id. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::dirichletData (const DomainType &x, RangeType &value) const |
| The Dirichlet boundary data. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::neumannData (const DomainType &x, RangeType &value) const |
| The Neumann boundary data. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::robinData (const DomainType &x, const RangeType &u, RangeType &value) const |
| The Robin boundary data. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::secondOrderCoefficient (const DomainType &x, const JacobianRangeType &gradient, JacobianRangeType &result) const |
| This method has to implement the second order term for the weak formulation, it needs to compute. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::secondOrderCoefficient (const DomainType &x, const JacobianRangeType &Du, const HessianRangeType &D2u, RangeType &result) const |
| This method has to implement the second order term for the point-wise operator. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::firstOrderCoefficient (const DomainType &x, const RangeType &u, const JacobianRangeType &Du, RangeType &result) const |
| First order term with derivative on u. More...
|
|
virtual void | Dune::ACFem::ProblemInterface< FunctionSpace >::zeroOrderCoefficient (const DomainType &x, const RangeType &u, RangeType &result) const |
| Zero order coefficient. More...
|
|
void | Dune::ACFem::ProblemInterface< FunctionSpace >::FunctionWrapper< id >::evaluate (const DomainType &x, RangeType &ret) const |
| evaluate function
|
|
void | Dune::ACFem::ProblemInterface< FunctionSpace >::FunctionWrapper< id >::jacobian (const DomainType &x, JacobianRangeType &jac) const |
| jacobian of the function
|
|
| Dune::ACFem::TransientProblemInterface< FunctionSpace, TimeProvider >::TransientProblemInterface (const TimeProviderType &timeProvider, double theta=0.0) |
| constructor taking time provider
|
|
double | Dune::ACFem::TransientProblemInterface< FunctionSpace, TimeProvider >::time () const |
| return current simulation time
|
|
double | Dune::ACFem::TransientProblemInterface< FunctionSpace, TimeProvider >::deltaT () const |
| return current time step size ( \(\Delta_t\))
|
|
const TimeViewType & | Dune::ACFem::TransientProblemInterface< FunctionSpace, TimeProvider >::timeView () const |
| return reference to Problem's time provider
|
|
TimeViewType & | Dune::ACFem::TransientProblemInterface< FunctionSpace, TimeProvider >::timeView () |
| return reference to Problem's time provider
|
|
In the style of the dune-fem-school-generator we define here dynamic problem descriptions and an EllipticModel such that an application can switch between example problems at run-time.
In principle, however, this is not the way to go when writing efficient code for a single, well defined problem. In that case one would rather write the operator "germs" at the ModelInterface level directly.
Nevertheless, the classes defined here a convenient way to get a start.