dune-fem
2.4.1-rc
|
Pass applying the local inverse mass matrix on each element. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/pass/dginversemass.hh>
Public Types | |
typedef DGInverseMassPassDiscreteModel< functionalId, PreviousPass > | DiscreteModelType |
type of the discrete model used More... | |
typedef BaseType::PassIds | PassIds |
pass ids up to here (tuple of integral constants) More... | |
typedef BaseType::TotalArgumentType | TotalArgumentType |
argument type More... | |
typedef BaseType::DestinationType | DestinationType |
destination type More... | |
typedef DiscreteModelType::Traits::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
discrete function space type More... | |
typedef PreviousPass | PreviousPassType |
type of the preceding pass More... | |
typedef BaseType::TotalArgumentType | ArgumentType |
The type of the argument (and destination) type of the overall operator. More... | |
typedef DiscreteFunctionSpaceType::IteratorType | IteratorType |
iterator over the space More... | |
typedef EntityType | Entity |
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 PushBackTuple< LocalArgumentType, DestinationType * >::type | NextArgumentType |
Tuple containing destination types of all passes up to this one. More... | |
typedef PreviousPass::GlobalArgumentType | DomainFunctionType |
type of discrete function in the operator's domain More... | |
typedef DGInverseMassPassDiscreteModel< functionalId, PreviousPass >::Traits::DestinationType | RangeFunctionType |
type of discrete function in the operator's range More... | |
typedef PreviousPass::GlobalArgumentType::RangeFieldType | DomainFieldType |
field type of the operator's domain More... | |
typedef DGInverseMassPassDiscreteModel< functionalId, PreviousPass >::Traits::DestinationType::RangeFieldType | RangeFieldType |
field type of the operator's range More... | |
Public Member Functions | |
DGInverseMassPass (PreviousPass &previousPass, const DiscreteFunctionSpaceType &space) | |
DGInverseMassPass (const DiscreteModelType &discreteModel, PreviousPass &previousPass, const DiscreteFunctionSpaceType &space, const int volQuadOrd=-1, const int faceQuadOrd=-1) | |
constructor for use with thread pass More... | |
void | printTexInfo (std::ostream &out) const |
bool | requireCommunication () const |
this pass needs no communication More... | |
void | prepare (const TotalArgumentType &argument, DestinationType &destination) const |
interface method More... | |
void | prepare (const TotalArgumentType &argument, DestinationType &destination, const bool) const |
prepare for ThreadPass More... | |
void | finalize (const TotalArgumentType &argument, DestinationType &destination, const bool) const |
finalize for ThreadPass More... | |
void | finalize (const TotalArgumentType &argument, DestinationType &destination) const |
interface method More... | |
void | applyLocal (const EntityType &entity) const |
apply inverse mass matrix locally More... | |
template<class NBChecker > | |
void | applyLocal (const EntityType &entity, const NBChecker &) const |
apply local with neighbor checker (not needed here) More... | |
template<class NBChecker > | |
void | applyLocalInterior (const EntityType &entity, const NBChecker &) const |
apply local for all elements that do not need information from other processes (here all elements) More... | |
template<class NBChecker > | |
void | applyLocalProcessBoundary (const EntityType &entity, const NBChecker &) const |
apply local for all elements that need information from other processes (here no elements) 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 | 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 |
Static Public Attributes | |
static const int | passNum |
position in pass tree More... | |
static const int | passId |
Protected Member Functions | |
void | compute (const TotalArgumentType &argument, DestinationType &destination) const |
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_ |
Pass applying the local inverse mass matrix on each element.
functionalId | pass id of functional to convert |
PreviousPass | type of previous pass |
id | pass id |
|
inherited |
The type of the argument (and destination) type of the overall operator.
|
inherited |
type of mem handler, which deletes destination
typedef BaseType::DestinationType Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >::DestinationType |
destination type
typedef DiscreteModelType::Traits::DiscreteFunctionSpaceType Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >::DiscreteFunctionSpaceType |
discrete function space type
typedef DGInverseMassPassDiscreteModel< functionalId, PreviousPass > Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >::DiscreteModelType |
type of the discrete model used
|
inherited |
field type of the operator's domain
|
inherited |
type of discrete function in the operator's domain
|
inherited |
|
inherited |
Type of the discrete function which is passed to the overall operator by the user
|
inherited |
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 |
typedef BaseType::PassIds Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >::PassIds |
pass ids up to here (tuple of integral constants)
|
inherited |
type of the preceding pass
|
inherited |
field type of the operator's range
|
inherited |
type of discrete function in the operator's range
typedef BaseType::TotalArgumentType Dune::Fem::DGInverseMassPass< functionalId, PreviousPass, id >::TotalArgumentType |
argument type
|
inlineexplicit |
|
inlineexplicit |
constructor for use with thread pass
|
inlineinherited |
return true if pass is active
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::passIsActive_.
|
inlinevirtualinherited |
build up local memory
Implements Dune::Fem::Pass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, passIdImp >.
References Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::deleteHandler_, Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::destination_, Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::DeleteHandler< ObjectToDelete >::instance(), Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::passName_, Dune::Fem::Pass< DiscreteModelImp, PreviousPassImp, passIdImp >::passNumber(), and Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::spc_.
|
protectedpure virtualinherited |
Actions to be taken on every element. To be overridden in a derived class.
|
inline |
apply inverse mass matrix locally
|
inline |
apply local with neighbor checker (not needed here)
|
inline |
apply local for all elements that do not need information from other processes (here all elements)
|
inline |
apply local for all elements that need information from other processes (here no elements)
|
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< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, passIdImp >.
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::active(), Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::applyLocal(), Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::computeTime_, Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::finalize(), Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::numberOfElements_, Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::prepare(), and Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::spc_.
|
inlineprotected |
|
inlinevirtualinherited |
return accumulated time needed by pass's operator () this method also resets the compute time to zero
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::computeTime_.
|
inlineinherited |
return reference to internal discrete function
|
inlineinherited |
set pass status to inactive
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::applyLocal(), Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::finalize(), Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::passIsActive_, and Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::prepare().
|
inlineinherited |
set pass status to active
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::passIsActive_.
|
protectedpure virtualinherited |
Actions to be carried out after a global grid walkthrough. To be overridden in a derived class.
|
inline |
finalize for ThreadPass
|
inline |
interface method
|
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
References Dune::Fem::EmptyNonBlockingComm::finalizeComm().
|
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.
References Dune::tuple_push_back().
|
inlinevirtualinherited |
return number of elements visited during operator computation
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::numberOfElements_.
|
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.
References Dune::tuple_push_front().
|
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.
References Dune::Fem::EmptyNonBlockingComm::initComm().
|
inlineinherited |
|
protectedpure virtualinherited |
Actions to be carried out before a global grid walkthrough. To be overridden in a derived class.
|
inline |
interface method
|
inline |
prepare for ThreadPass
|
inline |
|
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
References Dune::Fem::EmptyNonBlockingComm::receiveComm().
|
inlineprotectedinherited |
receiveCommunication collects possbily initiated non-blocking communications for all passes
|
inlinevirtual |
this pass needs no communication
Reimplemented from Dune::Fem::Pass< DGInverseMassPassDiscreteModel< functionalId, PreviousPass >, PreviousPass, passIdImp >.
|
inlineinherited |
Set time provider (which gives you access to the global time).
|
inlineinherited |
return reference to space
References Dune::Fem::LocalPass< DiscreteModelImp, PreviousPassImp, passIdImp >::spc_.
|
inlineinherited |
return current time of calculation
|
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.
References Dune::Std::min().
|
inlinevirtualinherited |
derived passes have to implement this method returning the time step estimate
References Dune::Std::max().
|
mutableprotectedinherited |
|
protectedinherited |
object to delete destination_
|
protectedinherited |
destination (might be set from outside)
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
staticinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
staticinherited |
position in pass tree
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |