#include <interfaces.hpp>
Public Member Functions | |
ISweeper () | |
virtual | ~ISweeper () |
virtual void | set_controller (Controller< time > *ctrl) |
Set the sweepers controller. More... | |
virtual Controller< time > * | get_controller () |
Accessor to the controller managing this sweeper. More... | |
virtual void | set_options () |
Set options from command line etc. More... | |
virtual void | setup (bool coarse=false) |
Setup (allocate etc) the sweeper. More... | |
virtual void | predict (bool initial)=0 |
Perform a predictor sweep. More... | |
virtual void | sweep ()=0 |
Perform one SDC sweep/iteration. More... | |
virtual void | advance ()=0 |
Advance from one time step to the next. More... | |
virtual bool | converged () |
Return convergence status. More... | |
virtual void | save (bool initial_only=false) |
Save states (and/or function values) at all nodes. More... | |
virtual void | spread () |
Initialize solution values at all time nodes with meaningful values. More... | |
virtual void | post_sweep () |
Hook automatically run after each completed sweep. More... | |
virtual void | post_predict () |
Hook automatically run after each completed predict. More... | |
virtual void | post_step () |
Hook automatically run after each completed time step. More... | |
virtual void | post (ICommunicator *comm, int tag) |
virtual void | send (ICommunicator *comm, int tag, bool blocking) |
virtual void | recv (ICommunicator *comm, int tag, bool blocking) |
virtual void | broadcast (ICommunicator *comm) |
Protected Attributes | |
Controller< time > * | controller |
Backreference to the controller managing the sweeper instance. More... | |
Abstract SDC sweeper.
time | time precision; defaults to pfasst::time_precision |
Definition at line 164 of file interfaces.hpp.
pfasst::ISweeper< time >::ISweeper | ( | ) |
Definition at line 91 of file interfaces_impl.hpp.
|
virtual |
Definition at line 96 of file interfaces_impl.hpp.
|
pure virtual |
Advance from one time step to the next.
Essentially this means copying the solution and function values from the last node to the first node.
Implemented in pfasst::examples::boris::BorisSweeper< scalar, time >, pfasst::encap::EncapSweeper< time >, pfasst::encap::IMEXSweeper< time >, and pfasst::encap::ImplicitSweeper< time >.
|
virtual |
NotImplementedYet | This function is required by PFASST |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, and pfasst::encap::EncapSweeper< time >.
Definition at line 205 of file interfaces_impl.hpp.
References UNUSED.
|
virtual |
Return convergence status.
This is used by controllers to shortcircuit iterations.
false
. Reimplemented in pfasst::encap::EncapSweeper< time >.
Definition at line 139 of file interfaces_impl.hpp.
|
virtual |
Accessor to the controller managing this sweeper.
Definition at line 114 of file interfaces_impl.hpp.
|
virtual |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, and pfasst::encap::EncapSweeper< time >.
Definition at line 176 of file interfaces_impl.hpp.
References UNUSED.
|
virtual |
Hook automatically run after each completed predict.
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, pfasst::examples::advection_diffusion::AdvectionDiffusionSweeper< time >, pfasst::examples::vdp::VdpSweeper< time >, and pfasst::examples::scalar::ScalarSweeper< time >.
Definition at line 168 of file interfaces_impl.hpp.
|
virtual |
Hook automatically run after each completed time step.
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >.
Definition at line 172 of file interfaces_impl.hpp.
|
virtual |
Hook automatically run after each completed sweep.
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, pfasst::examples::advection_diffusion::AdvectionDiffusionSweeper< time >, pfasst::examples::vdp::VdpSweeper< time >, and pfasst::examples::scalar::ScalarSweeper< time >.
Definition at line 164 of file interfaces_impl.hpp.
|
pure virtual |
Perform a predictor sweep.
Compute a provisional solution from the initial condition. This is typically very similar to a regular SDC sweep, except that integral terms based on previous iterations don't exist yet.
[in] | initial | true if function values at the first node need to be computed. false if functions values at the first node already exist (usually this is the case when advancing from one time step to the next). |
Implemented in pfasst::examples::boris::BorisSweeper< scalar, time >, pfasst::encap::IMEXSweeper< time >, and pfasst::encap::ImplicitSweeper< time >.
|
virtual |
NotImplementedYet | This function is required by PFASST |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, and pfasst::encap::EncapSweeper< time >.
Definition at line 195 of file interfaces_impl.hpp.
References UNUSED.
|
virtual |
Save states (and/or function values) at all nodes.
This is typically done in MLSDC/PFASST immediately after a call to restrict. The saved states are used to compute deltas during interpolation.
[in] | initial_only | flag indicating whether only the initial state should be saved |
NotImplementedYet | This function is required by MLSDC and PFASST |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, and pfasst::encap::EncapSweeper< time >.
Definition at line 148 of file interfaces_impl.hpp.
References UNUSED.
|
virtual |
NotImplementedYet | This function is required by PFASST |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, and pfasst::encap::EncapSweeper< time >.
Definition at line 185 of file interfaces_impl.hpp.
References UNUSED.
|
virtual |
Set the sweepers controller.
[in] | ctrl | new controller to manage this sweeper |
Definition at line 103 of file interfaces_impl.hpp.
|
virtual |
Set options from command line etc.
Reimplemented in pfasst::encap::EncapSweeper< time >.
Definition at line 126 of file interfaces_impl.hpp.
|
virtual |
Setup (allocate etc) the sweeper.
[in] | coarse | true if this sweeper exists on a coarsened MLSDC or PFASST level. This implies that space for an FAS correction and "saved" solutions are necessary. |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, pfasst::encap::EncapSweeper< time >, pfasst::encap::IMEXSweeper< time >, and pfasst::encap::ImplicitSweeper< time >.
Definition at line 130 of file interfaces_impl.hpp.
References UNUSED.
|
virtual |
Initialize solution values at all time nodes with meaningful values.
NotImplementedYet | This function is required by PFASST |
Reimplemented in pfasst::examples::boris::BorisSweeper< scalar, time >, and pfasst::encap::EncapSweeper< time >.
Definition at line 158 of file interfaces_impl.hpp.
|
pure virtual |
Perform one SDC sweep/iteration.
Compute a correction and update solution values. Note that this function can assume that valid function values exist from a previous pfasst::ISweeper::sweep() or pfasst::ISweeper::predict().
Implemented in pfasst::examples::boris::BorisSweeper< scalar, time >, pfasst::encap::IMEXSweeper< time >, and pfasst::encap::ImplicitSweeper< time >.
|
protected |
Backreference to the controller managing the sweeper instance.
Definition at line 170 of file interfaces.hpp.