zoomy_core.model.derivative_workflow module

zoomy_core.model.derivative_workflow module#

Module zoomy_core.model.derivative_workflow.

class zoomy_core.model.derivative_workflow.DerivativeSpec(field, axes)#

Bases: object

DerivativeSpec. (class).

Parameters:
  • field (str) –

  • axes (Tuple[str, ...]) –

field: str#
axes: Tuple[str, ...]#
property key: Tuple[str, Tuple[str, ...]]#

Key.

aux_name()#

Aux name.

Return type:

str

class zoomy_core.model.derivative_workflow.DerivativeNamespace(model)#

Bases: object

DerivativeNamespace. (class).

Parameters:

model (StructuredDerivativeModel) –

diff(field, axes)#

Diff.

Parameters:

axes (Iterable[str]) –

dt(field)#

Dt.

dx(field)#

Dx.

dxx(field)#

Dxx.

dtxx(field)#

Dtxx.

class zoomy_core.model.derivative_workflow.StructuredDerivativeModel(init_functions=True, **params)#

Bases: Model

Compatibility layer for named fields + derivative mapping.

user_aux_variables = 0#
auto_requested_derivatives = False#
derivative_canonicalization = 'time_first'#
aux_variables()#

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

requested_derivatives()#

Requested derivatives.

Return type:

List[DerivativeSpec]

derivative_buffer_aux_names()#

Derivative buffer aux names.

Return type:

List[str]

resolve_field_name(field)#

Resolve field name.

Return type:

str

class zoomy_core.model.derivative_workflow.DerivativeAwareSolverMixin#

Bases: object

Computes declared derivative buffer entries and fills Qaux.

update_qaux(Q, Qaux, Qold, Qauxold, mesh, model, parameters, time, dt)#

Update qaux.

class zoomy_core.model.derivative_workflow.DerivativeAwareSolver(**kwargs)#

Bases: DerivativeAwareSolverMixin, HyperbolicSolver

Generic derivative-aware solver based on the NumPy hyperbolic base.

name = 'DerivativeAwareSolver'#
class zoomy_core.model.derivative_workflow.DerivativeAwareHyperbolicSolver(**kwargs)#

Bases: DerivativeAwareSolver

Backward-compatible alias.

name = 'DerivativeAwareHyperbolicSolver'#
zoomy_core.model.derivative_workflow.print_model_functions(model, function_names=None)#

Compatibility wrapper; prefer model.print_model_functions().

Parameters:

model (Model) –