MaMiCo 1.2
|
#include <ParallelTimeIntegrationService.h>
Classes | |
struct | PintDomain |
Public Types | |
using | State = coupling::interface::PintableMacroSolverState |
using | Solver = coupling::interface::PintableMacroSolver |
Public Member Functions | |
ParallelTimeIntegrationService (coupling::configurations::MaMiCoConfiguration< dim > mamicoConfig, Scenario *scenario) | |
void | run (int num_cycles) |
int | getPintDomain () const |
int | getRank () const |
bool | isPintEnabled () const |
int | getInteration () const |
MPI_Comm | getPintComm () const |
Private Member Functions | |
void | run_cycles (int start, int end) |
bool | isFirst () const |
bool | isLast () const |
PintDomain | setup_domain (int num_cycles) const |
void | setup_solvers (PintDomain domain) |
void | receive (std::unique_ptr< State > &state) const |
void | send (std::unique_ptr< State > &state) const |
void | get_past_state (std::unique_ptr< State > &state) const |
void | init_parareal () |
void | run_parareal (int iterations) |
Private Attributes | |
int | _pint_domain |
int | _rank |
int | _ranks_per_domain |
int | _world_rank |
MPI_Comm | _local_pint_comm |
coupling::configurations::TimeIntegrationConfiguration | _cfg |
Scenario * | _scenario |
std::unique_ptr< Solver > | _supervisor |
std::function< std::unique_ptr< State >(const std::unique_ptr< State > &)> | _F |
std::function< std::unique_ptr< State >(const std::unique_ptr< State > &)> | _G |
std::unique_ptr< State > | _u_0 |
std::unique_ptr< State > | _u_last_past |
std::unique_ptr< State > | _u_last_future |
std::unique_ptr< State > | _u_next_past |
std::unique_ptr< State > | _u_next_future |
int | _iteration {0} |
Service to manage timeloop of a coupled simulation scenario. Supports sequential or parallel-in-time integration using a Parareal variant, as described in "Blumers, A. L., Li, Z., & Karniadakis, G. E. (2019). Supervised parallel-in-time algorithm for long-time Lagrangian simulations of stochastic dynamics: Application to hydrodynamics. Journal of Computational Physics, 393, 214-228".