SENPAI-Molecular-Dynamics / SENPAI

Molecular dynamics simulation software
https://senpaimd.org
GNU General Public License v3.0
125 stars 16 forks source link

Load simulation parameters from a separate file #11

Open Kastakin opened 4 years ago

Kastakin commented 4 years ago

It might be a good idea to add the possibility to run SENPAI with simulation parameters loaded from an external file. This would for example ease running the same simulation on multiple files in sequence with same parameters without having to re-type them every time or the opposite: run more simulations one after the other while just changing the conditions. Also it's quite the standard when working with cluster computers to have the simulation parameters and the substrate on which to run it in two distinct files.

Chelsea486MHz commented 4 years ago

Not only is it a good idea, I've had a web interface in mind for a while. Getting rid of shell flags to run simulations would pave the way for such an interface.

I'll be focusing on cleaning up the code and offloading the vector algebra to OpenCL - if you want to have a go at this two-file system, I'll be waiting for the PR :)

Kastakin commented 4 years ago

I'm not sure on what file format to use to pass the arguments, I was thinking of a JSON file but I'm not sure if it's the standard for similar applications

Chelsea486MHz commented 4 years ago

Back when the project was in its infancy, it was planned to use JSON. I don't know if it's "the norm" but it sure keeps it simple.

AFAIK, "the norm" is to use PDB files instead of MOL ones anyway, so using JSON parameters doesn't seem outrageous in this context.

Luthaf commented 4 years ago

"the norm" is to use PDB files instead of MOL ones anyway, so using JSON parameters doesn't seem outrageous in this context.

"big" simulation software have their own file format: GROMACS uses .top/.gro files, LAMMPS uses another format, and don't get me started on ab initio molecular dynamics software 😃

Whatever you choose to do, please don't add a new format to this zoo =) JSON/YAML/TOML sounds very nice for model/force-field parameters. You may want to use a format able to store velocities for your initial structures, to remove the need for initial thermostating in NVT simulations.

There are two projects I know about concerning the standardization of models input: https://openforcefield.org/ and https://openkim.org/. I don't know how widely they are used in the community.