zoomy_core.model.models.advection_model module

zoomy_core.model.models.advection_model module#

Scalar advection and advection-diffusion models.

Works in 1D, 2D, and 3D.

class zoomy_core.model.models.advection_model.ScalarAdvection(dimension=1, **kwargs)#

Bases: Model

Scalar advection du/dt + a · ∇u = 0.

flux()#

Flux.

eigenvalues()#

Eigenvalues of the normal-projected quasilinear matrix.

In ‘symbolic’ mode: solves the characteristic polynomial in SymPy. In ‘numerical’ mode: returns an empty ZArray (eigenvalues computed at runtime by the Numerics class via np.linalg.eigvals).

class zoomy_core.model.models.advection_model.ScalarAdvectionDiffusion(dimension=1, nu=0.001, **kwargs)#

Bases: Model

Scalar advection-diffusion: du/dt + a · ∇u = ∇ · (ν ∇u).

The diffusive flux is F_diff = -ν * ∇u (isotropic).

flux()#

Flux.

diffusive_flux()#

F_diff = -ν * ∇u. Shape (1, dim).

eigenvalues()#

Eigenvalues of the normal-projected quasilinear matrix.

In ‘symbolic’ mode: solves the characteristic polynomial in SymPy. In ‘numerical’ mode: returns an empty ZArray (eigenvalues computed at runtime by the Numerics class via np.linalg.eigvals).