tud_lbm.operators.equilibrium

Equilibrium operators — implementations of EquilibriumOperator protocol.

Public API: build_equilibrium_fn()

Implementation modules (_equilibrium.py) are internal; use the factory to access.

Example

from operators.equilibrium import build_equilibrium_fn

eq = build_equilibrium_fn(“wb”) feq = eq(rho, u, lattice)

Functions

build_equilibrium_fn(...)

Return an equilibrium operator satisfying EquilibriumOperator protocol.

Package Contents

tud_lbm.operators.equilibrium.build_equilibrium_fn(scheme: str = 'wb') tud_lbm.operators.protocols.EquilibriumOperator[source]

Return an equilibrium operator satisfying EquilibriumOperator protocol.

Parameters:

scheme – Equilibrium model name (“wb” or others). Defaults to “wb” (Chai et al. D2Q9 model).

Returns:

A callable satisfying the EquilibriumOperator protocol. Can be called as: operator(rho, u, lattice) → feq

Type-checkers see this as an EquilibriumOperator, so:

op: EquilibriumOperator = build_equilibrium_fn(“wb”)

Type-checkers will verify any use of op matches the protocol.

Raises:

ValueError – If scheme is not registered.

Examples

>>> from operators.equilibrium import build_equilibrium_fn
>>> equilibrium = build_equilibrium_fn("wb")
>>> feq = equilibrium(rho, u, lattice)