dune-fem
2.4.1-rc
|
interface for time evolution operators More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/common/spaceoperatorif.hh>
Classes | |
struct | CallDoubleOperator |
struct | CallDoubleOperator< Op, AdaptiveDiscreteFunction< SpaceType >, double > |
Public Types | |
typedef DiscreteFunction | DestinationType |
type of argument and destination More... | |
typedef DestinationType::DiscreteFunctionSpaceType | SpaceType |
type of discrete function space More... | |
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 More... | |
virtual const SpaceType & | space () const =0 |
return reference to space (needed by ode solvers) More... | |
virtual int | size () const |
return size of discrete function space, i.e. number of unknowns More... | |
virtual void | operator() (const double *u, double *f) const |
application operator to apply right hand side More... | |
virtual void | limit (const double *u, double *f) const |
limiter application operator More... | |
virtual bool | hasLimiter () const |
return true if explicit limiter is available More... | |
virtual void | limit (const DestinationType &arg, DestinationType &dest) const |
limiter application operator More... | |
virtual void | initializeTimeStepSize (const DestinationType &U0) const |
call operator once to calculate initial time step size More... | |
virtual const DestinationType * | destination () const |
return reference to pass's local memory More... | |
virtual void | jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const |
virtual void | jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0 |
obtain linearization More... | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0 |
application operator More... | |
virtual void | setTime (const double time) |
set time for operators More... | |
virtual double | timeStepEstimate () const |
estimate maximum time step More... | |
interface for time evolution operators
The SpaceOperatorInterface defines an interface for operators from a discrete function space
into itself. This interface is used to implement operators working with the ODE solvers.
DiscreteFunction | type of discretefunction modelling the elements of ![]() |
typedef DiscreteFunction Dune::Fem::SpaceOperatorInterface< DiscreteFunction >::DestinationType |
type of argument and destination
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
typedef DestinationType::DiscreteFunctionSpaceType Dune::Fem::SpaceOperatorInterface< DiscreteFunction >::SpaceType |
type of discrete function space
|
inlinevirtual |
destructor
|
inlinevirtual |
return reference to pass's local memory
Reimplemented in Dune::Fem::SpaceOperatorPtr< OperatorType >.
Referenced by Dune::Fem::CreatePass< Model, PassType, pId >::destination(), Dune::Fem::CreateSelectedPass< Model, SelectorImp, PassType >::destination(), and Dune::Fem::CreateFeaturedPass< Model, PassType, SpaceType, pId >::destination().
|
inlinevirtual |
return true if explicit limiter is available
Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunction >.
|
inlinevirtual |
call operator once to calculate initial time step size
U0 | initial data to compute initial time step size |
Implements Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunction >.
Referenced by Dune::Fem::SpaceOperatorInterface< DiscreteFunction >::limit().
|
pure virtualinherited |
obtain linearization
[in] | u | argument discrete function |
[out] | jOp | destination Jacobian operator |
|
inlinevirtualinherited |
|
inlinevirtual |
limiter application operator
u | argument, u |
f | destination, Limiter(u) |
Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunction >.
References Dune::Fem::SpaceOperatorInterface< DiscreteFunction >::initializeTimeStepSize(), and Dune::Fem::PARDGSpaceOperatorInterface< DestinationImp >::limit().
Referenced by Dune::Fem::SpaceOperatorInterface< DiscreteFunction >::operator()().
|
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 |
application operator to apply right hand side
u | argument, u |
f | destination, f(u) |
Implements Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunction >.
References Dune::Fem::SpaceOperatorInterface< DiscreteFunction >::limit().
Referenced by Dune::Fem::SpaceOperatorWrapper< OperatorType >::operator()().
|
inlinevirtualinherited |
set time for operators
time | current time of evaluation |
|
inlinevirtual |
return size of discrete function space, i.e. number of unknowns
Implements Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunction >.
|
pure virtual |
return reference to space (needed by ode solvers)
Implemented in Dune::Fem::SpaceOperatorPtr< OperatorType >, and Dune::Fem::HdivProjection< DiscreteFunctionType >.
|
inlinevirtualinherited |
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.
References Dune::Std::max().