tud_lbm.operators.collision

Collision operators — implementations of CollisionOperator protocol.

Public API: build_collision_fn()

Implementation modules (_bgk.py, _mrt.py) are internal; use the factory to access.

Example

from operators.collision import build_collision_fn

collision_fn = build_collision_fn(“bgk”) f_col = collision_fn(f, feq, tau)

Functions

build_collision_fn(...)

Return a collision operator satisfying CollisionOperator protocol.

Package Contents

tud_lbm.operators.collision.build_collision_fn(scheme: str) tud_lbm.operators.protocols.CollisionOperator[source]

Return a collision operator satisfying CollisionOperator protocol.

Parameters:

scheme – Collision model name (“bgk” or “mrt”).

Returns:

A callable satisfying the CollisionOperator protocol. Can be called as: operator(f, feq, tau, source=None) → f_col

Type-checkers see this as a CollisionOperator, so:

op: CollisionOperator = build_collision_fn(“bgk”)

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

Raises:

ValueError – If scheme is not registered.

Examples

>>> from operators.collision import build_collision_fn
>>> bgk = build_collision_fn("bgk")
>>> f_col = bgk(f, feq, tau)