Custom BGMN params#28
Open
Andrea-gm wants to merge 15 commits into
Open
Conversation
This update introduces custom_lines and element_params_map to the cif2str function, enabling advanced crystallographic constraints directly from Python without needing to manually edit the generated .str files. The custom_lines argument allows users to inject arbitrary BGMN parameters and mathematical equations into the refinement. The element_params_map argument overrides hardcoded atomic parameters like TDS with custom variables or occupancies, and it includes wildcard support using an asterisk to easily apply global parameters across the entire crystal structure. These additions significantly improve the wrapper's flexibility, making it much easier to model highly disordered, defective, or high-temperature phases.
To fix ruff errors
Fixed generality of parameters
Added test
Changed params names to better names
fixed errors
fixed test
Fixed bug that did not allow to fit TDS for elements with 2 letters
Fixed for Ruff
Fixed test to ignore FutureWarning from pymatgen to maintain compatibility
Allow lattice_range to be an explicit (lo, hi) tuple in addition to a symmetric float or "fixed". Updated make_lattice_parameters_str and cif2str signatures, added docstrings, and implemented validation (lo <= hi). When a float is provided the code normalizes it to (-r, r) so existing behavior is preserved; when a tuple is provided bounds are applied as fractional deltas [v*(1+lo), v*(1+hi)]. Also added normalization of lattice_range inside cif2str and improved error messages.
Now accepts lattice_range = tuple() of values that are both larger or smaller than 0% lattice expansion. Useful to constrain expansion for patterns measured at high temperature (e.g. in-situ XRD)
To accept constraints on gewicht, defined as for all other params: "start_min^max"
Fixed bug. now accepts lattice_range = "fixed", literal expression
Can now fix lattice expansion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Major changes:
Todos
If this is work in progress, what else needs to be done?
Checklist