dune-fem 2.8.0
|
interface for time evolution operators More...
#include <dune/fem/operator/common/spaceoperatorif.hh>
Public Types | |
typedef DiscreteFunction | DestinationType |
type of argument and destination | |
typedef DestinationType::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
type of discrete function space | |
typedef DiscreteFunctionSpaceType | SpaceType |
convenience typedef for space type | |
typedef BaseType::RangeFunctionType | RangeFunctionType |
typedef BaseType::DomainFunctionType | DomainFunctionType |
typedef BaseType::RangeFieldType | RangeFieldType |
typedef BaseType::DomainFieldType | DomainFieldType |
typedef Dune::FieldTraits< RangeFieldType >::real_type | RealType |
typedef BaseType::JacobianOperatorType | JacobianOperatorType |
typedef RangeFunctionType::DiscreteFunctionSpaceType | RangeSpaceType |
typedef DomainFunctionType::DiscreteFunctionSpaceType | DomainSpaceType |
Public Member Functions | |
virtual | ~SpaceOperatorInterface () |
destructor | |
virtual const DiscreteFunctionSpaceType & | space () const =0 |
return reference to space (needed by ode solvers) | |
virtual int | size () const |
return size of discrete function space, i.e. number of unknowns | |
virtual void | initializeTimeStepSize (const DestinationType &U0) const |
call operator once to calculate initial time step size | |
virtual bool | hasLimiter () const |
return true if limit method is implemented | |
virtual void | setTime (const double time) |
set time for operators | |
virtual double | timeStepEstimate () const |
estimate maximum time step | |
virtual void | limit (const DestinationType &arg, DestinationType &dest) const |
limiter application operator | |
virtual void | applyLimiter (DestinationType &U) const |
limiter application operator | |
virtual const DestinationType * | destination () const |
return reference to pass's local memory | |
virtual void | jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const |
virtual void | jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0 |
obtain linearization | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0 |
application operator | |
virtual void | finalize () |
finalization of operator | |
Protected Attributes | |
std::unique_ptr< DestinationType > | uTmp_ |
interface for time evolution operators
The SpaceOperatorInterface defines an interface for operators
DiscreteFunction | type of discretefunction modelling the elements of ![]() |
typedef DiscreteFunction Dune::Fem::SpaceOperatorInterface< DiscreteFunction, JacobianOperator >::DestinationType |
type of argument and destination
typedef DestinationType::DiscreteFunctionSpaceType Dune::Fem::SpaceOperatorInterface< DiscreteFunction, JacobianOperator >::DiscreteFunctionSpaceType |
type of discrete function space
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
typedef DiscreteFunctionSpaceType Dune::Fem::SpaceOperatorInterface< DiscreteFunction, JacobianOperator >::SpaceType |
convenience typedef for space type
|
inlinevirtual |
destructor
|
inlinevirtual |
limiter application operator
[in,out] | U | argument and destination to apply Limiter(u), needs internal copying |
|
inlinevirtual |
return reference to pass's local memory
Reimplemented in Dune::Fem::SpaceOperatorPtr< OperatorType >.
|
inlinevirtualinherited |
finalization of operator
|
inlinevirtual |
return true if limit method is implemented
|
inlinevirtual |
call operator once to calculate initial time step size
U0 | initial data to compute initial time step size |
|
inlinevirtualinherited |
|
pure virtualinherited |
obtain linearization
[in] | u | argument discrete function |
[out] | jOp | destination Jacobian operator |
Implemented in Dune::Fem::DifferentiableGalerkinOperator< Integrands, JacobianOperator >, and Dune::Fem::MOLDifferentiableGalerkinOperator< Integrands, JacobianOperator >.
|
inlinevirtual |
limiter application operator
arg | argument, u |
dest | destination, Limiter(u) |
|
pure virtualinherited |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
|
inlinevirtual |
set time for operators
time | current time of evaluation |
Reimplemented in Dune::Fem::SpaceOperatorPtr< OperatorType >, and Dune::Fem::HdivProjection< DiscreteFunctionType >.
|
inlinevirtual |
return size of discrete function space, i.e. number of unknowns
|
pure virtual |
return reference to space (needed by ode solvers)
Implemented in Dune::Fem::SpaceOperatorPtr< OperatorType >, and Dune::Fem::HdivProjection< DiscreteFunctionType >.
|
inlinevirtual |
estimate maximum time step
For an explicit time discretization, the time step has to be limited. An estimate for the maximum time step of an explicit Euler scheme is returned by this function. Maximum time steps for higher order Runge Kutta schemes can be derived from this value.
Reimplemented in Dune::Fem::SpaceOperatorPtr< OperatorType >, and Dune::Fem::HdivProjection< DiscreteFunctionType >.
|
mutableprotected |