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-flexibleMD-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.: zshtuning-phases overwrites restrictions set by iterations