D2xdt2Max

class cubie.outputhandling.summarymetrics.d2xdt2_max.D2xdt2Max(precision)[source]

Bases: SummaryMetric

Summary metric that tracks maximum second derivative values.

Notes

Uses three buffer slots: buffer[0] for previous value, buffer[1] for previous-previous value, and buffer[2] for maximum unscaled second derivative. The derivative is computed using central differences and scaled by sample_summaries_every² in the save function.

__init__(precision) None[source]

Initialise the D2xdt2Max summary metric.

build() MetricFuncCache[source]

Generate CUDA device functions for maximum second derivative.

Returns:

Cache containing the device update and save callbacks.

Return type:

MetricFuncCache

Notes

The update callback computes central finite differences and tracks the maximum unscaled second derivative. The save callback scales by sample_summaries_every² and resets the buffers.