feat: use NPT sims for water + solvent benchmarks#140
Conversation
|
Marco Carobene seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
4613eab to
cd6e92e
Compare
cd6e92e to
1d0d319
Compare
| equilibrated. For every specific atom pair (e.g., **oxygen-oxygen** in water) the radial distribution | ||
| function (**RDF** or **g(r)**) is calculated from the simulation. |
There was a problem hiding this comment.
TODO: Add details RE how the densities are computed and (below) what experimental values we compare to
| density_denominator = AVAGADROS_CONSTANT * volumes | ||
|
|
||
| densities = density_numerator / density_denominator | ||
| return densities |
There was a problem hiding this comment.
nitpick: Duplicated code, consider moving this to a utils.py or another common file
| } | ||
|
|
||
| # TODO: Check reference densities (g/cm3) | ||
| # These are the best I could find. All are at 20deg - should we change temperature? |
There was a problem hiding this comment.
question: So this would be 2 deg less than what we have now? I don't see why not then? @lwehran?
| MOLECULE_CONFIG = { | ||
| "CCl4": {"mw": 153.823, "atoms_per_molecule": 5}, | ||
| "methanol": {"mw": 32.042, "atoms_per_molecule": 6}, | ||
| "acetonitrile": {"mw": 41.053, "atoms_per_molecule": 6}, |
There was a problem hiding this comment.
question: Sorry for my noobiness, what's mw? Maybe a more explicit name?
| first_solvent_peak - REFERENCE_MAXIMA[system_name]["distance"] | ||
| ) | ||
|
|
||
| # TODO: Include density_deviation in the score |
There was a problem hiding this comment.
suggestion: Probably want to use a similar scheme to how the peak_deviation is calculated. Then take mean of score of peak_deviation and density_deviation.
| SimulationState(positions=positions, temperature=np.ones(10)) | ||
| SimulationState( | ||
| positions=positions, temperature=np.ones(num_frames), cell=cells | ||
| ) |
There was a problem hiding this comment.
suggestion: Maybe also worth adding a small sanity check on the new outputs?
Pull Request Title
Description
This PR updates the
SolventRadialDistributionBenchmarkto use the NPT ensemble rather than NVT, as an NPT integrator was recently added tomlipv2.Checklist for adding a new benchmark
all abstract method implementations.
testing pattern.