dune-fem  2.4.1-rc
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp > Class Template Referenceabstract

Implementation of operator to calculate gradient of a given discrete function using the pass concept. More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/1order/dgmasspass.hh>

Inheritance diagram for Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >:
Inheritance graph

Public Types

enum  { dimRange = BaseType::dimRange }
 
typedef BaseType::DiscreteModelType DiscreteModelType
 
typedef BaseType::PreviousPassType PreviousPassType
 
typedef BaseType::ArgumentType ArgumentType
 
typedef BaseType::DestinationType DestinationType
 
typedef BaseType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef BaseType::BasisFunctionSetType BasisFunctionSetType
 
typedef BaseType::LocalFunctionType LocalFunctionType
 
typedef BaseType::GridPartType GridPartType
 
typedef BaseType::GridType GridType
 
typedef BaseType::IteratorType IteratorType
 
typedef BaseType::Entity EntityType
 
typedef BaseType::Geometry GeometryType
 
typedef BaseType::IntersectionIteratorType IntersectionIteratorType
 
typedef BaseType::RangeType RangeType
 
typedef RangeType::value_type RangeFieldType
 
typedef BaseType::VolumeQuadratureType VolumeQuadratureType
 
typedef CommunicationManager< DiscreteFunctionSpaceTypeCommunicationManagerType
 
typedef DiscreteModelType::MassFactorType MassFactorType
 
enum  
 
typedef BaseType::PassIds PassIds
 pass ids up to here (tuple of integral constants) More...
 
typedef DiscreteModelType::Traits::FaceQuadratureType FaceQuadratureType
 
typedef DiscreteFunctionSpaceType::DomainType DomainType
 
typedef DiscreteFunctionSpaceType::JacobianRangeType JacobianRangeType
 
typedef IntersectionIteratorType::Intersection IntersectionType
 
typedef GridType::template Codim< 0 >::Geometry Geometry
 
typedef DGDiscreteModelCaller< DiscreteModelType, ArgumentType, PassIdsDiscreteModelCallerType
 
typedef GridPartType::IndexSetType IndexSetType
 
typedef TemporaryLocalFunction< DiscreteFunctionSpaceTypeTemporaryLocalFunctionType
 
typedef LocalMassMatrix< DiscreteFunctionSpaceType, VolumeQuadratureTypeLocalMassMatrixType
 type of local mass matrix More...
 
typedef EntityType Entity
 
typedef DeleteHandler< DestinationTypeDeleteHandlerType
 type of mem handler, which deletes destination More...
 
typedef DestinationType::DiscreteFunctionSpaceType::CommunicationManagerType::NonBlockingCommunicationType NonBlockingCommunicationType
 
typedef PreviousPassType::GlobalArgumentType GlobalArgumentType
 
typedef PreviousPassType::NextArgumentType LocalArgumentType
 Tuple containing destination types of all preceding passes. More...
 
typedef PushFrontTuple< LocalArgumentType, const GlobalArgumentType * >::type TotalArgumentType
 
typedef PushBackTuple< LocalArgumentType, DestinationType * >::type NextArgumentType
 Tuple containing destination types of all passes up to this one. More...
 
typedef PreviousPassImp::GlobalArgumentType DomainFunctionType
 type of discrete function in the operator's domain More...
 
typedef DiscreteModelImp::Traits::DestinationType RangeFunctionType
 type of discrete function in the operator's range More...
 
typedef PreviousPassImp::GlobalArgumentType::RangeFieldType DomainFieldType
 field type of the operator's domain More...
 

Public Member Functions

 LocalDGMassPass (DiscreteModelType &problem, PreviousPassType &pass, const DiscreteFunctionSpaceType &spc, double factor=-1.0, int volumeQuadOrd=-1, int faceQuadOrd=-1)
 
virtual ~LocalDGMassPass ()
 Destructor. More...
 
void printTexInfo (std::ostream &out) const
 print tex info More...
 
double timeStepEstimateImpl () const
 Estimate for the timestep size. More...
 
virtual void prepare (const ArgumentType &arg, DestinationType &dest) const
 
virtual void finalize (const ArgumentType &arg, DestinationType &dest) const
 Some timestep size management. More...
 
size_t numberOfElements () const
 return number of elements visited during operator computation More...
 
void applyLocal (const EntityType &en) const
 
void applyLocal (const EntityType &en, const NeighborChecker &nbChecker) const
 local integration More...
 
void applyLocalMass (const EntityType &en) const
 
virtual void allocateLocalMemory ()
 build up local memory More...
 
