cmelab / planckton

Reproducible exploration of organic photovoltaic morphology self-assembly using molecular dynamics.
GNU General Public License v3.0
5 stars 6 forks source link

Allow neighborlist type to be passed in as a kwarg #53

Closed jennyfothergill closed 2 years ago

jennyfothergill commented 3 years ago

fixes #51 depends on mbuild#913 --> merged

chrisjonesBSU commented 3 years ago

Just a heads up, (because I just added the same feature to uli-init), it looks like method of passing in the neighbor list type needs to be updated with the latest changes you made to your mbuild PR.

One consideration to make though is how it will interface with planckton-flow. You could make the nlist parameter in sim.py accept the actual neighbor list object (like hoomd_simulation.py does), but I'm not sure how this would work when using planckton via planckton-flow which doesn't have hoomd in it's environment. So, sim.py might still have to map a str to the actual neighbor list object. Maybe python has a way of handling this kind of situation?

jennyfothergill commented 3 years ago

@chrisjonesBSU That's a good point. In my original PR I actually passed a string to create_hoomd_sim(nlist="tree") and used getattr(hoomd.md.nlist, "tree") we can add error handling around this getattr, but attribute does not exist will pop up by default.

We'll definitely want to use some sort of logic like this to make it serializable for signac. The getattr part can be taken care of entirely in the planckton environment, which will save us from having to install hoomd in the planckton-flow environment. This is similar to how unyt quantities are handled. (unyt is not installed in planckton-flow either, so flow only deals with the serialized "unyt string" :) )

codecov[bot] commented 2 years ago

Codecov Report

Merging #53 (6f0cdd5) into master (c59e3b3) will increase coverage by 0.00%. The diff coverage is 100.00%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #53   +/-   ##
=======================================
  Coverage   98.38%   98.39%           
=======================================
  Files           6        6           
  Lines         186      187    +1     
=======================================
+ Hits          183      184    +1     
  Misses          3        3           
Impacted Files Coverage Δ
planckton/sim.py 96.29% <100.00%> (+0.04%) :arrow_up: