rinikerlab / Ensembler

Ensembler is a python package that provides fast and easy access to 1D and 2D model system simulations. It can be used for method development or to deepen understanding of a broad spectrum of modeling methods, from basic sampling techniques to enhanced sampling and free energy calculations. It is easy to install, fast, increases shareability, comparability, and reproducibility of scientific code developments.
https://rinikerlab.github.io/Ensembler/index.html
MIT License
50 stars 9 forks source link

Units of Measurement and Temperature Issues #52

Open robinwuff opened 3 years ago

robinwuff commented 3 years ago

Units of measurement appear to be undefined in most parts of Ensembler, which may not be an issue for many applications.

However, I ran into inconveniences with unspecified and maybe inconsistent units when I was working on my reweighting project. Here, the temperature factors into some of the reweighting methods. This became apparent, when I used the LangevinIntegrator and afterwards a MetropolisMonteCarloIntegrator as samplers. While a temperature of 298 for the MetropolisMonteCarlo sampler produced a sensible distribution in my desired range, the LangevinIntegrator takes this temperature as an invitation to go fully of the charts, i. e. produces the distribution of what seems to be a much higher temperature than what the MetropolisMonteCarloIntegrator sampler interprets. Afterwards I struggle to interpret that and simulation outputs are hard to compare. That also makes it more difficult, for example, to combine Ensembler with the pyEMMA package.

I was wondering whether there was a way for units to be kept consistent across the package and at least to be documented.