DUNE-ACFEM (2.5.1)
ellipticfemscheme.hh
150 typedef DirichletConstraints<LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType> ConstraintsOperatorType;
153 typedef DifferentiableEllipticOperator<LinearOperatorType, OperatorPartsType, ConstraintsOperatorType> OperatorType;
172 L2BoundaryFunctional<DiscreteFunctionSpaceType, BoundaryFluxFunctionType, typename ModelType::NeumannIndicatorType>
248 initialGuess_(wrapToGridFunction("Initial Guess/Exact Solution", initialGuess, gridPart_, discreteSpace_.order()+1)),
516 size_t numberOfDofs = discreteSpace_.blockMapper().size() - discreteSpace_.slaveDofs().size() + 1;
529 GridPartType& gridPart_; // grid part(view), here the leaf grid the discrete space is build with
Abstract space adaptative FEM scheme.
Definition: femschemeinterface.hh:60
void zeroConstrain(DiscreteFunctionType &w) const
Unconditionally set the values of all masked DoFs to zero.
Definition: bulkblockconstraints.hh:250
void constrain(DiscreteFunctionType &w) const
The solution operator; unconditionally install the given constraints into the argument.
Definition: bulkblockconstraints.hh:224
RangeFieldType estimate(const DiscreteFunctionType &uh)
calculate estimator
Definition: ellipticestimator.hh:194
Adaptive fem-scheme for "elliptic" problems.
Definition: ellipticfemscheme.hh:93
ModelType::DirichletIndicatorType DirichletIndicatorType
types for various data
Definition: ellipticfemscheme.hh:147
Fem::AdaptationManager< GridType, RestrictionProlongationType > AdaptationManagerType
type of adaptation manager handling adapation and DoF compression
Definition: ellipticfemscheme.hh:131
DiscreteFunctionType::GridType GridType
type of hierarchic grid
Definition: ellipticfemscheme.hh:99
Fem::NewtonInverseOperator< LinearOperatorType, LinearInverseOperatorType > NonLinearInverseOperatorType
Non-linear solver.
Definition: ellipticfemscheme.hh:124
virtual double estimate()
calculate error estimator
Definition: ellipticfemscheme.hh:421
ModelType::DirichletWeightFunctionType DirichletWeightFunctionType
type of Dirichlet weight function
Definition: ellipticfemscheme.hh:137
DirichletConstraints< LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType > ConstraintsOperatorType
type of Dirichlet constraints
Definition: ellipticfemscheme.hh:150
DataOutput< GridType, IOTupleType > DataOutputType
type of data writer
Definition: ellipticfemscheme.hh:197
virtual void adapt()
do the adaptation for a given marking
Definition: ellipticfemscheme.hh:427
virtual size_t size() const
return some measure about the number of DOFs in use
Definition: ellipticfemscheme.hh:513
DiscreteFunction DiscreteFunctionType
Type of the discrete solution function.
Definition: ellipticfemscheme.hh:96
ModelType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType
type of Dirichlet boundary values
Definition: ellipticfemscheme.hh:134
EllipticEstimator< DiscreteFunctionSpaceType, ModelImplementationType > EstimatorType
type of error estimator
Definition: ellipticfemscheme.hh:177
DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
type of the discrete function space
Definition: ellipticfemscheme.hh:105
virtual double error() const
calculate L2/H1 error
Definition: ellipticfemscheme.hh:498
decltype(std::declval< DirichletBoundaryFunctionType >()/std::declval< typename DirichletWeightFunctionType::GridFunctionType >()) EffectiveDirichletFunctionType
type of effective Dirichlet values
Definition: ellipticfemscheme.hh:144
EllipticFemSchemeBase(DiscreteFunctionType &solution, const ModelType &model, const InitialGuessType &initialGuess, const std::string &name="ellipt")
Constructor for the elliptic fem-scheme.
Definition: ellipticfemscheme.hh:215
SolverSelector< DiscreteFunctionType, OperatorPartsType > SolverSelectorType
choose type of discrete function, Matrix implementation and solver implementation
Definition: ellipticfemscheme.hh:117
DiscreteFunctionSpaceType::FunctionSpaceType FunctionSpaceType
type of function space
Definition: ellipticfemscheme.hh:114
virtual void initialize()
initialize solution
Definition: ellipticfemscheme.hh:307
Model ModelImplementationType
type of the mathematical model
Definition: ellipticfemscheme.hh:108
GridFunctionConverter< InitialGuessType, GridPartType >::WrappedGridFunctionType InitialGuessFunctionType
The wrapped InitialGuessType (no-op if already instrumented with LocalFunction)
Definition: ellipticfemscheme.hh:189
Fem::RestrictProlongDefault< DiscreteFunctionType > RestrictionProlongationType
type of restriction/prolongation projection for adaptive simulations (use default here,...
Definition: ellipticfemscheme.hh:128
virtual void solve(bool forceMatrixAssembling=true)
Solve the system.
Definition: ellipticfemscheme.hh:320
std::tuple< DiscreteFunctionType *, const InitialGuessFunctionType * > IOTupleType
type of input/output tuple
Definition: ellipticfemscheme.hh:194
InitialGuess InitialGuessType
Initial guess/exact solution.
Definition: ellipticfemscheme.hh:183
DifferentiableEllipticOperator< LinearOperatorType, OperatorPartsType, ConstraintsOperatorType > OperatorType
define differential operator
Definition: ellipticfemscheme.hh:153
virtual int output()
data I/O
Definition: ellipticfemscheme.hh:453
virtual void linearSolve(DiscreteFunctionType &rhs, bool forceMatrixAssembling)
Perform only one step of the Newton scheme for the affine-linear case.
Definition: ellipticfemscheme.hh:374
DiscreteFunctionType::GridPartType GridPartType
type of the grid view
Definition: ellipticfemscheme.hh:102
MarkingStrategy< EstimatorType > MarkingStrategyType
type of marking strategy
Definition: ellipticfemscheme.hh:180
virtual double residual() const
calculate residual (in small l^2)
Definition: ellipticfemscheme.hh:474
virtual void nonLinearSolve(DiscreteFunctionType &rhs)
Run the full Newton-scheme ...
Definition: ellipticfemscheme.hh:359
virtual bool mark(const double tolerance)
mark elements for adaptation
Definition: ellipticfemscheme.hh:415
EllipticFemScheme(DiscreteFunctionType &solution, const ModelType &model, const std::string &name="ellipt")
Constructor for the elliptic fem-scheme.
Definition: ellipticfemscheme.hh:627
EllipticFemScheme(DiscreteFunctionType &solution, const ModelType &model, const InitialGuessType &initialGuess, const std::string &name="ellipt")
Constructor for the elliptic fem-scheme.
Definition: ellipticfemscheme.hh:607
Constructor for the elliptic fem-scheme.
Definition: ellipticfemscheme.hh:570
EllipticFemScheme(DiscreteFunctionType &solution, const ModelType &model, const InitialGuessType &initialGuess, const std::string &name="ellipt")
Constructor for the elliptic fem-scheme.
Definition: ellipticfemscheme.hh:578
Interface class for second order elliptic models.
Definition: modelinterface.hh:192
TraitsType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:241
TraitsType::DirichletIndicatorType DirichletIndicatorType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:243
TraitsType::BulkForcesFunctionType BulkForcesFunctionType
A function modelling "force" terms in the bulk-phase.
Definition: modelinterface.hh:226
TraitsType::DirichletWeightFunctionType DirichletWeightFunctionType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:242
TraitsType::NeumannBoundaryFunctionType NeumannBoundaryFunctionType
A function modelling "force" terms in the bulk-phase.
Definition: modelinterface.hh:227
constexpr bool isZero(Expression &&)
Specialize to evaluate to true for zero expressions.
Definition: expressionoperations.hh:469
static auto wrapToGridFunction(const std::string &name, const FunctionImp &f, const GridPart &g, unsigned order=111)
Possibly wrap a function into a GridFunctionWrapper.
Definition: gridfunctionwrapper.hh:342
Select one appropriate (linear) solver depending on whether the model is symmetric and/or semidefinit...
Definition: solverselector.hh:90
A grid-function tight to zero.
Definition: constantfunction.hh:324
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)