pycanha.solvers — Thermal Solvers#

The following base classes are re-exported from pycanha_core.solvers — see the pycanha_core.solvers — Core Solver Classes page for their full documentation:

Steady-state solvers#

class pycanha.solvers.SSLU(*args, **kwargs)[source]#

Bases: SSLU

property MAX_ITERS#

Maximum number of solver iterations per step.

property abstol_enrgy#

Absolute energy convergence tolerance [W].

property abstol_temp#

Absolute temperature convergence tolerance [K].

deinitialize(self) None#

Release solver resources.

property eps_capacity#

Minimum thermal capacity threshold [J/K].

property eps_coupling#

Minimum coupling value threshold.

property eps_time#

Time step epsilon [s].

initialize(self) None#

Allocate solver resources and prepare matrices.

property pardiso_iparm_3#

MKL PARDISO iparm[3] parameter (preconditioner control).

solve(self) None#

Run the steady-state solve to convergence.

property solver_converged#

Whether the solver has converged.

property solver_initialized#

Whether initialize() has been called.

property solver_iter#

Current solver iteration count.

property solver_name#

Name of the solver.

Transient solvers#

class pycanha.solvers.TSCNRLDS(*args, **kwargs)[source]#

Bases: TSCNRLDS

property MAX_ITERS#

Maximum number of solver iterations per step.

property abstol_enrgy#

Absolute energy convergence tolerance [W].

property abstol_temp#

Absolute temperature convergence tolerance [K].

deinitialize(self) None#

Release solver resources.

property eps_capacity#

Minimum thermal capacity threshold [J/K].

property eps_coupling#

Minimum coupling value threshold.

property eps_time#

Time step epsilon [s].

initialize(self) None#

Allocate solver resources and prepare matrices.

property output_config#

Reference to the output configuration.

property output_model_name#

Name of the DataModel where output is stored.

property pardiso_iparm_3#

MKL PARDISO iparm[3] parameter (preconditioner control).

set_simulation_time(self, start_time: float, end_time: float, dtime: float, output_stride: float) None#

Configure the transient simulation time window and output interval.

solve(self) None#

Run the transient simulation over the configured time window.

property solver_converged#

Whether the solver has converged.

property solver_initialized#

Whether initialize() has been called.

property solver_iter#

Current solver iteration count.

property solver_name#

Name of the solver.

property time#

Current simulation time [s].

property time_iter#

Current time iteration index.