4.4.2. pde.solvers.controller module
Defines a class controlling the simulations of PDEs.
- class Controller(solver, t_range, tracker='auto')
class controlling a simulation
The controller calls a solver to advance the simulation into the future and it takes care of trackers that analyze and modify the state periodically.
SolverBase) – Solver instance that is used to advance the simulation in time
tracker (Sequence[TrackerBase | str] | TrackerBase | str | None) – Defines a tracker that process the state of the simulation at specified times. A tracker is either an instance of
TrackerBaseor a string, which identifies a tracker. All possible identifiers can be obtained by calling
get_named_trackers(). Multiple trackers can be specified as a list. The default value auto checks the state for consistency (tracker ‘consistency’) and displays a progress bar (tracker ‘progress’) when
tqdmis installed. More general trackers are defined in
trackers, where all options are explained in detail. In particular, the interval at which the tracker is evaluated can be chosen when creating a tracker object explicitly.
process_time() -> float
Process time for profiling: sum of the kernel and user-space CPU time.
- run(initial_state, dt=None)
run the simulation
Diagnostic information about the solver procedure are available in the diagnostics property of the instance after this function has been called.
state – The initial state of the simulation. This state will be copied and thus not modified by the simulation. Instead, the final state will be returned and trackers can be used to record intermediate states.
dt (float) – Time step of the chosen stepping scheme. If None, a default value based on the stepper will be chosen.
initial_state (TState) –
The state at the final time point. If multiprocessing is used, only the main node will return the state. All other nodes return None.
- Return type:
TState | None