dune-fem
2.4.1-rc
|
Specialisation of Pass which provides a grid walk-through, but leaves open what needs to be done on each elements. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/pass/common/local.hh>
Public Types | |
typedef PreviousPassImp | PreviousPassType |
type of the preceding pass More... | |
typedef Pass< DiscreteModelImp, PreviousPassImp, passIdImp > | BaseType |
base class More... | |
typedef BaseType::TotalArgumentType | ArgumentType |
The type of the argument (and destination) type of the overall operator. More... | |
typedef DiscreteModelImp::Traits::DestinationType | DestinationType |
the discrete function representing the return value of this pass More... | |
typedef DiscreteModelImp::Traits::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
the discrete function space belonging to destinationtype More... | |
typedef DiscreteFunctionSpaceType::IteratorType | IteratorType |
iterator over the space More... | |
typedef DiscreteFunctionSpaceType::EntityType | EntityType |
the codim 0 entity More... | |
typedef EntityType | Entity |
typedef Dune::PushBackTuple< typename PreviousPassType::PassIds, std::integral_constant< int, passIdImp > >::type | PassIds |
pass ids up to here (tuple of integral constants) More... | |
typedef DeleteHandler< DestinationType > | DeleteHandlerType |
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... | |
typedef DiscreteModelImp::Traits::DestinationType::RangeFieldType | RangeFieldType |
field type of the operator's range More... | |
Public Member Functions | |
LocalPass (PreviousPassImp &pass, const DiscreteFunctionSpaceType &spc, std::string passName="LocalPass") | |
constructor More... | |
virtual | ~LocalPass () |
destructor More... | |
virtual void | allocateLocalMemory () |
build up local memory More... | |
const DiscreteFunctionSpaceType & | space () 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... | |
virtual size_t | numberOfElements () const |
return number of elements visited during operator computation 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 | printTexInfo (std::ostream &out) const |
printTex info of operator More... | |
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 DestinationType & | destination () 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 double | timeStepEstimateImpl () const |
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 | |
virtual void | prepare (const ArgumentType &arg, DestinationType &dest) const =0 |
virtual void | finalize (const ArgumentType &arg, DestinationType &dest) const =0 |
virtual void | applyLocal (const EntityType &en) const =0 |
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 | |
const DiscreteFunctionSpaceType & | spc_ |
const std::string | passName_ |
double | computeTime_ |
size_t | numberOfElements_ |
bool | passIsActive_ |
DestinationType * | destination_ |
destination (might be set from outside) More... | |
DeleteHandlerType * | deleteHandler_ |
object to delete destination_ More... | |
PreviousPassType & | previousPass_ |
double | time_ |
bool | finalizeCommunication_ |
Specialisation of Pass which provides a grid walk-through, but leaves open what needs to be done on each elements.
DiscreteModelImp | discrete model |
PreviousPassImp | previous pass |
passIdImp | id for this pass |
typedef BaseType::TotalArgumentType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::ArgumentType |
The type of the argument (and destination) type of the overall operator.
typedef Pass< DiscreteModelImp , PreviousPassImp , passIdImp > Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::BaseType |
base class
|
inherited |
type of mem handler, which deletes destination
typedef DiscreteModelImp::Traits::DestinationType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::DestinationType |
the discrete function representing the return value of this pass
typedef DiscreteModelImp::Traits::DiscreteFunctionSpaceType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::DiscreteFunctionSpaceType |
the discrete function space belonging to destinationtype
|
inherited |
field type of the operator's domain
|
inherited |
type of discrete function in the operator's domain
typedef EntityType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::Entity |
typedef DiscreteFunctionSpaceType::EntityType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::EntityType |
the codim 0 entity
|
inherited |
Type of the discrete function which is passed to the overall operator by the user
typedef DiscreteFunctionSpaceType::IteratorType Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::IteratorType |
iterator over the space
|
inherited |
Tuple containing destination types of all preceding passes.
|
inherited |
Tuple containing destination types of all passes up to this one.
|
inherited |
|
inherited |
pass ids up to here (tuple of integral constants)
typedef PreviousPassImp Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::PreviousPassType |
type of the preceding pass
|
inherited |
field type of the operator's range
|
inherited |
type of discrete function in the operator's range
|
inherited |
Tuple containing destination types of all preceding passes plus the global argument. This serves as the argument for this pass' computations
|
inline |
constructor
pass | Previous pass |
spc | Space belonging to the discrete function of this pass. |
passName | an identifier for this pass |
|
inlinevirtual |
destructor
|
inline |
return true if pass is active
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::compute().
|
inlinevirtual |
build up local memory
Implements Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >.
|
protectedpure virtual |
Actions to be taken on every element. To be overridden in a derived class.
Implemented in Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >, and Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >.
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::compute(), and Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::disable().
|
inlinevirtual |
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 >.
|
inlinevirtual |
return accumulated time needed by pass's operator () this method also resets the compute time to zero
|
inlineinherited |
return reference to internal discrete function
|
inline |
set pass status to inactive
|
inline |
set pass status to active
|
protectedpure virtual |
Actions to be carried out after a global grid walkthrough. To be overridden in a derived class.
Implemented in Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >.
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::compute(), and Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::disable().
|
inlineprotectedvirtualinherited |
finalizeCommunication of this pass, this will collect the communication of destination_ and has to be overloaded in the implementation
|
inlineinherited |
finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass
|
inlineprotectedinherited |
finalizeCommunication collects possbily initiated non-blocking communications for all passes
|
inlineprotectedvirtualinherited |
initializeCommunication of this pass, this will initialize the communication of destination_ and has to be overloaded in the implementation
|
inlineinherited |
Returns a compilation of the results of the preceding passes.
|
inlinevirtual |
return number of elements visited during operator computation
Reimplemented in Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >, and Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >.
|
pure virtualinherited |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
|
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.
|
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.
|
inlineinherited |
|
protectedpure virtual |
Actions to be carried out before a global grid walkthrough. To be overridden in a derived class.
Implemented in Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >.
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::compute(), and Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::disable().
|
inlineinherited |
printTex info of operator
Referenced by Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::printTexInfo().
|
inlineprotectedvirtualinherited |
receiveCommunication of this pass, which will reset changes the communication did to the destination_ and has to be overloaded in the implementation
|
inlineinherited |
finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass
|
inlineprotectedinherited |
receiveCommunication collects possbily initiated non-blocking communications for all passes
|
inlinevirtualinherited |
requireCommunication returns true if the pass needs communication at all
Reimplemented in Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >.
|
inlineinherited |
Set time provider (which gives you access to the global time).
|
inline |
return reference to space
|
inlineinherited |
return current time of calculation
Referenced by Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::prepare().
|
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.
|
inlinevirtualinherited |
derived passes have to implement this method returning the time step estimate
Reimplemented in Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp, passIdImp >, and Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >.
|
mutableprotected |
|
protectedinherited |
object to delete destination_
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::allocateLocalMemory().
|
protectedinherited |
destination (might be set from outside)
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::allocateLocalMemory().
|
mutableprotectedinherited |
|
mutableprotected |
|
staticinherited |
|
mutableprotected |
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::active(), Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::disable(), and Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::enable().
|
protected |
|
staticinherited |
position in pass tree
|
protectedinherited |
|
protected |
Referenced by Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::allocateLocalMemory(), Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::compute(), and Dune::Fem::LocalPass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, id >::space().
|
protectedinherited |