URI:
       quickstart.rst - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
  HTML git clone git://src.adamsgaard.dk/sphere
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
       quickstart.rst (1650B)
       ---
            1 Quick start
            2 ===========
            3 
            4 Requirements
            5 ------------
            6 
            7 Common requirements:
            8 
            9 * CMake 3.12 or newer
           10 * A C++ compiler supported by the selected backend
           11 * Python 3 with NumPy for simulation setup and analysis
           12 
           13 CUDA backend requirements:
           14 
           15 * Nvidia CUDA toolkit
           16 * Nvidia GPU with suitable double-precision support
           17 
           18 OpenMP CPU backend requirements:
           19 
           20 * OpenMP-capable compiler/runtime
           21 * On macOS with Apple clang: ``brew install libomp``
           22 
           23 Build
           24 -----
           25 
           26 CUDA backend (default)::
           27 
           28    cmake .
           29    make
           30 
           31 OpenMP CPU backend::
           32 
           33    cmake -DSPHERE_GPU=OFF .
           34    make
           35 
           36 Run checks
           37 ----------
           38 
           39 ::
           40 
           41    ./sphere --version
           42    ./sphere --help
           43    ctest --output-on-failure
           44 
           45 Some CFD tests may expose known solver stability limitations on specific
           46 systems; review failing test output before relying on a solver configuration.
           47 
           48 Python workflow
           49 ---------------
           50 
           51 Use the bundled Python package by setting ``PYTHONPATH`` from the repository
           52 root::
           53 
           54    PYTHONPATH=python python3 experiments/collision.py
           55 
           56 Most workflows follow this pattern:
           57 
           58 #. Create a ``sphere.sim`` object in Python.
           59 #. Initialize particles, material properties, boundaries, and time settings.
           60 #. Write an input binary with ``writebin``.
           61 #. Run the compiled ``sphere`` binary, directly or through the Python API.
           62 #. Read output binaries for analysis, visualization, or export.
           63 
           64 Build documentation
           65 -------------------
           66 
           67 Install Python documentation dependencies::
           68 
           69    python3 -m pip install -r doc/requirements.txt
           70 
           71 Full HTML documentation also requires Doxygen for the C++ reference::
           72 
           73    make -C doc/sphinx html
           74 
           75 PDF documentation additionally requires a working TeX installation::
           76 
           77    make -C doc/sphinx latexpdf