implementations.convergence_controller_classes.hotrod module¶
- class HotRod(controller, params, description, **kwargs)[source]¶
Bases:
ConvergenceController
Class that incorporates the Hot Rod detector [1] for soft faults. Based on comparing two estimates of the local error.
Default control order is -40.
See for the reference: [1]: Lightweight and Accurate Silent Data Corruption Detection in Ordinary Differential Equation Solvers, Guhur et al. 2016, Springer. DOI: https://doi.org/10.1007/978-3-319-43659-3_47
- check_parameters(controller, params, description, **kwargs)[source]¶
Check whether parameters are compatible with whatever assumptions went into the step size functions etc.
- Parameters:
controller (pySDC.Controller) – The controller
params (dict) – The params passed for this specific convergence controller
description (dict) – The description object used to instantiate the controller
- Returns:
Whether the parameters are compatible str: Error message
- Return type:
bool
- dependencies(controller, description, **kwargs)[source]¶
Load the dependencies of Hot Rod, which are the two error estimators
- Parameters:
controller (pySDC.Controller) – The controller
description (dict) – The description object used to instantiate the controller
- Returns:
None
- determine_restart(controller, S, MS, **kwargs)[source]¶
Check if the difference between the error estimates exceeds the allowed tolerance
- Parameters:
controller (pySDC.Controller) – The controller
S (pySDC.Step) – The current step
MS (list) – List of steps
- Returns:
None
- post_iteration_processing(controller, S, **kwargs)[source]¶
Throw away the final sweep to match the error estimates.
- Parameters:
controller (pySDC.Controller) – The controller
S (pySDC.Step) – The current step
- Returns:
None
- setup(controller, params, description, **kwargs)[source]¶
Setup default values for crucial parameters.
- Parameters:
controller (pySDC.Controller) – The controller
params (dict) – The params passed for this specific convergence controller
description (dict) – The description object used to instantiate the controller
- Returns:
The updated params
- Return type:
dict