dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Attributes | List of all members
Dune::Fem::SpaceOperatorPtr< OperatorType > Class Template Referenceabstract

only for keeping the pointer More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/common/spaceoperatorif.hh>

Inheritance diagram for Dune::Fem::SpaceOperatorPtr< OperatorType >:
Inheritance graph

Public Types

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

 SpaceOperatorPtr (OperatorType *op)
 constructor storing pointer More...
 
 SpaceOperatorPtr (OperatorType *op, ObjPointerStorage *model)
 constructor storing pointer More...
 
virtual ~SpaceOperatorPtr ()
 destructor More...
 
virtual void operator() (const DestinationType &arg, DestinationType &dest) const
 application operator does nothing here More...
 
const SpaceType & space () const
 return reference to space More...
 
void setTime (const double time)
 set time for operators More...
 
double timeStepEstimate () const
 estimate maximum time step More...
 
const DestinationType * destination () const
 return reference to pass's local memory More...
 
OperatorType & pass () const
 return reference to pass More...
 
template<class DiscrOpType >
void saveObjPointer (DiscrOpType *discrOp)
 Store new generated DiscreteOperator Pointer. More...
 
template<class DiscrOpType , class LocalOpType >
void saveObjPointer (DiscrOpType *discrOp, LocalOpType *lop)
 
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 operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0
 application operator More...
 
virtual void limit (const double *u, double *f) const
 limiter application operator More...
 
virtual void limit (const DestinationType &arg, DestinationType &dest) const
 limiter application operator More...
 
virtual bool hasLimiter () const
 return true if explicit limiter is available More...
 
virtual void initializeTimeStepSize (const DestinationType &U0) const
 call operator once to calculate initial time step size More...
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0
 obtain linearization More...
 

Protected Attributes

OperatorType * op_
 
ObjPointerStoragemodel_
 

Detailed Description

template<class OperatorType>
class Dune::Fem::SpaceOperatorPtr< OperatorType >

only for keeping the pointer

Member Typedef Documentation

typedef BaseType::DomainFieldType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::DomainFieldType
inherited
typedef BaseType::DomainFunctionType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::DomainFunctionType
inherited
typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::DomainSpaceType
inherited
typedef BaseType::JacobianOperatorType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::JacobianOperatorType
inherited
typedef BaseType::RangeFieldType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::RangeFieldType
inherited
typedef BaseType::RangeFunctionType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::RangeFunctionType
inherited
typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::RangeSpaceType
inherited
typedef Dune::FieldTraits< RangeFieldType >::real_type Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::RealType
inherited

Constructor & Destructor Documentation

template<class OperatorType >
Dune::Fem::SpaceOperatorPtr< OperatorType >::SpaceOperatorPtr ( OperatorType *  op)
inline

constructor storing pointer

template<class OperatorType >
Dune::Fem::SpaceOperatorPtr< OperatorType >::SpaceOperatorPtr ( OperatorType *  op,
ObjPointerStorage model 
)
inline

constructor storing pointer

template<class OperatorType >
virtual Dune::Fem::SpaceOperatorPtr< OperatorType >::~SpaceOperatorPtr ( )
inlinevirtual

destructor

Member Function Documentation

template<class OperatorType >
const DestinationType* Dune::Fem::SpaceOperatorPtr< OperatorType >::destination ( ) const
inlinevirtual

return reference to pass's local memory

Reimplemented from Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >.

virtual bool Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >::hasLimiter ( ) const
inlinevirtualinherited

return true if explicit limiter is available

Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

virtual void Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >::initializeTimeStepSize ( const DestinationType U0) const
virtualinherited

call operator once to calculate initial time step size

Parameters
U0initial data to compute initial time step size

Implements Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

virtual void Dune::Fem::DifferentiableOperator< AutomaticDifferenceLinearOperator< OperatorType::DestinationType, OperatorType::DestinationType > >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
pure virtualinherited

obtain linearization

Parameters
[in]uargument discrete function
[out]jOpdestination Jacobian operator
Note
This method has to be implemented by all derived classes.
virtual void Dune::Fem::AutomaticDifferenceOperator< OperatorType::DestinationType , OperatorType::DestinationType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType , OperatorType::DestinationType > >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
inlinevirtualinherited
virtual void Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >::limit ( const double *  u,
double *  f 
) const
virtualinherited

limiter application operator

Parameters
uargument, u
fdestination, Limiter(u)

Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

virtual void Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >::limit ( const DestinationType arg,
DestinationType dest 
) const
inlinevirtualinherited

limiter application operator

Parameters
argargument, u
destdestination, Limiter(u)
virtual void Dune::Fem::Operator< AutomaticDifferenceLinearOperator< OperatorType::DestinationType, OperatorType::DestinationType >::DomainFunctionType , AutomaticDifferenceLinearOperator< OperatorType::DestinationType, OperatorType::DestinationType >::RangeFunctionType >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

application operator

Parameters
[in]uargument discrete function
[out]wdestination discrete function
Note
This method has to be implemented by all derived classes.
virtual void Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >::operator() ( const double *  u,
double *  f 
) const
virtualinherited

application operator to apply right hand side

Parameters
uargument, u
fdestination, f(u)

Implements Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

template<class OperatorType >
virtual void Dune::Fem::SpaceOperatorPtr< OperatorType >::operator() ( const DestinationType &  arg,
DestinationType &  dest 
) const
inlinevirtual

application operator does nothing here

Reimplemented in Dune::Fem::SpaceOperatorWrapper< OperatorType >.

template<class OperatorType>
OperatorType& Dune::Fem::SpaceOperatorStorage< OperatorType >::pass ( ) const
inlineinherited
template<class DiscrOpType >
void Dune::Fem::ObjPointerStorage::saveObjPointer ( DiscrOpType *  discrOp)
inlineinherited

Store new generated DiscreteOperator Pointer.

References Dune::Fem::ObjPointer< ObjType >::next.

template<class DiscrOpType , class LocalOpType >
void Dune::Fem::ObjPointerStorage::saveObjPointer ( DiscrOpType *  discrOp,
LocalOpType *  lop 
)
inlineinherited

Store new generated DiscreteOperator Pointer and the LocalOperator pointer

template<class OperatorType >
void Dune::Fem::SpaceOperatorPtr< OperatorType >::setTime ( const double  time)
inlinevirtual

set time for operators

Parameters
timecurrent time of evaluation

Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

virtual int Dune::Fem::SpaceOperatorInterface< OperatorType::DestinationType >::size ( ) const
inlinevirtualinherited

return size of discrete function space, i.e. number of unknowns

Implements Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

template<class OperatorType >
const SpaceType& Dune::Fem::SpaceOperatorPtr< OperatorType >::space ( ) const
inlinevirtual
template<class OperatorType >
double Dune::Fem::SpaceOperatorPtr< OperatorType >::timeStepEstimate ( ) const
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 from Dune::Fem::PARDGSpaceOperatorInterface< OperatorType::DestinationType >.

Member Data Documentation

template<class OperatorType>
ObjPointerStorage* Dune::Fem::SpaceOperatorStorage< OperatorType >::model_
protectedinherited
template<class OperatorType>
OperatorType* Dune::Fem::SpaceOperatorStorage< OperatorType >::op_
mutableprotectedinherited

The documentation for this class was generated from the following file: