D2xdt2Extrema

class cubie.outputhandling.summarymetrics.d2xdt2_extrema.D2xdt2Extrema(precision)[source]

Bases: SummaryMetric

Summary metric that tracks maximum and minimum second derivative values.

Notes

Uses four buffer slots: buffer[0] for previous value, buffer[1] for previous-previous value, buffer[2] for maximum unscaled second derivative, and buffer[3] for minimum unscaled second derivative. Outputs two values: maximum second derivative followed by minimum second derivative.

__init__(precision) None[source]

Initialise the D2xdt2Extrema summary metric.

build() MetricFuncCache[source]

Generate CUDA device functions for second derivative extrema.

Returns:

Cache containing the device update and save callbacks.

Return type:

MetricFuncCache

Notes

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