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