tud_lbm.operators.macroscopic

Macroscopic operators — implementations of MacroscopicOperator protocol.

Public API: build_macroscopic_fn(), MultiphaseParams, build_multiphase_params

Implementation modules (_single_phase.py, _multiphase.py) are internal; use the factory to access.

Example

from operators.macroscopic import build_macroscopic_fn, MultiphaseParams, build_multiphase_params

macro = build_macroscopic_fn(“standard”) rho, u = macro(f, lattice)

mp = build_multiphase_params(config)

Classes

MultiphaseParams

Equation-of-state and surface-tension parameters.

Functions

build_macroscopic_fn(...)

Return a macroscopic operator satisfying MacroscopicOperator protocol.

build_multiphase_params(→ MultiphaseParams)

Construct MultiphaseParams from a configuration object.

Package Contents

class tud_lbm.operators.macroscopic.MultiphaseParams[source]

Bases: NamedTuple

Equation-of-state and surface-tension parameters.

All fields are Python scalars (compile-time constants).

eos: str[source]
kappa: float[source]
rho_l: float[source]
rho_v: float[source]
interface_width: int[source]
g: float | None = None[source]
tud_lbm.operators.macroscopic.build_macroscopic_fn(scheme: str = 'standard') tud_lbm.operators.protocols.MacroscopicOperator[source]

Return a macroscopic operator satisfying MacroscopicOperator protocol.

Parameters:

scheme – Macroscopic model name (“standard” or others). Defaults to “standard” (single-phase density and velocity).

Returns:

A callable satisfying the MacroscopicOperator protocol. Can be called as: operator(f, lattice, force=None) → (rho, u)

Type-checkers see this as a MacroscopicOperator, so:

op: MacroscopicOperator = build_macroscopic_fn(“standard”)

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

Raises:

ValueError – If scheme is not registered.

Examples

>>> from operators.macroscopic import build_macroscopic_fn
>>> macroscopic = build_macroscopic_fn("standard")
>>> rho, u = macroscopic(f, lattice)
tud_lbm.operators.macroscopic.build_multiphase_params(config: tud_lbm.config.SimulationConfig) MultiphaseParams[source]

Construct MultiphaseParams from a configuration object.

Parameters:

config – An object with multiphase attributes (eos, kappa, rho_l, rho_v, interface_width, …).

Returns:

A MultiphaseParams NamedTuple.

Raises:

ValueError – If required multiphase fields are missing.