const DiscreteFunctionSpaceTypespace () const
 return reference to space More...
 
virtual double computeTime () const
 return accumulated time needed by pass's operator () this method also resets the compute time to zero More...
 
bool active () const
 return true if pass is active More...
 
void enable () const
 set pass status to active More...
 
void disable () const
 set pass status to inactive More...
 
void compute (const ArgumentType &arg, DestinationType &dest) const
 
int passNumber () const
 
void operator() (const GlobalArgumentType &arg, DestinationType &dest) const
 Application operator. The application operator is called by the client directly. It makes only sense to call this operator directly on the last pass. More...
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0
 application operator More...
 
void setTime (const double t)
 Set time provider (which gives you access to the global time). More...
 
double timeStepEstimate () const
 return time step estimate for explicit Runge Kutta solver, calls recursively the method timeStepEstimateImpl of all previous passes. Make sure to overload the method timeStepEstimateImpl in your implementation if this method really does something. More...
 
double time () const
 return current time of calculation More...
 
const DestinationTypedestination () const
 return reference to internal discrete function More...
 
void pass (const GlobalArgumentType &arg) const
 
NextArgumentType localArgument () const
 Returns a compilation of the results of the preceding passes. More...
 
void finalizeCommunication (const GlobalArgumentType &arg) const
 finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass More...
 
void receiveCommunication (const GlobalArgumentType &arg) const
 finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass More...
 
virtual bool requireCommunication () const
 requireCommunication returns true if the pass needs communication at all More...
 

Static Public Attributes

static const int passNum = PreviousPassType::passNum + 1
 position in pass tree More...
 
static const int passId = passIdImp
 

Protected Member Functions

void applyLocal (const EntityType &en, TemporaryLocalFunctionType &updEn, const NeighborChecker &nbChecker) const
 local integration More...
 
void initLocalFunction (const EntityType &en, LocalFunctionImp &update) const
 
void updateFunction (const EntityType &en, LocalFunctionImp &update) const
 add update to destination More...
 
void updateFunctionAndApplyMass (const EntityType &en, LocalFunctionImp &update) const
 add update to destination More...
 
void evalVolumetricPartFlux (const EntityType &en, const Geometry &geo, const VolumeQuadratureType &volQuad, LocalFunctionImp &updEn) const
 
void evalVolumetricPartBoth (const EntityType &en, const Geometry &geo, const VolumeQuadratureType &volQuad, LocalFunctionImp &updEn) const
 
double applyLocalNeighbor (const IntersectionType &intersection, const EntityType &en, const EntityType &nb, LocalFunctionImp &updEn, LocalFunctionImp &updNb, double &wspeedS, const bool canUpdateNeighbor) const
 
DiscreteModelCallerTypecaller () const
 
void finalizeCommunication (const TotalArgumentType &totalArg) const
 finalizeCommunication collects possbily initiated non-blocking communications for all passes More...
 
void receiveCommunication (const TotalArgumentType &totalArg) const
 receiveCommunication collects possbily initiated non-blocking communications for all passes More...
 
virtual void initComm () const
 initializeCommunication of this pass, this will initialize the communication of destination_ and has to be overloaded in the implementation More...
 
virtual void finalizeComm () const
 finalizeCommunication of this pass, this will collect the communication of destination_ and has to be overloaded in the implementation More...
 
virtual void receiveComm () const
 receiveCommunication of this pass, which will reset changes the communication did to the destination_ and has to be overloaded in the implementation More...
 

Protected Attributes

DiscreteModelCallerTypecaller_
 
ArgumentTypearg_
 
DestinationTypedest_
 
const GridPartTypegridPart_
 
const IndexSetTypeindexSet_
 
MutableArray< bool > visited_
 
TemporaryLocalFunctionType updEn_
 
TemporaryLocalFunctionType updNb_
 
MutableArray< JacobianRangeTypefMatVec_
 Some helper variables. More...
 
MutableArray< RangeTypevalEnVec_
 
MutableArray< RangeTypevalNbVec_
 
double dtMin_
 
const double minLimit_
 
const int volumeQuadOrd_
 
const int faceQuadOrd_
 
LocalMassMatrixType localMassMatrix_
 
const bool notThreadParallel_
 
const std::string passName_
 
double computeTime_
 
size_t numberOfElements_
 
bool passIsActive_
 
DestinationTypedestination_
 destination (might be set from outside) More...
 
DeleteHandlerTypedeleteHandler_
 object to delete destination_ More...
 
PreviousPassTypepreviousPass_
 
double time_
 
bool finalizeCommunication_
 

