zoomy_core.symsolver.settings

zoomy_core.symsolver.settings#

The settings every symbolic solver shares, declared once.

The backends (NumPy, JAX, foam, AMReX) inherit these classes and add their own settings; a backend that supports only some members of an option narrows it with OptionParam(members=...).

Module Contents#

Classes#

PressureSolve

How a projection stage solves its pressure constraint.

LinearSolver

The linear solver of the pressure (and implicit) systems; each backend supports a subset.

HyperbolicSettings

Settings of every symbolic hyperbolic solver: time window, step control, MOOD, IMEX.

ChorinSettings

Settings of every symbolic Chorin projection solver: stages and the pressure solve.

API#

class zoomy_core.symsolver.settings.PressureSolve#

Bases: zoomy_core.misc.options.Option

How a projection stage solves its pressure constraint.

Initialization

Initialize self. See help(type(self)) for accurate signature.

linear#

‘linear’

newton#

‘newton’

class zoomy_core.symsolver.settings.LinearSolver#

Bases: zoomy_core.misc.options.Option

The linear solver of the pressure (and implicit) systems; each backend supports a subset.

Initialization

Initialize self. See help(type(self)) for accurate signature.

auto#

‘auto’

gmres#

‘gmres’

pyamg#

‘pyamg’

amgx#

‘amgx’

hypre#

‘hypre’

schur_gamg#

‘schur-gamg’

class zoomy_core.symsolver.settings.HyperbolicSettings(**kwargs)#

Bases: zoomy_core.misc.options.Configurable

Settings of every symbolic hyperbolic solver: time window, step control, MOOD, IMEX.

Initialization

time_end#

‘Number(…)’

time_start#

‘Number(…)’

restart_from#

‘Path(…)’

dt_checkpoint#

‘Number(…)’

checkpoint#

‘Path(…)’

cfl#

‘Number(…)’

dt#

‘Number(…)’

cfl_check_every#

‘Integer(…)’

cfl_wave_speed#

‘OptionParam(…)’

mood#

‘Boolean(…)’

time_order#

‘Integer(…)’

dt_write#

‘Number(…)’

imex#

‘OptionParam(…)’

implicit_tol#

‘Number(…)’

implicit_maxiter#

‘Integer(…)’

gmres_tol#

‘Number(…)’

gmres_maxiter#

‘Integer(…)’

class zoomy_core.symsolver.settings.ChorinSettings(**kwargs)#

Bases: zoomy_core.symsolver.settings.HyperbolicSettings

Settings of every symbolic Chorin projection solver: stages and the pressure solve.

Initialization

time_order#

‘Integer(…)’

pressure_tol#

‘Number(…)’

pressure_maxit#

‘Integer(…)’

pressure_restart#

‘Integer(…)’

pressure_solve#

‘OptionParam(…)’

pressure_newton_tol#

‘Number(…)’

pressure_newton_maxit#

‘Integer(…)’

projection#

‘OptionParam(…)’