Abstract time/space transfer (restrict/interpolate) class. More...
#include <interfaces.hpp>
Public Member Functions | |
virtual | ~ITransfer () |
virtual void | interpolate_initial (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src) |
Interpolate initial condition from the coarse sweeper to the fine sweeper. More... | |
virtual void | interpolate (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src, bool interp_initial=false)=0 |
Interpolate, in time and space, from the coarse sweeper to the fine sweeper. More... | |
virtual void | restrict_initial (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src) |
Restrict initial condition from the fine sweeper to the coarse sweeper. More... | |
virtual void | restrict (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src, bool restrict_initial=false)=0 |
Restrict, in time and space, from the fine sweeper to the coarse sweeper. More... | |
virtual void | fas (time dt, shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src)=0 |
Compute FAS correction between the coarse and fine sweepers. More... | |
Abstract time/space transfer (restrict/interpolate) class.
time | time precision; defaults to pfasst::time_precision |
Definition at line 295 of file interfaces.hpp.
|
virtual |
Definition at line 213 of file interfaces_impl.hpp.
|
pure virtual |
Compute FAS correction between the coarse and fine sweepers.
[in] | dt | width of the time step to compute FAS correction for |
[in,out] | dst | sweeper to compute FAS correction for (i.e. coarse level) |
[in] | src | sweeper to compute FAS correction from (i.e. fine level) |
Implemented in pfasst::examples::boris::InjectiveTransfer< scalar, time >, and pfasst::encap::PolyInterpMixin< time >.
|
pure virtual |
Interpolate, in time and space, from the coarse sweeper to the fine sweeper.
[in,out] | dst | sweeper to interpolate onto (i.e. fine level) |
[in] | src | sweeper to interpolate from (i.e. coarse level) |
[in] | interp_initial | true if a delta for the initial condtion should also be computed (PFASST) |
Implemented in pfasst::examples::boris::InjectiveTransfer< scalar, time >, and pfasst::encap::PolyInterpMixin< time >.
|
virtual |
Interpolate initial condition from the coarse sweeper to the fine sweeper.
[in,out] | dst | sweeper to interpolate onto (i.e. fine level) |
[in] | src | sweeper to interpolate from (i.e. coarse level) |
NotImplementedYet | This function is required by PFASST |
Reimplemented in pfasst::examples::boris::InjectiveTransfer< scalar, time >, and pfasst::encap::PolyInterpMixin< time >.
Definition at line 220 of file interfaces_impl.hpp.
References UNUSED.
|
pure virtual |
Restrict, in time and space, from the fine sweeper to the coarse sweeper.
[in,out] | dst | sweeper to restrict onto (i.e. coarse level) |
[in] | src | sweeper to restrict from (i.e. fine level) |
[in] | restrict_initial | true if the initial condition should also be restricted |
Implemented in pfasst::examples::boris::InjectiveTransfer< scalar, time >, and pfasst::encap::PolyInterpMixin< time >.
|
virtual |
Restrict initial condition from the fine sweeper to the coarse sweeper.
[in,out] | dst | sweeper to restrict onto (i.e. coarse level) |
[in] | src | sweeper to restrict from (i.e. fine level) |
NotImplementedYet | This function is required by PFASST |
Reimplemented in pfasst::examples::boris::InjectiveTransfer< scalar, time >, and pfasst::encap::PolyInterpMixin< time >.
Definition at line 231 of file interfaces_impl.hpp.
References UNUSED.