5 #ifndef _PFASST_ENCAP_ENCAP_SWEEPER_HPP_
6 #define _PFASST_ENCAP_ENCAP_SWEEPER_HPP_
29 template<
typename time = time_precision>
63 vector<shared_ptr<Encapsulation<time>>>
state;
113 virtual shared_ptr<Encapsulation<time>> get_state(
size_t m)
const;
120 virtual shared_ptr<Encapsulation<time>> get_tau(
size_t m)
const;
127 virtual shared_ptr<Encapsulation<time>> get_saved_state(
size_t m)
const;
134 virtual void set_options()
override;
139 virtual void setup(
bool coarse)
override;
146 virtual void spread()
override;
151 virtual void save(
bool initial_only)
override;
156 virtual shared_ptr<const IQuadrature<time>> get_quadrature()
const;
158 virtual const vector<time> get_nodes()
const;
161 virtual shared_ptr<EncapFactory<time>> get_factory()
const;
163 virtual shared_ptr<Encapsulation<time>> get_start_state()
const;
164 virtual shared_ptr<Encapsulation<time>> get_end_state();
171 virtual void advance()
override;
179 virtual void reevaluate(
bool initial_only =
false);
199 void set_residual_tolerances(time abs_residual_tol, time rel_residual_tol,
int order = 0);
212 virtual bool converged()
override;
224 virtual void send(
ICommunicator* comm,
int tag,
bool blocking)
override;
229 virtual void recv(
ICommunicator* comm,
int tag,
bool blocking)
override;
239 template<
typename time>
242 template<
typename time>
const EncapSweeper< time > & as_encap_sweeper(shared_ptr< const ISweeper< time >> x)
Host based encapsulated base sweeper.
Interface for quadrature handlers.
void setup(shared_ptr< WrapperInterface< scalar, time >> wrapper)
shared_ptr< EncapFactory< time > > factory
Encapsulation data structure factory.
shared_ptr< IQuadrature< time > > quadrature
shared_ptr< Encapsulation< time > > start_state
Separate start state, i.e. initial condition for the sweeper's current time step. ...
shared_ptr< Encapsulation< time > > end_state
Current solution at \( T_{end} \).
time abs_residual_tol
Tolerance for absolute residual.
Functionality related to computing quadrature nodes and weights.
time rel_residual_tol
Tolerance for relative residual.
vector< shared_ptr< Encapsulation< time > > > state
Solution values \( U \) at all time nodes of the current iteration.
Abstract interface of factory for creating Encapsulation objects.
vector< shared_ptr< Encapsulation< time > > > saved_state
Solution values \( U \) at all time nodes of the previous iteration.
vector< shared_ptr< Encapsulation< time > > > residuals
Place for the residuals at the different time nodes.
interfaces for SDC/MLSDC/PFASST algorithms.
Data/solution encapsulation.
Abstract interface for communicators.
vector< shared_ptr< Encapsulation< time > > > fas_corrections
FAS corrections \( \tau \) at all time nodes of the current iteration.