NodeDiagnostics class used to compute diagnostics while integrating PDEs.
- static void registerReducers()
- Configure Charm++ custom reduction types initiated from this class.
static void inciter::
Configure Charm++ custom reduction types initiated from this class.
This routine is supposed to be called from a Charm++ initnode routine. Since the runtime system executes initnode routines exactly once on every logical node early on in the Charm++ init sequence, they must be static as they are called without an object. See also: Section "Initializations at Program Startup" at in the Charm++ manual http:/
NodeDiagnostics:: compute(Discretization& d,
const tk::Fields& u,
const tk::Fields& un) const
Compute diagnostics, e.g., residuals, norms of errors, etc.
|d in||Discretization proxy to read from|
|u in||Current solution vector|
|un in||Previous solution vector|
|Returns||True if diagnostics have been computed|
Diagnostics are defined as some norm, e.g., L2 norm, of a quantity, computed in mesh nodes, A, as ||A||_2 = sqrt[ sum_i(A_i)^2 V_i ], where the sum is taken over all mesh nodes and V_i is the nodal volume. We send multiple sets of quantities to the host for aggregation across the whole mesh. The final aggregated solution will end up in Transporter::