Source code for fluidsimfoam

"""
Fluidsimfoam API reference

.. rubric:: Sub-packages

.. autosummary::
   :toctree:

   foam_input_files
   solvers
   output
   util
   resources
   invoke

.. rubric:: Modules

.. autosummary::
   :toctree:

   info
   make
   init_fields
   operators
   log
   testing
   params

"""
import importlib.metadata
import sys

from fluiddyn.io.redirect_stdout import stdout_redirected
from fluidsim_core.paths import find_path_result_dir
from fluidsimfoam.params import Parameters

__version__ = importlib.metadata.version(__package__ or __name__)
__all__ = ["load", "load_simul", "load_params"]


[docs]def load_simul(path_dir=".", hide_stdout=False): """Loads a simulation Parameters ---------- path_dir: str or path-like Path to a directory containing a simulation. If not provided the current directory is used. """ from fluidsimfoam.solvers import get_solver_short_name, import_cls_simul path_dir = find_path_result_dir(path_dir) short_name = get_solver_short_name(path_dir) Simul = import_cls_simul(short_name) path_params = path_dir / "params_simul.xml" if not path_params.exists(): path_params = path_dir / ".data_fluidsim/params_simul.xml" params = Parameters(path_file=path_params) # Modify parameters prior to loading params.NEW_DIR_RESULTS = False params.output.HAS_TO_SAVE = False params.path_run = path_dir with stdout_redirected(hide_stdout): sim = Simul(params) return sim
[docs]def load_params(path_dir="."): """Load a :class:`fluidsim_core.params.Parameters` instance from ``path_dir`` Parameters ---------- path_dir : str or path-like Path to a simulation directory. Returns ------- params: :class:`fluidsim_core.params.Parameters` """ path_dir = find_path_result_dir(path_dir) return Parameters(path_file=path_dir / "params_simul.xml")
load = load_simul if any("pytest" in part for part in sys.argv): import pytest pytest.register_assert_rewrite("fluidsimfoam.testing")