# CelerisLab/__init__.py
"""
CelerisLab: GPU-Accelerated Computational Physics Simulation Library

Usage::

    from CelerisLab import Simulation

    sim = Simulation("configs/config_lbm.json")
    sim.add_cylinder((100, 50), radius=10)
    sim.initialize()
    sim.run(1000)
    data = sim.get_macroscopic()

Legacy FlowField API is still importable from CelerisLab.lbm.driver.
"""

__version__ = "0.3.0"

from . import common, cuda, lbm, body, config

try:
    from .simulation import Simulation
    __all__ = ["Simulation", "lbm", "body", "common", "cuda", "config",
               "__version__"]
except ImportError as e:
    import warnings
    warnings.warn(f"Simulation not available: {e}", ImportWarning)
    __all__ = ["lbm", "body", "common", "cuda", "config", "__version__"]
