Command line and build options
rockable
rockable [conf-file] [options]
The positional argument is the conf-file to load; it defaults to conf0.
Everything happens in the current folder: the companion files are looked up
there, and the dumps are written there.
Option |
Description |
|---|---|
|
Number of OpenMP threads, 1 by default. The parallel strategy itself is
a conf-file keyword, |
|
Verbosity, from 0 to 6: |
|
Delete |
|
Print the banner, which lists the version, the git tag and the compilation options actually used, then exit. |
|
Non-regression check. After the run, compare the conf-file given by
|
|
Relative tolerance of the comparison between the |
|
The usual help. |
|
The git tag the binary was built from. |
rockable input.txt -j 8 -v 5
Warning
rockable -c deletes files without asking for a confirmation. Run it in
the folder of the simulation you really mean to clean.
Tip
Any dump is a valid input file, so rockable conf27 -j 8 resumes the
computation from configuration 27. The companion files are re-read from the
folder, which is how a loading can be changed mid-course.
The other executables
Command |
Description |
|---|---|
|
The OpenGL viewer. |
|
Dear My Seer, the Dear ImGui viewer that supersedes |
|
Dear My Shape, the Dear ImGui browser of shape libraries. See Visualisation tools. |
|
Convert every |
|
Run a post-processor over a range of dumps. See Post-processing (postpro). |
|
Build shape files, input files and packings. See the |
|
Inspect and pre-compute a shape library. See Application shapeSurvey. |
|
Pre-compute the shapes of a library, in place, without window. |
|
Generate a tree of input files for a parameter sweep. |
|
Convert a binary STL file into a shape. See Converters. |
|
Cut a closed STL mesh into blocks (shapes and particles). See Converters. |
Building
git clone https://github.com/richefeu/rockable.git
cd rockable
sh install_rockable.sh
The build happens in BUILD and the binaries are installed into INSTALL.
Depending on the system, a few packages may be needed beforehand: glfw3,
opengl, freeglut, and optionally libpng for PNG screenshots.
To change the options:
cd BUILD
ccmake .
# set the options, then c, then e, then g
cmake ..
make -j
make install
To make the binaries reachable from the shell:
source add_install_to_path.sh
Important
The script must be sourced, not executed. A script run in a subshell
cannot change the PATH of the shell that launched it.
Compilation options
Options that change the physics, or the set of keywords understood.
ROCKABLE_ENABLE_PERIODIC and ROCKABLE_ENABLE_SOFT_PARTICLES default to
ON, so that a default build, and the continuous integration, compiles and
tests them; the others default to OFF. Each enabled feature has a small cost
even when a computation does not use it, so disable the ones you do not need.
Option |
Effect |
|---|---|
|
Tri-periodic cell: the |
|
Homogeneous deformation of the particles (DCEM), keywords
|
|
The special boundary shapes, |
|
Objectivity correction of the tangential forces under large rotations. |
|
Time profiling of the main routines with MATools (fetched by CMake),
which reports the timers at the end of the run. The file |
Warning
ROCKABLE_ENABLE_BOUNDARY is not usable yet. With this option, the
current sources do not compile (InteractionBoundary is used in
Rockable.hpp without being declared), and the read methods of the
Ball and Cylinder boundaries are still empty stubs. Keep it OFF.
Options that select what gets compiled:
Option |
Default |
Builds |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
the pre-processing tools |
|
|
the regression tests |
Tip
rockable -b prints which of these were actually enabled. It is the
quickest way to explain a keyword that appears to do nothing.
Files of a simulation folder
mySimulation/
input.txt # the conf-file you write
shapes.txt # shape library, named by shapeFile
shapes.rmsh # optional skin meshes, used by see
drivingSystem.txt # optional driving and servo
dataExtractors.txt # optional measurements
see.json # optional view settings
probe.txt # optional measurement box
------------ produced by the run ------------
conf0 conf1 conf2 ... # the dumps
extractedDataDoc.txt # what each extractor column holds
perf.txt # time, efficiency, profiling
kineticEnergy.txt # time, translational and rotational energy
staticBalance.txt # time, equilibrium indicators
checkplots.txt # gnuplot script for the three files above
Tip
gnuplot checkplots.txt plots the performance, the kinetic energy and the
static balance in one go. Watching the kinetic energy fall is the usual way
of deciding that a sample has reached equilibrium.