This demo shows how to easily create and simulate molecular dynamic scenarios using AutoPas and flexibly configure all of it's options.
The documentation can be found at our website: https://autopas.github.io/doxygen_documentation_md-flexible/git-master/index.html
Alternatively you can build the documentation on your own:
make doc_doxygen_md-flexible
MD-flexible supports two types of particle simulation: single-site and multi-site Molecular Dynamics simulations. Single-Site MD supports simple MD simulations using only single-site Lennard-Jones molecules. Multi-Site MD supports molecules formed from fixed rigid bodies of LJ sites. The different modes can be toggled at compile time (see below) and requires slightly different input files (see AllOptions.yaml
).
To build MD-Flexible execute the following from the AutoPas root folder:
To compile md-flexible in single-site MD mode, set MD_FLEXIBLE_MODE
to SINGLESITE
via cmake
:
Alternatively, md-flexible can be compiled in multi-site MD mode, by setting MD_FLEXIBLE_MODE
to MULTISITE
via cmake
:
By default, md-flexible is compiled in single-site MD mode.
To use the MPI parallelization of md-flexible activate MD_FLEXIBLE_USE_MPI
via cmake
:
Simple tests can be run via:
To run Tests with MPI enabled:
When starting md-flexible without any arguments a default simulation with most AutoPas options active is run and it's configuration printed. From there you can change any AutoPas options or change the simulation.
For all available arguments and options see:
The Falling Drop example simulation can be started with:
To execute md-flexible using MPI run the following command in the build directory:
The number 4 can be exchanged by any number assuming the hardware supports the selected number of processes.
MD-Flexible accepts input via command line arguments and YAML files. When given both, any command line options will overwrite their YAML counterparts.
The keywords for the YAML file are the same as for the command line input. However, since there are options that can only be defined through the YAML file there is also the file input/AllOptions.yaml
to be used as a reference.
Additionally, that options that require a list of choices also accept the keyword all
to enable all, even discouraged choices.
To quickly set up scenarios md-flexible provides a couple of object generators that create 3D shapes filled with particles. From the command line only one generator can be used at a time, however when using a YAML file one can use as an arbitrary amount of generators. In YAML files it is also possible to generate multiple objects from the same generator as one specifies the objects directly. For a list of all possible objects and their descriptions see src/Objects
. For examples how to define and configure each object see input/AllOptions.yaml
.
Particles*.pvtu
files in ParaView. To visualize the cells of the decomposition load the Ranks*.pvtu
files in ParaView.MD-Flexible can be initialized through a previously written VTK file. For this pass the path to the pvtu
file and make sure that the vtu
files which it references are in the correct location.
Please use only VTK files written by MD-Flexible since the parsing is rather strict. The VTK file only contains Information about all particles positions, velocities, forces and typeIDs. All other options, especially the simulation box size and particle properties (still) need to be set through a YAML file.
MD-Flexible allows users to select between two load balancers: The Inverted Pressure method and ALL's Tensor method. The load balancer can be selected using the 'load-balancer' configuration option.
md-flexible can generate a shell completions file with its latest options. Feel free to add completions for your favorite shell.
_md-flexible
containing the completions definitions. Store it where you feel appropriate..zshrc
prepend the path to the directory where _md-flexible
is saved to fpath
: .zshrc
after the fpath
line.: zsh
tuning-phases
overwrites restrictions set by iterations