Detailed Description

template<class DiscreteModelImp, class PreviousPassImp>
class Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >

Implementation of operator to calculate gradient of a given discrete function using the pass concept.

Description: Solver for equations of the form

\begin{eqnarray*} u &=& A(x)\nabla p \quad\mbox{in}\quad \Omega \\ \end{eqnarray*}

where $ p $ is the argument and $ u $ is computed.

Member Typedef Documentation

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::ArgumentType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::ArgumentType
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::BasisFunctionSetType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::BasisFunctionSetType
template<class DiscreteModelImp , class PreviousPassImp >
typedef CommunicationManager<DiscreteFunctionSpaceType> Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::CommunicationManagerType
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
typedef DeleteHandler<DestinationType> Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::DeleteHandlerType
inherited

type of mem handler, which deletes destination

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::DestinationType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::DestinationType
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::DiscreteFunctionSpaceType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::DiscreteFunctionSpaceType
typedef DGDiscreteModelCaller< DiscreteModelType, ArgumentType, PassIds > Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::DiscreteModelCallerType
inherited
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::DiscreteModelType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::DiscreteModelType
typedef PreviousPassImp::GlobalArgumentType ::RangeFieldType Dune::Fem::Operator< PreviousPassImp::GlobalArgumentType , DiscreteModelImp::Traits::DestinationType >::DomainFieldType
inherited

field type of the operator's domain

typedef PreviousPassImp::GlobalArgumentType Dune::Fem::Operator< PreviousPassImp::GlobalArgumentType , DiscreteModelImp::Traits::DestinationType >::DomainFunctionType
inherited

type of discrete function in the operator's domain

typedef DiscreteFunctionSpaceType::DomainType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::DomainType
inherited
typedef EntityType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::Entity
inherited
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::Entity Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::EntityType
typedef DiscreteModelType::Traits::FaceQuadratureType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::FaceQuadratureType
inherited
typedef GridType::template Codim<0>::Geometry Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::Geometry
inherited
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::Geometry Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::GeometryType
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
typedef PreviousPassType::GlobalArgumentType Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::GlobalArgumentType
inherited

Type of the discrete function which is passed to the overall operator by the user

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::GridPartType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::GridPartType
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::GridType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::GridType
typedef GridPartType::IndexSetType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::IndexSetType
inherited
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::IntersectionIteratorType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::IntersectionIteratorType
typedef IntersectionIteratorType::Intersection Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::IntersectionType
inherited
template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::IteratorType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::IteratorType
typedef DiscreteFunctionSpaceType::JacobianRangeType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::JacobianRangeType
inherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
typedef PreviousPassType::NextArgumentType Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::LocalArgumentType
inherited

Tuple containing destination types of all preceding passes.

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::LocalFunctionType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::LocalFunctionType
typedef LocalMassMatrix< DiscreteFunctionSpaceType, VolumeQuadratureType > Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::LocalMassMatrixType
inherited

type of local mass matrix

template<class DiscreteModelImp , class PreviousPassImp >
typedef DiscreteModelType::MassFactorType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::MassFactorType
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
typedef PushBackTuple< LocalArgumentType, DestinationType* >::type Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::NextArgumentType
inherited

Tuple containing destination types of all passes up to this one.

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
typedef DestinationType :: DiscreteFunctionSpaceType :: CommunicationManagerType :: NonBlockingCommunicationType Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::NonBlockingCommunicationType
inherited
typedef BaseType::PassIds Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::PassIds
inherited

pass ids up to here (tuple of integral constants)

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::PreviousPassType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::PreviousPassType
template<class DiscreteModelImp , class PreviousPassImp >
typedef RangeType::value_type Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::RangeFieldType
typedef DiscreteModelImp::Traits::DestinationType Dune::Fem::Operator< PreviousPassImp::GlobalArgumentType , DiscreteModelImp::Traits::DestinationType >::RangeFunctionType
inherited

type of discrete function in the operator's range

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::RangeType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::RangeType
typedef TemporaryLocalFunction< DiscreteFunctionSpaceType > Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::TemporaryLocalFunctionType
inherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
typedef PushFrontTuple< LocalArgumentType, const GlobalArgumentType* >::type Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::TotalArgumentType
inherited

Tuple containing destination types of all preceding passes plus the global argument. This serves as the argument for this pass' computations

template<class DiscreteModelImp , class PreviousPassImp >
typedef BaseType::VolumeQuadratureType Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::VolumeQuadratureType

Member Enumeration Documentation

template<class DiscreteModelImp , class PreviousPassImp >
anonymous enum
Enumerator
dimRange 
anonymous enum
inherited

