Skip to content

Commit c7a8c44

Browse files
authored
Merge pull request #812 from HEXRD/sanitize-material-name
Ensure lmfit parameters don't contain '-'
2 parents bf9b1d8 + c816699 commit c7a8c44

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

hexrd/fitting/calibration/lmfit_param_handling.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,9 @@ def create_material_params(material, refinements=None):
501501
# The refinements should be in reduced format
502502
refine_idx = 0
503503

504+
# lmfit doesn't like '-' in names
505+
mat_name = material.name.replace('-', '_')
506+
504507
parms_list = []
505508
for i, lp_name in enumerate(_lpname):
506509
if not material.unitcell.is_editable(lp_name):
@@ -520,7 +523,7 @@ def create_material_params(material, refinements=None):
520523

521524
val = material.lparms[i] * multiplier
522525
parms_list.append((
523-
f'{material.name}_{lp_name}',
526+
f'{mat_name}_{lp_name}',
524527
val,
525528
refine,
526529
val - diff,
@@ -533,9 +536,12 @@ def create_material_params(material, refinements=None):
533536

534537

535538
def update_material_from_params(params, material):
539+
# lmfit doesn't like '-' in names
540+
mat_name = material.name.replace('-', '_')
541+
536542
new_lparms = material.lparms
537543
for i, lp_name in enumerate(_lpname):
538-
param_name = f'{material.name}_{lp_name}'
544+
param_name = f'{mat_name}_{lp_name}'
539545
if param_name in params:
540546
if i < 3:
541547
# Lattice length
@@ -559,6 +565,8 @@ def grain_param_names(base_name):
559565

560566

561567
def create_grain_params(base_name, grain, refinements=None):
568+
# lmfit doesn't like '-' in names
569+
base_name = base_name.replace('-', '_')
562570
param_names = grain_param_names(base_name)
563571
if refinements is None:
564572
refinements = [True] * len(param_names)

0 commit comments

Comments
 (0)