inciter::MatCG class

MatCG Charm++ chare array used to advance PDEs in time with MatCG+LW+FCT.

Public static functions

static void registerReducers()
Configure Charm++ custom reduction types initiated from this chare array.

Constructors, destructors, conversion operators

MatCG(CkMigrateMessage*) explicit
Migrate constructor.

Public functions

auto MatCG(const CProxy_Discretization& disc, const tk::CProxy_Solver& solver, const FaceData& fd) -> MatCG_SDAG_CODE explicit
Constructor.
void setup(tk::real v)
Setup: query boundary conditions, output mesh, etc.
void dt()
Compute time step size.
void sendinit()
Send own chare-boundary data to neighboring chares.
void advance(tk::real newdt)
Advance equations to next time step.
void updateSol(const std::vector<std::size_t>& gid, const std::vector<tk::real>& du)
Update high order solution vector.
void updateLowSol(const std::vector<std::size_t>& gid, const std::vector<tk::real>& du)
Update low order solution vector.
void update(const tk::Fields& a)
Update solution at the end of time step.
void diag()
Signal the runtime system that diagnostics have been computed.
void refine()
Optionally refine/derefine mesh.
void lhs()
Compute left-hand side of transport equations.
void resize(const tk::UnsMesh::Chunk& chunk, const tk::UnsMesh::Coords& coord, const tk::Fields& u, const std::unordered_map<int, std::vector<std::size_t>>& msum, const std::map<int, std::vector<std::size_t>>& bnode)
Receive new mesh from refiner.
void solution(tk::Fields& u) const
void resized()
Resizing data sutrctures after mesh refinement has been completed.

Charm++ pack/unpack serializer member functions

void pup(PUP::er& p) override
Pack/Unpack serialize member function.
void operator|(PUP::er& p, MatCG& i)
Pack/Unpack serialize operator|.

Function documentation

void inciter::MatCG::solution(tk::Fields& u) const

Parameters
in/out Reference to update with current solution

Const-ref access to current solution

void inciter::MatCG::pup(PUP::er& p) override

Pack/Unpack serialize member function.

Parameters
in/out Charm++'s PUP::er serializer object reference

void inciter::MatCG::operator|(PUP::er& p, MatCG& i)

Pack/Unpack serialize operator|.

Parameters
in/out Charm++'s PUP::er serializer object reference
in/out MatCG object reference