DUNE-ACFEM (2.5.1)
splittingfemscheme.hh
157 typedef Dune::Fem::AdaptationManager<GridType, RestrictionProlongationType> AdaptationManagerType;
163 typedef typename ImplicitModelType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType;
176 typedef DirichletConstraints<LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType> ConstraintsOperatorType;
182 typedef DifferentiableEllipticOperator<LinearOperatorType, ImplicitModelType, ConstraintsOperatorType> ImplicitOperatorType;
487 GridPartType& gridPart_; // grid part(view), here the leaf grid the discrete space is build with
532 : public SplittingFemSchemeBase<DiscreteFunction, ImplicitModel, ExplicitDataFunction, ExplicitModel, InitialGuessFunction>
535 SplittingFemSchemeBase<DiscreteFunction, ImplicitModel, ExplicitDataFunction, ExplicitModel, InitialGuessFunction>
566 : public SplittingFemSchemeBase<DiscreteFunction, ImplicitModel, ExplicitDataFunction, ExplicitModel,
577 ZeroGridFunction<typename ImplicitModel::FunctionSpaceType, typename ImplicitModel::GridPartType>
581 SplittingFemSchemeBase<DiscreteFunctionType, ImplicitModelType, ExplicitDataType, ExplicitModelType, InitialGuessType>
626 ZeroGridFunction<typename ImplicitModel::FunctionSpaceType, typename ImplicitModel::GridPartType>
634 SplittingFemSchemeBase<DiscreteFunctionType, ImplicitModelType, ExplicitDataType, ExplicitModelType, InitialGuessType>
682 ZeroGridFunction<typename ImplicitModel::FunctionSpaceType, typename ImplicitModel::GridPartType>
688 ZeroGridFunction<typename ImplicitModel::FunctionSpaceType, typename ImplicitModel::GridPartType>
692 SplittingFemSchemeBase<DiscreteFunctionType, ImplicitModelType, ExplicitDataType, ExplicitModelType, InitialGuessType>
718 template <class DiscreteFunction, class ImplicitModel, class ExplicitDataFunction, class ExplicitModel>
Abstract non-adaptive basic FEM scheme.
Definition: femschemeinterface.hh:24
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
decltype(std::declval< DirichletBoundaryFunctionType >()/std::declval< typename DirichletWeightFunctionType::GridFunctionType >()) EffectiveDirichletFunctionType
type of effective Dirichlet values
Definition: splittingfemscheme.hh:173
virtual size_t size() const
return some measure about the number of DOFs in use
Definition: splittingfemscheme.hh:456
DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
type of the discrete function space
Definition: splittingfemscheme.hh:111
DiscreteFunctionType::GridType GridType
type of hierarchic grid
Definition: splittingfemscheme.hh:105
ImplicitModelType::DirichletIndicatorType DirichletIndicatorType
types for various data
Definition: splittingfemscheme.hh:160
virtual void linearSolve(DiscreteFunctionType &rhs, bool forceMatrixAssembling)
Perform only one step of the Newton scheme for the affine-linear case.
Definition: splittingfemscheme.hh:368
SplittingFemSchemeBase(DiscreteFunctionType &solution, const ModelInterface< ImplicitModelType > &implicitModel, const ExplicitDataType &explicitData, const ModelInterface< ExplicitModelType > &explicitModel, const InitialGuessType &initialGuess, const std::string name="femscheme")
Constructor.
Definition: splittingfemscheme.hh:246
DiscreteFunction DiscreteFunctionType
Type of the discrete solution function.
Definition: splittingfemscheme.hh:102
Dune::Fem::CheckPointer< GridType > CheckPointerType
type of check-pointer (dumps unaltered simulation data)
Definition: splittingfemscheme.hh:224
DataOutput< GridType, IOTupleType > DataOutputType
type of data writer (produces VTK data)
Definition: splittingfemscheme.hh:221
InitialGuessFunction InitialGuessType
Initial Guess.
Definition: splittingfemscheme.hh:131
ImplicitModelType::DirichletBoundaryFunctionType DirichletBoundaryFunctionType
type of Dirichlet boundary values
Definition: splittingfemscheme.hh:163
std::tuple< DiscreteFunctionType *, const ExactSolutionFunctionType * > IOTupleType
type of input/output tuple
Definition: splittingfemscheme.hh:218
EllipticOperator< ExplicitModelType, ExplicitDataFunctionType, DiscreteFunctionType, EmptyConstraintsType > ExplicitOperatorType
explicit part of differential operator.
Definition: splittingfemscheme.hh:188
DirichletConstraints< LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType > ConstraintsOperatorType
type of Dirichlet constraints
Definition: splittingfemscheme.hh:176
InitialGuessFunctionType ExactSolutionFunctionType
adapter to turn exact solution into a grid function (for visualization)
Definition: splittingfemscheme.hh:215
DifferentiableEmptyBlockConstraints< LinearOperatorType > EmptyConstraintsType
empty constraints for the explicit operator (old solution is already constrained)
Definition: splittingfemscheme.hh:179
virtual void nonLinearSolve(DiscreteFunctionType &rhs)
Run the full Newton-scheme ...
Definition: splittingfemscheme.hh:353
virtual double residual() const
calculate residual (in small l^2)
Definition: splittingfemscheme.hh:428
Dune::Fem::AdaptationManager< GridType, RestrictionProlongationType > AdaptationManagerType
type of adaptation manager handling adapation and DoF compression
Definition: splittingfemscheme.hh:157
Fem::NewtonInverseOperator< LinearOperatorType, LinearInverseOperatorType > NonLinearInverseOperatorType
Non-linear solver.
Definition: splittingfemscheme.hh:150
DifferentiableEllipticOperator< LinearOperatorType, ImplicitModelType, ConstraintsOperatorType > ImplicitOperatorType
define differential operator, implicit part
Definition: splittingfemscheme.hh:182
ImplicitModel ImplicitModelType
type of the mathematical model
Definition: splittingfemscheme.hh:114
virtual void initialize()
initialize the solution
Definition: splittingfemscheme.hh:292
Dune::Fem::RestrictProlongDefault< DiscreteFunctionType > RestrictionProlongationType
type of restriction/prolongation projection for adaptive simulations (use default here,...
Definition: splittingfemscheme.hh:154
ImplicitModelType::FunctionSpaceType FunctionSpaceType
type of function space (scalar functions, )
Definition: splittingfemscheme.hh:137
virtual double error() const
Calculate L2/H1 error.
Definition: splittingfemscheme.hh:441
ImplicitModelType::DirichletWeightFunctionType DirichletWeightFunctionType
type of Dirichlet weight function
Definition: splittingfemscheme.hh:166
DiscreteFunctionType::GridPartType GridPartType
type of the grid view
Definition: splittingfemscheme.hh:108
virtual void solve(bool forceMatrixAssembling=true)
solve the system
Definition: splittingfemscheme.hh:308
virtual int output()
data I/O
Definition: splittingfemscheme.hh:408
ExplicitDataFunction ExplicitDataType
Data for explicit model.
Definition: splittingfemscheme.hh:125
Define a simple zero model to optimize expression templates.
Definition: zeromodel.hh:28
constexpr bool isZero(Expression &&)
Specialize to evaluate to true for zero expressions.
Definition: expressionoperations.hh:469
const Implementation & asImp(const Fem::BartonNackmanInterface< Interface, Implementation > &arg)
Up-cast to the implementation for any Fem::BartonNackmanInterface.
Definition: expressionoperations.hh:71
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
A grid-function tight to zero.
Definition: constantfunction.hh:324
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)