inciter::Transporter class

Transporter drives the time integration of transport equations.

Contents

Public functions

auto Transporter() -> Transporter_SDAG_CODE explicit
Constructor.
void load(uint64_t nelem, uint64_t npoin)
Reduction target: the mesh has been read from file on all PEs.
void nchare()
Reduction target: all Solver (PEs) have computed the number of chares they will recieve contributions from during linear solution.
void bounds()
Reduction target: all Solver (PEs) have computed their row bounds.
void distributed()
Reduction target: all PEs have distrbuted their mesh after partitioning.
void refinserted()
Reduction target: all PEs have created the mesh refiners.
void discinserted()
Reduction target: all Discretization chares have been inserted.
void disccreated()
Reduction target: all Discretization constructors have been called.
void workinserted()
Reduction target: all worker (derived discretization) chares have been inserted.
void matched(std::size_t extra)
Reduction target: all mesh refiner chares have distributed their newly added node IDs that are shared among chares.
void refined(std::size_t nelem, std::size_t npoin)
Reduction target: all PEs have optionally refined their mesh.
void discresized()
Reduction target: all Discretization chares have resized their own data after mesh refinement.
void workresized()
Reduction target: all worker chares have resized their own data after mesh refinement.
void pepartitioned()
Non-reduction target for receiving progress report on partitioning mesh.
void pedistributed()
Non-reduction target for receiving progress report on distributing mesh.
void chbnd()
Non-reduction target for receiving progress report on finding bnd nodes.
void chcomm()
Non-reduction target for receiving progress report on node ID comm map.
void chmask()
Non-reduction target for receiving progress report on node ID mask.
void chreordered()
Non-reduction target for receiving progress report on reordering mesh.
void chbounds()
Non-reduction target for receiving progress report on computing bounds.
void chcreated()
Non-reduction target for receiving progress report on creating workers.
void chbndface()
Non-reduction target for receiving progress report on finding bnd faces.
void chcomfac()
Non-reduction target for receiving progress report on face communication.
void chghost()
Non-reduction target for receiving progress report on sending ghost data.
void chadj()
Non-reduction target for receiving progress report on face adjacency.
void comfinal()
Reduction target indicating that the communication maps have been setup.
void totalvol(tk::real v, tk::real initial)
Reduction target summing total mesh volume.
void vol()
Reduction target indicating that all workers have finished computing/receiving their part of the nodal volumes.
void minstat(tk::real d0, tk::real d1, tk::real d2)
Reduction target yielding the minimum mesh statistics across all workers.
void maxstat(tk::real d0, tk::real d1, tk::real d2)
Reduction target yielding the maximum mesh statistics across all workers.
void sumstat(tk::real d0, tk::real d1, tk::real d2, tk::real d3, tk::real d4, tk::real d5)
Reduction target yielding the sum of mesh statistics across all workers.
void pdfstat(CkReductionMsg* msg)
Reduction target yielding PDF of mesh statistics across all workers.
void diagnostics(CkReductionMsg* msg)
Reduction target optionally collecting diagnostics, e.g., residuals, from all worker chares.
void start()
Start time stepping.
void next()
Reset linear solver for next time step.
void advance(tk::real dt)
Reduction target computing minimum of dt.
void finish()
Normal finish of time stepping.

Function documentation

void inciter::Transporter::load(uint64_t nelem, uint64_t npoin)

Reduction target: the mesh has been read from file on all PEs.

Parameters
nelem in Total number of mesh elements (summed across all PEs)
npoin in Total number of mesh points (summed across all PEs)

void inciter::Transporter::matched(std::size_t extra)

Reduction target: all mesh refiner chares have distributed their newly added node IDs that are shared among chares.

Parameters
extra in Max number of edges/chare collected across all chares that correction due to refinement along chare boundaries

void inciter::Transporter::refined(std::size_t nelem, std::size_t npoin)

Reduction target: all PEs have optionally refined their mesh.

Parameters
nelem in Total number of elements in mesh across the whole problem
npoin in Total number of points in mesh across the whole problem

void inciter::Transporter::totalvol(tk::real v, tk::real initial)

Reduction target summing total mesh volume.

Parameters
in Mesh volume summed across the whole problem
initial in Sum of contributions from all chares. If larger than zero, we are during time stepping and if zero we are during setup.

void inciter::Transporter::minstat(tk::real d0, tk::real d1, tk::real d2)

Reduction target yielding the minimum mesh statistics across all workers.

Parameters
d0 in Minimum mesh statistics collected over all chares
d1 in Minimum mesh statistics collected over all chares
d2 in Minimum mesh statistics collected over all chares

void inciter::Transporter::maxstat(tk::real d0, tk::real d1, tk::real d2)

Reduction target yielding the maximum mesh statistics across all workers.

Parameters
d0 in Maximum mesh statistics collected over all chares
d1 in Maximum mesh statistics collected over all chares
d2 in Maximum mesh statistics collected over all chares

void inciter::Transporter::sumstat(tk::real d0, tk::real d1, tk::real d2, tk::real d3, tk::real d4, tk::real d5)

Reduction target yielding the sum of mesh statistics across all workers.

Parameters
d0 in Sum mesh statistics collected over all chares
d1 in Sum mesh statistics collected over all chares
d2 in Sum mesh statistics collected over all chares
d3 in Sum mesh statistics collected over all chares
d4 in Sum mesh statistics collected over all chares
d5 in Sum mesh statistics collected over all chares

void inciter::Transporter::pdfstat(CkReductionMsg* msg)

Reduction target yielding PDF of mesh statistics across all workers.

Parameters
msg in Serialized PDF

void inciter::Transporter::diagnostics(CkReductionMsg* msg)

Reduction target optionally collecting diagnostics, e.g., residuals, from all worker chares.

Parameters
msg in Serialized diagnostics vector aggregated across all PEs

void inciter::Transporter::start()

Start time stepping.

void inciter::Transporter::next()

Reset linear solver for next time step.