Skip to content

Commit

Permalink
add seed parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
StephMcCallum committed Jan 24, 2025
1 parent c1c0ecd commit 9c00e51
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 240 deletions.
8 changes: 7 additions & 1 deletion flowermd/base/system.py
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,8 @@ class Pack(System):
The space (nm) between the edge of the box and the molecules.
overlap : float, default 0.2
Minimum separation (nm) between particles of different molecules.
seed : int, default 12345
Random seed to be passed to PACKMOL.
.. warning::
Expand Down Expand Up @@ -655,6 +657,7 @@ def __init__(
packing_expand_factor=5,
edge=0.2,
overlap=0.2,
seed=12345,
fix_orientation=False,
):
if not isinstance(density, u.array.unyt_quantity):
Expand All @@ -668,10 +671,11 @@ def __init__(
self.packing_expand_factor = packing_expand_factor
self.edge = edge
self.overlap = overlap
self.overlap = seed
self.fix_orientation = fix_orientation
super(Pack, self).__init__(molecules=molecules, base_units=base_units)

def _build_system(self):
def _build_system(self,**kwargs):
mass_density = u.Unit("kg") / u.Unit("m**3")
number_density = u.Unit("m**-3")
if self.density.units.dimensions == mass_density.dimensions:
Expand All @@ -695,8 +699,10 @@ def _build_system(self):
n_compounds=[1 for i in self.all_molecules],
box=list(target_box * self.packing_expand_factor),
overlap=self.overlap,
seed=self.seed,
edge=self.edge,
fix_orientation=self.fix_orientation,
**kwargs
)
return system

Expand Down
26 changes: 26 additions & 0 deletions flowermd/tests/base/test_system.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,32 @@ def test_pack_box(self, benzene_molecule):
assert np.prod(low_density_system.box.lengths) > np.prod(
high_density_system.box.lengths
)

def test_pack_seed(self, benzene_molecule):
benzene_mol = benzene_molecule(n_mols=3)
default_seed = Pack(molecules=[benzene_mol], density=0.1)
change_seed = Pack(molecules=[benzene_mol], density=0.1, seed=12340)
assert np.prod(low_density_system.box.lengths) > np.prod(
high_density_system.box.lengths
)
#adding test for kwargs argument in system.py Pack class
def test_pack_kwargs_attr(self, polyethylene):
polyethylene = polyethylene(lengths=5, num_mols=1)
system = Pack(
molecules=[polyethylene],
density=1.0,
compound,
n_compounds=None,
box=None,
density=None,
overlap=0.2,
seed=12345,
sidemax=100.0, edge=0.2, compound_ratio=None, aspect_ratio=None, fix_orientation=False, temp_file=None, update_port_locations=False, packmol_args=Non
)
assert system._ff_kwargs["r_cut"] == 2.5
assert system._ff_kwargs["nlist_buffer"] == 0.5
assert system._ff_kwargs["pppm_kwargs"]["resolution"] == (4, 4, 4)
assert system._ff_kwargs["pppm_kwargs"]["order"] == 3

def test_mass(self, pps_molecule):
pps_mol = pps_molecule(n_mols=20)
Expand Down
239 changes: 0 additions & 239 deletions p3ht_init.ipynb

This file was deleted.

0 comments on commit 9c00e51

Please sign in to comment.