include a Dune::Fem::Operator into a pass
More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/pass/insertoperator.hh>
template<class Operator, class PreviousPass, int id>
class Dune::Fem::InsertOperatorPass< Operator, PreviousPass, id >
include a Dune::Fem::Operator into a pass
- Note
- This pass stores a reference to the operator passed to the constructor. The operator will always be called on the result of PreviousPass, so the position of this pass in your pass tree is of importance!
- Template Parameters
-
type of mem handler, which deletes destination
template<class Operator , class PreviousPass , int id>
Type of the discrete function which stores the result of this pass' computations.
field type of the operator's domain
type of discrete function in the operator's domain
Type of the discrete function which is passed to the overall operator by the user
Tuple containing destination types of all preceding passes.
Tuple containing destination types of all passes up to this one.
template<class Operator , class PreviousPass , int id>
typedef Dune::PushBackTuple< typename PreviousPassType::PassIds, std::integral_constant< int, passIdImp > >::type Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::PassIds |
|
inherited |
pass ids up to here (tuple of integral constants)
template<class Operator , class PreviousPass , int id>
Type of the preceding pass.
field type of the operator's range
type of discrete function in the operator's range
template<class Operator , class PreviousPass , int id>
Tuple containing destination types of all preceding passes plus the global argument. This serves as the argument for this pass' computations
template<class Operator , class PreviousPass , int id>
constructor
- Parameters
-
[in] | space | range discrete function space |
[in] | op | an operator instance |
[in] | pass | previous pass |
template<class Operator , class PreviousPass , int id>
template<class Operator , class PreviousPass , int id>
template<class Operator , class PreviousPass , int id>
Does the actual computations. Needs to be overridden in the derived clases
|
protectedpure virtualinherited |
Does the actual computations. Needs to be overridden in the derived clases
return reference to internal discrete function
virtual void Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::finalizeComm |
( |
| ) |
const |
|
inlineprotectedvirtualinherited |
finalizeCommunication of this pass, this will collect the communication of destination_ and has to be overloaded in the implementation
finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass
finalizeCommunication collects possbily initiated non-blocking communications for all passes
virtual void Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::initComm |
( |
| ) |
const |
|
inlineprotectedvirtualinherited |
initializeCommunication of this pass, this will initialize the communication of destination_ and has to be overloaded in the implementation
Returns a compilation of the results of the preceding passes.
application operator
- Parameters
-
[in] | u | argument discrete function |
[out] | w | destination discrete function |
- Note
- This method has to be implemented by all derived classes.
Application operator. The application operator is called by the client directly. It makes only sense to call this operator directly on the last pass.
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.
int Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::passNumber |
( |
| ) |
const |
|
inlineinherited |
template<class Operator , class PreviousPass , int id>
printTex info of operator
virtual void Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , 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
finalizeCommunication collects possbily initiated non-blocking communications for all passes including the global argument this method will be called from the next pass
receiveCommunication collects possbily initiated non-blocking communications for all passes
virtual bool Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::requireCommunication |
( |
| ) |
const |
|
inlinevirtualinherited |
requireCommunication returns true if the pass needs communication at all
- Note
- The default implementation returns true
void Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::setTime |
( |
const double |
t | ) |
|
|
inlineinherited |
Set time provider (which gives you access to the global time).
template<class Operator , class PreviousPass , int id>
return discrete function space
double Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::time |
( |
| ) |
const |
|
inlineinherited |
return current time of calculation
double Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , 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.
virtual double Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::timeStepEstimateImpl |
( |
| ) |
const |
|
inlinevirtualinherited |
derived passes have to implement this method returning the time step estimate
object to delete destination_
destination (might be set from outside)
bool Dune::Fem::Pass< __InsertOperatorPass::DiscreteModel< Operator > , PreviousPass , passIdImp >::finalizeCommunication_ |
|
mutableprotectedinherited |
The documentation for this class was generated from the following file: