DUNE-ACFEM (2.5.1)
parabolicfemscheme.hh
156 typedef Dune::Fem::AdaptationManager<GridType, RestrictionProlongationType> AdaptationManagerType;
162 typedef typename ImplicitModelType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType;
175 typedef DirichletConstraints<LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType> ConstraintsOperatorType;
181 typedef DifferentiableEllipticOperator<LinearOperatorType, ImplicitOperatorPartsType, ConstraintsOperatorType, QuadratureTraits> ImplicitOperatorType;
278 initialValue_(wrapToGridFunction("Initial Value", initialValue, gridPart_, discreteSpace_.order()+1)),
583 size_t numberOfDofs = discreteSpace_.blockMapper().size() - discreteSpace_.slaveDofs().size() + 1;
597 GridPartType& gridPart_; // grid part(view), here the leaf grid the discrete space is build with
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
void rebuildValues()
Interpolate the Dirichlet values in any case, but leave slave-DoFs as is if nothing changed.
Definition: dirichletconstraints.hh:190
A class defining an elliptic operator.
Definition: ellipticoperator.hh:86
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::DirichletWeightFunctionType DirichletWeightFunctionType
A BoundarySupportedFunction which must be sub-ordinate to the DirichletIndicatorType.
Definition: modelinterface.hh:242
TraitsType::NeumannIndicatorType NeumannIndicatorType
A function modelling "force" terms in the bulk-phase.
Definition: modelinterface.hh:228
NeumannIndicatorType neumannIndicator() const
Generate an object to identify parts of the boundary subject to Neumann boundary conditions.
Definition: modelinterface.hh:318
Residual estimator for the heat equation.
Definition: parabolicestimator.hh:60
RangeFieldType estimate(const DiscreteFunctionType &uh)
calculate estimator
Definition: parabolicestimator.hh:250
Basic parabolic fem-scheme class.
Definition: parabolicfemscheme.hh:97
DiscreteFunction DiscreteFunctionType
Type of the discrete solution function.
Definition: parabolicfemscheme.hh:100
InitialValue InitialValueType
Initial value.
Definition: parabolicfemscheme.hh:130
ImplicitModelType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType
type of Dirichlet boundary values
Definition: parabolicfemscheme.hh:162
virtual void nonLinearSolve(DiscreteFunctionType &rhs)
Run the full Newton-scheme ...
Definition: parabolicfemscheme.hh:413
virtual double estimate()
calculate error estimator
Definition: parabolicfemscheme.hh:481
Dune::Fem::AdaptationManager< GridType, RestrictionProlongationType > AdaptationManagerType
type of adaptation manager handling adapation and DoF compression
Definition: parabolicfemscheme.hh:156
virtual int output()
data I/O
Definition: parabolicfemscheme.hh:529
std::tuple< DiscreteFunctionType *, const ExactSolutionFunctionType * > IOTupleType
type of input/output tuple
Definition: parabolicfemscheme.hh:235
MarkingStrategy< EstimatorType > MarkingStrategyType
type of marking strategy for space adaptivity
Definition: parabolicfemscheme.hh:221
virtual double error() const
Calculate L2/H1 error.
Definition: parabolicfemscheme.hh:565
DiscreteFunctionType::GridPartType GridPartType
type of the grid view
Definition: parabolicfemscheme.hh:106
ImplicitModelType::FunctionSpaceType FunctionSpaceType
type of function space (scalar functions, )
Definition: parabolicfemscheme.hh:136
MarkingStrategy< InitialEstimatorType > InitialMarkingStrategyType
Initial marking.
Definition: parabolicfemscheme.hh:229
ImplicitModelType::DirichletWeightFunctionType DirichletWeightFunctionType
type of Dirichlet weight function
Definition: parabolicfemscheme.hh:165
DifferentiableEllipticOperator< LinearOperatorType, ImplicitOperatorPartsType, ConstraintsOperatorType, QuadratureTraits > ImplicitOperatorType
define differential operator, implicit part
Definition: parabolicfemscheme.hh:181
DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
type of the discrete function space
Definition: parabolicfemscheme.hh:109
TrueErrorEstimator< InitialValueFunctionType, Dune::Fem::L2Norm< GridPartType > > InitialEstimatorType
intial estimator
Definition: parabolicfemscheme.hh:226
ParabolicFemScheme(DiscreteFunctionType &solution, const TimeProviderType &timeProvider, const ImplicitModelType &implicitModel, const ExplicitModelType &explicitModel, const InitialValueType &initialValue, const std::string name="heat")
Constructor.
Definition: parabolicfemscheme.hh:265
DirichletConstraints< LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType > ConstraintsOperatorType
type of Dirichlet constraints
Definition: parabolicfemscheme.hh:175
ImplicitModel ImplicitModelImplementationType
type of the mathematical model
Definition: parabolicfemscheme.hh:115
TimeProvider TimeProviderType
access to the simulation time and time-step
Definition: parabolicfemscheme.hh:112
Dune::Fem::RestrictProlongDefault< DiscreteFunctionType > RestrictionProlongationType
type of restriction/prolongation projection for adaptive simulations (use default here,...
Definition: parabolicfemscheme.hh:153
Fem::NewtonInverseOperator< LinearOperatorType, LinearInverseOperatorType > NonLinearInverseOperatorType
Non-linear solver.
Definition: parabolicfemscheme.hh:149
virtual void linearSolve(DiscreteFunctionType &rhs, bool forceMatrixAssembling)
Perform only one step of the Newton scheme for the affine-linear case.
Definition: parabolicfemscheme.hh:428
DataOutput< GridType, IOTupleType > DataOutputType
type of data writer (produces VTK data)
Definition: parabolicfemscheme.hh:238
InitialValueFunctionType ExactSolutionFunctionType
adapter to turn exact solution into a grid function (for visualization)
Definition: parabolicfemscheme.hh:232
DifferentiableEmptyBlockConstraints< LinearOperatorType > EmptyConstraintsType
empty constraints for the explicit operator (old solution is already constrained)
Definition: parabolicfemscheme.hh:178
virtual double timeEstimate()
return the most recent time estimate
Definition: parabolicfemscheme.hh:487
virtual void initialize()
initialize the solution
Definition: parabolicfemscheme.hh:332
EllipticOperator< ExplicitOperatorPartsType, DiscreteFunctionType, DiscreteFunctionType, EmptyConstraintsType, QuadratureTraits > ExplicitOperatorType
explicit part of differential operator.
Definition: parabolicfemscheme.hh:187
virtual void next()
Close the current time-step.
Definition: parabolicfemscheme.hh:358
virtual bool mark(const double tolerance)
mark elements for adaptation
Definition: parabolicfemscheme.hh:475
DiscreteFunctionType::GridType GridType
type of hierarchic grid
Definition: parabolicfemscheme.hh:103
virtual void adapt()
do the adaptation for a given marking
Definition: parabolicfemscheme.hh:503
ParabolicEulerEstimator< DiscreteFunctionType, TimeProviderType, ImplicitModelImplementationType, ExplicitModelImplementationType > EstimatorType
type of error estimator
Definition: parabolicfemscheme.hh:218
virtual void solve(bool forceMatrixAssembling=true)
solve the system
Definition: parabolicfemscheme.hh:364
virtual size_t size() const
return some measure about the number of DOFs in use
Definition: parabolicfemscheme.hh:580
Dune::Fem::CheckPointer< GridType > CheckPointerType
type of check-pointer (dumps unaltered simulation data)
Definition: parabolicfemscheme.hh:241
decltype(std::declval< DirichletBoundaryFunctionType >()/std::declval< typename DirichletWeightFunctionType::GridFunctionType >()) EffectiveDirichletFunctionType
type of effective Dirichlet values
Definition: parabolicfemscheme.hh:172
virtual double residual() const
calculate residual (in small l^2)
Definition: parabolicfemscheme.hh:552
ImplicitModelType::DirichletIndicatorType DirichletIndicatorType
types for various data
Definition: parabolicfemscheme.hh:159
"estimator" which return the "true" error with respect to some given function in some standard norm.
Definition: trueerrorestimator.hh:26
RangeFieldType estimate(const DiscreteFunctionType &uh)
calculate estimator
Definition: trueerrorestimator.hh:64
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
A helper class which identifies which components are provided by the given model.
Definition: modelinterface.hh:447
Select one appropriate (linear) solver depending on whether the model is symmetric and/or semidefinit...
Definition: solverselector.hh:90
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)