DxdtExtrema

class cubie.outputhandling.summarymetrics.dxdt_extrema.DxdtExtrema(precision)[source]

Bases: SummaryMetric

Summary metric that tracks both maximum and minimum derivative values.

Notes

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

__init__(precision) None[source]

Initialise the DxdtExtrema summary metric.

build() MetricFuncCache[source]

Generate CUDA device functions for derivative extrema calculation.

Returns:

Cache containing the device update and save callbacks.

Return type:

MetricFuncCache

Notes

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