Constructor & Destructor Documentation

template<class DiscreteModelImp , class PreviousPassImp >
Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::LocalDGMassPass ( DiscreteModelType problem,
PreviousPassType pass,
const DiscreteFunctionSpaceType spc,
double  factor = -1.0,
int  volumeQuadOrd = -1,
int  faceQuadOrd = -1 
)
inline

Constructor

Parameters
problemActual problem definition (see problem.hh)
passPrevious pass
spcSpace belonging to the discrete function local to this pass
factormass matrix factor, default is -1.0
volumeQuadOrddefines the order of the volume quadrature which is by default 2* space polynomial order
faceQuadOrddefines the order of the face quadrature which is by default 2* space polynomial order
template<class DiscreteModelImp , class PreviousPassImp >
virtual Dune::Fem::LocalDGMassPass< DiscreteModelImp, PreviousPassImp >::~LocalDGMassPass ( )
inlinevirtual

Member Function Documentation

bool Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::active ( ) const
inlineinherited

return true if pass is active

virtual void Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::allocateLocalMemory ( )
inlinevirtualinherited
void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::applyLocal ( const EntityType en) const
inlinevirtualinherited

Actions to be taken on every element. To be overridden in a derived class.

Implements Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp,-1 >.

References Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::applyLocal().

void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::applyLocal ( const EntityType en,
const NeighborChecker &  nbChecker 
) const
inlineinherited
void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::applyLocal ( const EntityType en,
TemporaryLocalFunctionType updEn,
const NeighborChecker &  nbChecker 
) const
inlineprotectedinherited

local integration

References Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::axpyQuadrature(), Dune::Fem::DGDiscreteModelCaller< DiscreteModel, Argument, PassIds >::boundaryFlux(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::caller(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::dtMin_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::evalVolumetricPartBoth(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::evalVolumetricPartFlux(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::faceQuadOrd_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::gridPart_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::indexSet_, Dune::Fem::make_entity(), Dune::Std::min(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::minLimit_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::problem_, Dune::Fem::MutableArray< T, AllocatorType >::resize(), Dune::Fem::DGDiscreteModelCaller< DiscreteModel, Argument, PassIds >::setBoundary(), Dune::Fem::DGDiscreteModelCaller< DiscreteModel, Argument, PassIds >::setEntity(), Dune::Fem::StaticArray< T >::size(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::spc_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::updNb_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::valEnVec_, Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::visited_, and Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >::volumeQuadOrd_.

void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::applyLocalMass ( const EntityType en) const
inlineinherited
double Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::applyLocalNeighbor ( const IntersectionType intersection,
const EntityType en,
const EntityType nb,
LocalFunctionImp &  updEn,
LocalFunctionImp &  updNb,
double &  wspeedS,
const bool  canUpdateNeighbor 
) const
inlineprotectedinherited
DiscreteModelCallerType& Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::caller ( ) const
inlineprotectedinherited
void Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::compute ( const ArgumentType arg,
DestinationType dest 
) const
inlinevirtualinherited

The actual computations are performed as follows. First, prepare the grid walkthrough, then call applyLocal on each entity and then call finalize.

Implements Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >.

virtual double Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::computeTime ( ) const
inlinevirtualinherited

return accumulated time needed by pass's operator () this method also resets the compute time to zero

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
const DestinationType& Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::destination ( ) const
inlineinherited

return reference to internal discrete function

void Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::disable ( ) const
inlineinherited

set pass status to inactive

void Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::enable ( ) const
inlineinherited

set pass status to active

void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::evalVolumetricPartBoth ( const EntityType en,
const Geometry geo,
const VolumeQuadratureType volQuad,
LocalFunctionImp &  updEn 
) const
inlineprotectedinherited
void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::evalVolumetricPartFlux ( const EntityType en,
const Geometry geo,
const VolumeQuadratureType volQuad,
LocalFunctionImp &  updEn 
) const
inlineprotectedinherited
virtual void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::finalize ( const ArgumentType arg,
DestinationType dest 
) const
inlinevirtualinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
virtual void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::finalizeComm ( ) const
inlineprotectedvirtualinherited

finalizeCommunication of this pass, this will collect the communication of destination_ and has to be overloaded in the implementation

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::finalizeCommunication ( const GlobalArgumentType arg) const
inlineinherited

finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::finalizeCommunication ( const TotalArgumentType totalArg) const
inlineprotectedinherited

finalizeCommunication collects possbily initiated non-blocking communications for all passes

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
virtual void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::initComm ( ) const
inlineprotectedvirtualinherited

initializeCommunication of this pass, this will initialize the communication of destination_ and has to be overloaded in the implementation

void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::initLocalFunction ( const EntityType en,
LocalFunctionImp &  update 
) const
inlineprotectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
NextArgumentType Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::localArgument ( ) const
inlineinherited

Returns a compilation of the results of the preceding passes.

size_t Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::numberOfElements ( ) const
inlinevirtualinherited

return number of elements visited during operator computation

Reimplemented from Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp,-1 >.

virtual void Dune::Fem::Operator< PreviousPassImp::GlobalArgumentType , DiscreteModelImp::Traits::DestinationType >::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.
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::operator() ( const GlobalArgumentType arg,
DestinationType dest 
) const
inlineinherited

Application operator. The application operator is called by the client directly. It makes only sense to call this operator directly on the last pass.

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::pass ( const GlobalArgumentType arg) const
inlineinherited

Same as application operator, but uses own memory instead of the discrete function provided by the client. This method is called on all passes except the last one.

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
int Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::passNumber ( ) const
inlineinherited
virtual void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::prepare ( const ArgumentType arg,
DestinationType dest 
) const
inlinevirtualinherited
void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::printTexInfo ( std::ostream &  out) const
inlineinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
virtual void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::receiveComm ( ) const
inlineprotectedvirtualinherited

receiveCommunication of this pass, which will reset changes the communication did to the destination_ and has to be overloaded in the implementation

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::receiveCommunication ( const GlobalArgumentType arg) const
inlineinherited

finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::receiveCommunication ( const TotalArgumentType totalArg) const
inlineprotectedinherited

receiveCommunication collects possbily initiated non-blocking communications for all passes

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
virtual bool Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::requireCommunication ( ) const
inlinevirtualinherited

requireCommunication returns true if the pass needs communication at all

Note
The default implementation returns true

Reimplemented in Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >.

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
void Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::setTime ( const double  t)
inlineinherited

Set time provider (which gives you access to the global time).

const DiscreteFunctionSpaceType& Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::space ( ) const
inlineinherited

return reference to space

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
double Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::time ( ) const
inlineinherited

return current time of calculation

Referenced by Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::prepare().

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
double Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::timeStepEstimate ( ) const
inlineinherited

return time step estimate for explicit Runge Kutta solver, calls recursively the method timeStepEstimateImpl of all previous passes. Make sure to overload the method timeStepEstimateImpl in your implementation if this method really does something.

double Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::timeStepEstimateImpl ( ) const
inlinevirtualinherited
void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::updateFunction ( const EntityType en,
LocalFunctionImp &  update 
) const
inlineprotectedinherited
void Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::updateFunctionAndApplyMass ( const EntityType en,
LocalFunctionImp &  update 
) const
inlineprotectedinherited

Member Data Documentation

ArgumentType* Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::arg_
mutableprotectedinherited
DiscreteModelCallerType* Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::caller_
mutableprotectedinherited
double Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::computeTime_
mutableprotectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
DeleteHandlerType* Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::deleteHandler_
protectedinherited
DestinationType* Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::dest_
mutableprotectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
DestinationType* Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::destination_
protectedinherited
double Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::dtMin_
mutableprotectedinherited
const int Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::faceQuadOrd_
protectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
bool Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::finalizeCommunication_
mutableprotectedinherited
MutableArray< JacobianRangeType > Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::fMatVec_
mutableprotectedinherited

Some helper variables.

const GridPartType& Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::gridPart_
protectedinherited
const IndexSetType& Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::indexSet_
protectedinherited
LocalMassMatrixType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::localMassMatrix_
protectedinherited
const double Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::minLimit_
protectedinherited
const bool Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::notThreadParallel_
protectedinherited
size_t Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::numberOfElements_
mutableprotectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
const int Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::passId = passIdImp
staticinherited
bool Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::passIsActive_
mutableprotectedinherited
const std::string Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::passName_
protectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
const int Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::passNum = PreviousPassType::passNum + 1
staticinherited

position in pass tree

template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
PreviousPassType& Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::previousPass_
protectedinherited
template<class DiscreteModelImp, class PreviousPassImp, int passIdImp>
double Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::time_
protectedinherited
TemporaryLocalFunctionType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::updEn_
mutableprotectedinherited
TemporaryLocalFunctionType Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::updNb_
mutableprotectedinherited
MutableArray< RangeType > Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::valEnVec_
mutableprotectedinherited
MutableArray< RangeType > Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::valNbVec_
mutableprotectedinherited
MutableArray<bool> Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::visited_
mutableprotectedinherited
const int Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, -1 >::volumeQuadOrd_
protectedinherited

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