From 5d9cd18012012144bc2feb1c7ade9f402dfe38e9 Mon Sep 17 00:00:00 2001 From: Atilaac Date: Mon, 4 May 2026 22:28:50 +0200 Subject: [PATCH] Add random_seed parameter to get_structure_dict Introduce a random_seed parameter (default=42) to get_structure_dict, update the docstring, and pass it as seed to the underlying structure generation call. This enables reproducible placement of atoms when generating structure dictionaries. --- amorphouspy/src/amorphouspy/structure/geometry.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/amorphouspy/src/amorphouspy/structure/geometry.py b/amorphouspy/src/amorphouspy/structure/geometry.py index d4f16ecd..ef65d270 100644 --- a/amorphouspy/src/amorphouspy/structure/geometry.py +++ b/amorphouspy/src/amorphouspy/structure/geometry.py @@ -267,6 +267,7 @@ def get_structure_dict( density: float | None = None, min_distance: float = 1.6, max_attempts_per_atom: int = 10000, + random_seed: int = 42, ) -> dict: """Generate a structure dictionary for a given composition. @@ -282,6 +283,7 @@ def get_structure_dict( density: Density in g/cm^3, default is calculated from model. min_distance: Minimum distance between any two atoms in angstroms, default is 1.6 Å. max_attempts_per_atom: Maximum attempts to place an atom before giving up, default is 10000. + random_seed: Random seed for reproducibility, default is 42. Returns: A dictionary containing: @@ -322,6 +324,7 @@ def get_structure_dict( min_distance=min_distance, max_attempts_per_atom=max_attempts_per_atom, stoichiometry=stoichiometry, + seed=random_seed, ) if target_atoms is not None: