diff --git a/espei/parameter_selection/fitting_steps.py b/espei/parameter_selection/fitting_steps.py index 84d7210e..696cf8ae 100644 --- a/espei/parameter_selection/fitting_steps.py +++ b/espei/parameter_selection/fitting_steps.py @@ -229,11 +229,11 @@ def shift_reference_state(cls, desired_data: [Dataset], fixed_model: Model, mole if occupancy is None: raise ValueError('Cannot have a _MIX property without sublattice occupancies.') else: - values[..., config_idx] += cls.transform_feature(fixed_model.models['ref'])*mole_atoms_per_mole_formula_unit + values[..., config_idx] += cls.transform_feature(fixed_model.models['ref']) else: raise ValueError(f'Unknown property to shift: {dataset["output"]}') for excluded_contrib in unique_excluded_contributions: - values[..., config_idx] += cls.transform_feature(fixed_model.models[excluded_contrib])*mole_atoms_per_mole_formula_unit + values[..., config_idx] += cls.transform_feature(fixed_model.models[excluded_contrib]) total_response.append(values.flatten()) return total_response @@ -253,8 +253,8 @@ def get_response_vector(cls, fixed_model: Model, fixed_portions: [symengine.Basi site_fractions = list(itertools.chain(*site_fractions)) data_qtys = np.concatenate(cls.shift_reference_state(data, fixed_model, mole_atoms_per_mole_formula_unit), axis=-1) - # Remove existing partial model contributions from the data, convert to per mole-formula units - data_qtys = data_qtys - cls.transform_feature(fixed_model.ast)*mole_atoms_per_mole_formula_unit + # Remove existing partial model contributions from the data + data_qtys = data_qtys - cls.transform_feature(fixed_model.ast) # Subtract out high-order (in T) parameters we've already fit, already in per mole-formula units data_qtys = data_qtys - cls.transform_feature(sum(fixed_portions)) # If any site fractions show up in our rhs that aren't in these diff --git a/tests/test_parameter_generation_utils.py b/tests/test_parameter_generation_utils.py index 8e1cbeef..fe798742 100644 --- a/tests/test_parameter_generation_utils.py +++ b/tests/test_parameter_generation_utils.py @@ -97,7 +97,7 @@ def test_get_response_vector_AL_NI_VA_interaction(): """) mod = Model(dbf, ['AL', 'NI', 'VA'], 'BCC_B2') dd = {ky: 0.0 for ky in mod.models.keys()} - dd['GM'] = NEW_GM + dd['G'] = NEW_GM * mod._site_ratio_normalization mod.models = dd print(mod.HM) config_tup = (('AL',), ('NI', 'VA'), ('VA',))