tud_lbm.plotting

Visualization utilities for LBM simulation results (public API).

Re-exports plotting tools from tud_lbm.io.plotting for convenient access. Provides matplotlib-based visualization of density, velocity, and other fields.

Main Classes

FigureBuilder

Assemble multi-panel composite figures from simulation config and data. Supports custom panel operators for flexible visualization.

Example:

from tud_lbm.plotting import FigureBuilder
builder = FigureBuilder(config=config, run_dir="results/run_001/")
builder.build_all()  # Save all figures
PlotOperator

Abstract base class for custom visualization panels. Extend this to create custom plot types that integrate with FigureBuilder.

Animator

Build frame sequences and encode simulation animations (mp4/gif) from saved run directories.

Available Plot Operators

The framework includes registered operators for: - Density field (heatmap) - Velocity magnitude (heatmap) - Velocity field (vector plot) - Streamlines - Custom forces analysis

Register new operators using @plotting_operator decorator in tud_lbm.registry.

Complete Example

from tud_lbm.plotting import FigureBuilder

config = SimulationConfig(grid_shape=(64, 64), tau=0.8, nt=100)
setup = build_setup(config)
state = init_state(setup)
final_state, _ = run(setup, state, nt=100)

# Render figures for a saved run directory
builder = FigureBuilder(config, "results/my_run/")
builder.build_all(skip=5)