DUNE-ACFEM (2.5.1)
Constructor. More...
#include <dune/acfem/algorithms/splittingfemscheme.hh>
Public Types | |
typedef DiscreteFunctionType::GridType | GridType |
type of hierarchic grid | |
typedef DiscreteFunctionType::GridPartType | GridPartType |
type of the grid view | |
typedef DiscreteFunctionType::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
type of the discrete function space | |
typedef ImplicitModelType::FunctionSpaceType | FunctionSpaceType |
type of function space (scalar functions, \(f: \Omega -> R\)) | |
typedef Fem::NewtonInverseOperator< LinearOperatorType, LinearInverseOperatorType > | NonLinearInverseOperatorType |
Non-linear solver. | |
typedef Dune::Fem::RestrictProlongDefault< DiscreteFunctionType > | RestrictionProlongationType |
type of restriction/prolongation projection for adaptive simulations (use default here, i.e. More... | |
typedef Dune::Fem::AdaptationManager< GridType, RestrictionProlongationType > | AdaptationManagerType |
type of adaptation manager handling adapation and DoF compression | |
typedef ImplicitModelType::DirichletIndicatorType | DirichletIndicatorType |
types for various data | |
typedef ImplicitModelType::DirichletBoundaryFunctionType | DirichletBoundaryFunctionType |
type of Dirichlet boundary values | |
typedef ImplicitModelType::DirichletWeightFunctionType | DirichletWeightFunctionType |
type of Dirichlet weight function | |
typedef decltype(std::declval< DirichletBoundaryFunctionType >()/std::declval< typename DirichletWeightFunctionType::GridFunctionType >()) | EffectiveDirichletFunctionType |
type of effective Dirichlet values | |
typedef DirichletConstraints< LinearOperatorType, EffectiveDirichletFunctionType, DirichletIndicatorType > | ConstraintsOperatorType |
type of Dirichlet constraints | |
typedef DifferentiableEmptyBlockConstraints< LinearOperatorType > | EmptyConstraintsType |
empty constraints for the explicit operator (old solution is already constrained) | |
typedef DifferentiableEllipticOperator< LinearOperatorType, ImplicitModelType, ConstraintsOperatorType > | ImplicitOperatorType |
define differential operator, implicit part | |
typedef EllipticOperator< ExplicitModelType, ExplicitDataFunctionType, DiscreteFunctionType, EmptyConstraintsType > | ExplicitOperatorType |
explicit part of differential operator. More... | |
typedef InitialGuessFunctionType | ExactSolutionFunctionType |
adapter to turn exact solution into a grid function (for visualization) | |
typedef std::tuple< DiscreteFunctionType *, const ExactSolutionFunctionType * > | IOTupleType |
type of input/output tuple | |
typedef DataOutput< GridType, IOTupleType > | DataOutputType |
type of data writer (produces VTK data) | |
typedef Dune::Fem::CheckPointer< GridType > | CheckPointerType |
type of check-pointer (dumps unaltered simulation data) | |
Define the RHS functional. The default for forces and Neumann is a ZeroGridFunction which will result in a ZeroFunctional which simply will do nothing. For assembling, both will be added efficently together using FunctionalExpressions. | |
typedef SumModelType::BulkForcesFunctionType | BulkForcesFunctionType |
typedef L2InnerProductFunctional< DiscreteFunctionSpaceType, BulkForcesFunctionType > | BulkForcesFunctional |
typedef SumModelType::NeumannBoundaryFunctionType | BoundaryFluxFunctionType |
typedef L2BoundaryFunctional< DiscreteFunctionSpaceType, BoundaryFluxFunctionType, typename ImplicitModelType::NeumannIndicatorType > | BoundaryFluxFunctional |
Public Member Functions | |
virtual void | initialize () |
initialize the solution | |
virtual void | solve (bool forceMatrixAssembling=true) |
solve the system | |
virtual int | output () |
data I/O | |
virtual double | residual () const |
calculate residual (in small l^2) | |
virtual double | error () const |
Calculate L2/H1 error. More... | |
virtual size_t | size () const |
return some measure about the number of DOFs in use | |
Protected Member Functions | |
virtual void | nonLinearSolve (DiscreteFunctionType &rhs) |
Run the full Newton-scheme ... | |
virtual void | linearSolve (DiscreteFunctionType &rhs, bool forceMatrixAssembling) |
Perform only one step of the Newton scheme for the affine-linear case. More... | |
Detailed Description
class Dune::ACFem::SplittingFemScheme< DiscreteFunction, ImplicitModel, ExplicitDataFunction, ExplicitModel, InitialGuessFunction >
Constructor.
- Parameters
-
[in,out] solution Storage for the discrete solution. [in] implicitModel The part of the operator to be applied at the end of the time interval. [in] explicitData The grid-function the operator defined by explicitModel is applied to. This defaults to the ZeroGridFunction. [in] explicitModel The part of the operator to be applied to the old values. This defaults to the ZeroModel. [in] initialGuess Initial guess. If present, initialize() will call the natural interpolation routine for the given discrete function space. [in] name Name used for parameters and output.
Member Typedef Documentation
◆ ExplicitOperatorType
|
inherited |
explicit part of differential operator.
Need not be differentiable as it is only needed for the RHS.
◆ RestrictionProlongationType
|
inherited |
type of restriction/prolongation projection for adaptive simulations (use default here, i.e.
LagrangeInterpolation)
Member Function Documentation
◆ error()
|
inlinevirtualinherited |
Calculate L2/H1 error.
This actually computes the distance to the initial value which optionally may be used for experimental convergence tests in order to pass an exact "solution". In this case initialGuess may be time-dependent and has to give the correct value at the start of the time-step.
Implements Dune::ACFem::BasicFemScheme.
◆ linearSolve()
|
inlineprotectedvirtualinherited |
Perform only one step of the Newton scheme for the affine-linear case.
This implies that an affine linear case is really allowed.
The documentation for this class was generated from the following file:
- dune/acfem/algorithms/splittingfemscheme.hh