tud_lbm.io.plotting.simulation_csv ================================== .. py:module:: tud_lbm.io.plotting.simulation_csv .. autoapi-nested-parse:: Per-timestep droplet-metric CSV export. Classes ------- .. autoapisummary:: tud_lbm.io.plotting.simulation_csv.RZero tud_lbm.io.plotting.simulation_csv.SimulationCsvExport Functions --------- .. autoapisummary:: tud_lbm.io.plotting.simulation_csv.build_simulation_csv Module Contents --------------- .. py:class:: RZero Bases: :py:obj:`NamedTuple` Resolved R₀ plus whether the nominal-radius fallback was used. .. py:attribute:: value :type: float .. py:attribute:: used_fallback :type: bool .. py:function:: build_simulation_csv(run_dir: str | pathlib.Path, config: tud_lbm.config.SimulationConfig) -> pathlib.Path | None Compute per-timestep metrics and write ``simulation_data.csv``. Skips silently (returns ``None``) when *config.sim_type* is not a supported wetting variant. Saves the CSV directly to *run_dir*. :param run_dir: Run directory (contains ``data/timestep_*.npz``). :param config: :class:`~tud_lbm.config.simulation_config.SimulationConfig`. :returns: Path to the written CSV, or ``None`` when skipped. .. py:class:: SimulationCsvExport(config: tud_lbm.config.SimulationConfig | None = None) Bases: :py:obj:`tud_lbm.io.plotting.base.AnalysisPlot` Export per-timestep droplet metrics to ``simulation_data.csv``. .. py:attribute:: name :value: 'simulation_csv' .. py:attribute:: required_keys :value: ('rho', 'u') .. py:attribute:: export_only :value: True .. py:method:: compute(files: list[pathlib.Path]) -> dict[str, numpy.ndarray] Return an empty payload because this operator is export-only. .. py:method:: render(ax: matplotlib.axes.Axes, precomputed: dict[str, numpy.ndarray]) -> None Render a placeholder panel when this operator is selected for plotting. .. py:method:: export(run_dir: pathlib.Path) -> pathlib.Path | None Write ``simulation_data.csv`` for the configured run directory.