dune-fem
2.4.1-rc
|
Base class for specific pass implementations. InsertFunctionPass simply inserts a discrete function from outside of the pass tree into the current pass tree, for example when calculating the species transport the velocity function comes from a different pass but has to be inserted into the species pass. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/pass/insertfunction.hh>
Classes | |
struct | LocalFunctionInitializer |
struct | LocalFunctionInitializer< LocalFunctionAdapter< LFType > > |
Public Types | |
typedef InsertFunctionPassDiscreteModel< DiscreteFunction > | DiscreteModelType |
type of discrete model for this class More... | |
typedef DiscreteModelType::Traits | Traits |
type of traits for this class More... | |
typedef PreviousPass | PreviousPassType |
Repetition of template arguments. More... | |
typedef BaseType::TotalArgumentType | ArgumentType |
typedef BaseType::GlobalArgumentType | GlobalArgumentType |
typedef Traits::DestinationType | DestinationType |
discrete function representing the return value of this pass More... | |
typedef Traits::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
discrete function space belonging to DestinationType More... | |
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::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 PreviousPass::GlobalArgumentType | DomainFunctionType |
type of discrete function in the operator's domain More... | |
typedef InsertFunctionPassDiscreteModel< DiscreteFunction >::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 InsertFunctionPassDiscreteModel< DiscreteFunction >::Traits::DestinationType::RangeFieldType | RangeFieldType |
field type of the operator's range More... | |
Public Member Functions | |
InsertFunctionPass (const DestinationType &destination, PreviousPassType &previousPass) | |
InsertFunctionPass (const DestinationType &destination, PreviousPassType &previousPass, const DiscreteFunctionSpaceType &space) | |
InsertFunctionPass (PreviousPassType &previousPass) | |
InsertFunctionPass (const DestinationType *destination, const std::shared_ptr< PreviousPassType > &previousPass) | |
~InsertFunctionPass () | |
destructor More... | |
void | allocateLocalMemory () |
const DiscreteFunctionSpaceType & | space () const |
return reference to space More... | |
void | setDestination (const DestinationType &destination) |
set internal destination pointer to dest More... | |
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 |
position in pass tree More... | |
static const int | passId |
Protected Member Functions | |
void | compute (const ArgumentType &arg, DestinationType &dest) 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 | |
std::shared_ptr< PreviousPassType > | prevPassPtr_ |
DestinationType * | destination_ |
destination (might be set from outside) More... | |
DeleteHandlerType * | deleteHandler_ |
object to delete destination_ More... | |
PreviousPassType & | previousPass_ |
double | time_ |
bool | finalizeCommunication_ |
Base class for specific pass implementations. InsertFunctionPass simply inserts a discrete function from outside of the pass tree into the current pass tree, for example when calculating the species transport the velocity function comes from a different pass but has to be inserted into the species pass.
typedef BaseType::TotalArgumentType Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::ArgumentType |
|
inherited |
type of mem handler, which deletes destination
typedef Traits::DestinationType Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::DestinationType |
discrete function representing the return value of this pass
typedef Traits::DiscreteFunctionSpaceType Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::DiscreteFunctionSpaceType |
discrete function space belonging to DestinationType
typedef InsertFunctionPassDiscreteModel< DiscreteFunction > Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::DiscreteModelType |
type of discrete model for this class
|
inherited |
field type of the operator's domain
|
inherited |
type of discrete function in the operator's domain
typedef BaseType::GlobalArgumentType Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::GlobalArgumentType |
|
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 PreviousPass Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::PreviousPassType |
Repetition of template arguments.
|
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
typedef DiscreteModelType::Traits Dune::Fem::InsertFunctionPass< DiscreteFunction, PreviousPass, passId >::Traits |
type of traits for this class
|
inline |
constructor
[in] | destination | to be stored in this pass |
[in] | previousPass | previous pass in the tree |
|
inline |
constructor
[in] | destination | to be stored in this pass |
[in] | previousPass | previous pass in the tree |
[in] | space | discrete function space |
|
inlineexplicit |
constructor
[in] | previousPass | previous pass in the tree |
|
inline |
default constructor
|
inline |
destructor
|
inlinevirtual |
Allocates the local memory of a pass, if needed. If memory is allocated, then deleteHandler must be set for removal of memory to avoid leaks
Implements Dune::Fem::Pass< InsertFunctionPassDiscreteModel< DiscreteFunction >, PreviousPass, passId >.
|
inlineprotectedvirtual |
Does the actual computations. Needs to be overridden in the derived clases
Implements Dune::Fem::Pass< InsertFunctionPassDiscreteModel< DiscreteFunction >, PreviousPass, passId >.
|
inlineinherited |
return reference to internal discrete function
|
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.
|
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 |
|
inlineinherited |
printTex info of operator
|
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
|
inline |
set internal destination pointer to dest
|
inlineinherited |
Set time provider (which gives you access to the global time).
|
inline |
return reference to space
|
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.
|
inlinevirtualinherited |
derived passes have to implement this method returning the time step estimate
|
protectedinherited |
object to delete destination_
|
protectedinherited |
destination (might be set from outside)
|
mutableprotectedinherited |
|
staticinherited |
|
staticinherited |
position in pass tree
|
protectedinherited |
|
protected |
|
protectedinherited |