rename for rtd

This commit is contained in:
titusquah
2020-09-09 13:10:35 -06:00
parent 578aeb6f03
commit 687424bcdf
33 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 4
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,243 @@
import llepe
import pandas as pd
import numpy as np
import json
def mod_lin_param_df(lp_df, input_val, mini_species, mini_lin_param):
new_lp_df = lp_df.copy()
index = new_lp_df.index[new_lp_df['species'] == mini_species].tolist()[0]
new_lp_df.at[index, mini_lin_param] = input_val
return new_lp_df
species_list = 'Nd,Pr,Ce,La,Dy,Sm,Y'.split(',')
pitzer_param_list = ['beta0', 'beta1']
lin_param_list = ['intercept']
meas_pitzer_param_df = pd.read_csv("../../data/csvs/may_pitzer_params.csv")
pitzer_params_filename = "../../data/jsons/min_h0_pitzer_params.txt"
with open(pitzer_params_filename) as file:
pitzer_params_dict = json.load(file)
ext_h0_filename = "../../data/jsons/min_h0_guess_ext_h0.txt"
with open(ext_h0_filename) as file:
ext_h0_dict = json.load(file)
labeled_data = pd.read_csv("../../data/csvs/"
"multicomponent_PC88A_HCL_NdPrCeLaDySmY.csv")
exp_data = labeled_data.drop(labeled_data.columns[0], axis=1)
xml_file = "PC88A_HCL_NdPrCeLaDySmY_w_pitzer.xml"
lin_param_df = pd.read_csv("../../data/csvs"
"/zeroes_removed_min_h0_pitzer_lin_params.csv")
new_lin_param_df = lin_param_df.copy()
for ind, row in lin_param_df.iterrows():
new_lin_param_df.at[ind, 'slope'] = 3
estimator_params = {'exp_data': exp_data,
'phases_xml_filename': xml_file,
'phase_names': ['HCl_electrolyte', 'PC88A_liquid'],
'aq_solvent_name': 'H2O(L)',
'extractant_name': '(HA)2(org)',
'diluant_name': 'dodecane',
'complex_names': ['{0}(H(A)2)3(org)'.format(species)
for species in species_list],
'extracted_species_ion_names': ['{0}+++'.format(species)
for species in
species_list],
'aq_solvent_rho': 1000.0,
'extractant_rho': 960.0,
'diluant_rho': 750.0,
'temp_xml_file_path': 'outputs/temp.xml',
'objective_function': llepe.lmse_perturbed_obj
}
estimator = llepe.LLEPE(**estimator_params)
def ext_to_complex(h0, custom_obj_dict, mini_species):
linear_params = custom_obj_dict['lin_param_df']
row = linear_params[linear_params['species'] == mini_species]
return row['slope'].values[0] * h0[0] + row['intercept'].values[0]
dependant_params_dict = {}
for species, complex_name in zip(species_list,
estimator_params['complex_names']):
inner_dict = {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': complex_name,
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'function': ext_to_complex,
'kwargs': {"mini_species": species},
'independent_params': '(HA)2(org)_h0'}
dependant_params_dict['{0}_h0'.format(complex_name)] = inner_dict
estimator.update_xml(pitzer_params_dict)
estimator.set_custom_objects_dict({'lin_param_df': new_lin_param_df})
estimator.set_dependant_params_dict(dependant_params_dict)
estimator.update_xml(ext_h0_dict,
dependant_params_dict=dependant_params_dict)
eps = 1e-20
mini_eps = 1e-4
pitzer_guess_dict = {'species': [],
'beta0': [],
'beta1': []}
for species in species_list:
pitzer_guess_dict['species'].append(species)
for param in pitzer_param_list:
mini_dict = pitzer_params_dict['{0}_{1}'.format(species, param)]
value = mini_dict['input_value']
pitzer_guess_dict[param].append(value)
pitzer_guess_df = pd.DataFrame(pitzer_guess_dict)
ext_h0_guess = ext_h0_dict['(HA)2(org)_h0']['input_value']
lin_guess_df = new_lin_param_df.copy()
ignore_list = []
optimizer = 'scipy_minimize'
output_dict = {'iter': [0],
'best_obj': [1e20],
'rel_diff': [1e20],
'best_ext_h0': [1e20]}
for species in species_list:
for lin_param in lin_param_list:
output_dict['{0}_{1}'.format(species, lin_param)] = [1e20]
for pitzer_param in pitzer_param_list:
output_dict['{0}_{1}'.format(species, pitzer_param)] = [1e20]
i = 0
rel_diff = 1000
obj_diff1 = 1000
obj_diff2 = 1000
while obj_diff1 > eps or obj_diff2 > eps:
i += 1
print(i)
best_obj = 1e20
best_ext_h0 = 0
output_dict['iter'].append(i)
for species in species_list:
print(species)
lower_species = species.lower()
info_dict = {'(HA)2(org)_h0': {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': '(HA)2(org)',
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'input_value': ext_h0_guess}}
for pitzer_param in pitzer_param_list:
if '{0}_{1}'.format(species, pitzer_param) not in ignore_list:
pitzer_row = pitzer_guess_df[
pitzer_guess_df['species'] == species]
inner_dict = {'upper_element_name': 'binarySaltParameters',
'upper_attrib_name': 'cation',
'upper_attrib_value':
'{0}+++'.format(species),
'lower_element_name': pitzer_param,
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': ' {0}, 0.0, 0.0, 0.0, 0.0 ',
'input_value':
pitzer_row[pitzer_param].values[0]
}
info_dict['{0}_{1}'.format(
species, pitzer_param)] = inner_dict
for lin_param in lin_param_list:
if '{0}_{1}'.format(species, lin_param) not in ignore_list:
lin_row = lin_guess_df[lin_guess_df['species'] == species]
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': lin_param},
'input_value': lin_row[lin_param].values[0]
}
info_dict['{0}_{1}'.format(
species, lin_param)] = inner_dict
estimator.set_opt_dict(info_dict)
estimator.update_custom_objects_dict(info_dict)
estimator.update_xml(info_dict)
obj_kwargs = {'species_list': species_list, 'epsilon': 1e-100}
bounds = [(1e-1, 1e1)] * len(info_dict)
optimizer_kwargs = {"method": 'l-bfgs-b',
"bounds": bounds}
opt_dict, obj_value = estimator.fit(
objective_kwargs=obj_kwargs,
optimizer_kwargs=optimizer_kwargs)
if obj_value < best_obj:
best_obj = obj_value
best_ext_h0 = opt_dict['(HA)2(org)_h0']['input_value']
for lin_param in lin_param_list:
if '{0}_{1}'.format(species, lin_param) not in ignore_list:
mini_dict = opt_dict['{0}_{1}'.format(species, lin_param)]
value = mini_dict['input_value']
output_dict['{0}_{1}'.format(species, lin_param)].append(value)
else:
value = output_dict['{0}_{1}'.format(species, lin_param)][-1]
output_dict['{0}_{1}'.format(species, lin_param)].append(value)
for pitzer_param in pitzer_param_list:
if '{0}_{1}'.format(species, pitzer_param) not in ignore_list:
mini_dict = opt_dict['{0}_{1}'.format(species, pitzer_param)]
value = mini_dict['input_value']
output_dict['{0}_{1}'.format(
species, pitzer_param)].append(value)
else:
value = output_dict['{0}_{1}'.format(
species, pitzer_param)][-1]
output_dict['{0}_{1}'.format(
species, pitzer_param)].append(value)
estimator.update_custom_objects_dict(info_dict)
estimator.update_xml(opt_dict)
pitzer_guess_dict = {'species': []}
for pitzer_param in pitzer_param_list:
pitzer_guess_dict[pitzer_param] = []
lin_guess_dict = {'species': []}
for lin_param in lin_param_list:
lin_guess_dict[lin_param] = []
for species in species_list:
pitzer_guess_dict['species'].append(species)
lin_guess_dict['species'].append(species)
for pitzer_param in pitzer_param_list:
pitzer_str = '{0}_{1}'.format(species, pitzer_param)
value_list = output_dict['{0}_{1}'.format(species, pitzer_param)]
value = value_list[-1]
pitzer_guess_dict[pitzer_param].append(value)
if i > 2:
mini_rel_diff1 = np.abs(value_list[-1]
- value_list[-2]) / (
np.abs(value_list[-2]))
mini_rel_diff2 = np.abs(value_list[-2] - value_list[-3]) / (
np.abs(value_list[-3]))
if mini_rel_diff1 < mini_eps and mini_rel_diff2 < mini_eps:
if pitzer_str not in ignore_list:
ignore_list.append(pitzer_str)
for lin_param in lin_param_list:
lin_str = '{0}_{1}'.format(species, lin_param)
value_list = output_dict['{0}_{1}'.format(species, lin_param)]
value = value_list[-1]
lin_guess_dict[lin_param].append(value)
if i > 2:
mini_rel_diff1 = np.abs(value_list[-1]
- value_list[-2]) / (
np.abs(value_list[-2]))
mini_rel_diff2 = np.abs(value_list[-2] - value_list[-3]) / (
np.abs(value_list[-3]))
if mini_rel_diff1 < mini_eps and mini_rel_diff2 < mini_eps:
if lin_str not in ignore_list:
ignore_list.append(lin_str)
pitzer_guess_df = pd.DataFrame(pitzer_guess_dict)
lin_guess_df = pd.DataFrame(lin_guess_dict)
ext_h0_guess = best_ext_h0
output_dict['best_ext_h0'].append(best_ext_h0)
output_dict['best_obj'].append(best_obj)
output_dict['rel_diff'].append(100)
output_df = pd.DataFrame(output_dict)
old_row = output_df.iloc[-2, :].values[4:]
new_row = output_df.iloc[-1, :].values[4:]
rel_diff = np.sum(np.abs(new_row - old_row) / np.abs(old_row))
del(output_dict['rel_diff'][-1])
output_dict['rel_diff'].append(rel_diff)
output_df = pd.DataFrame(output_dict)
output_df.to_csv('outputs/iterative_fitter_output_multicomponent.csv')
obj_diff1 = output_dict['best_obj'][-2]-output_dict['best_obj'][-1]
if i > 2:
obj_diff2 = output_dict['best_obj'][-3] - output_dict['best_obj'][-1]

View File

@@ -0,0 +1,275 @@
import llepe
import pandas as pd
import numpy as np
import json
import matplotlib.pyplot as plt
import matplotlib
import re
def set_size(w, h, ax=None):
""" w, h: width, height in inches """
if not ax:
ax = plt.gca()
left = ax.figure.subplotpars.left
right = ax.figure.subplotpars.right
top = ax.figure.subplotpars.top
bottom = ax.figure.subplotpars.bottom
fig_width = float(w) / (right - left)
fig_height = float(h) / (top - bottom)
ax.figure.set_size_inches(fig_width, fig_height)
font = {'family': 'sans serif',
'size': 24}
matplotlib.rc('font', **font)
matplotlib.rc('xtick', labelsize=18)
matplotlib.rc('ytick', labelsize=18)
matplotlib.rcParams['lines.linewidth'] = 4
matplotlib.rcParams['lines.markersize'] = 10
def ext_to_complex(h0, custom_obj_dict, mini_species):
linear_params = custom_obj_dict['lin_param_df']
row = linear_params[linear_params['species'] == mini_species]
return row['slope'].values[0] * h0[0] + row['intercept'].values[0]
def mod_lin_param_df(lp_df, input_val, mini_species, mini_lin_param):
new_lp_df = lp_df.copy()
index = new_lp_df.index[new_lp_df['species'] == mini_species].tolist()[0]
new_lp_df.at[index, mini_lin_param] = input_val
return new_lp_df
info_df = pd.read_csv('outputs/iterative_fitter_output4.csv')
test_row = -1
pitzer_params_filename = "../../data/jsons/min_h0_pitzer_params.txt"
with open(pitzer_params_filename) as file:
pitzer_params_dict = json.load(file)
pitzer_params_df = pd.DataFrame(pitzer_params_dict)
species_list = 'Nd,Pr,Ce,La,Dy,Sm,Y'.split(',')
pitzer_param_list = ['beta0', 'beta1']
labeled_data = pd.read_csv("../../data/csvs/"
"PC88A_HCL_NdPrCeLaDySmY.csv")
labeled_data = labeled_data.sort_values(['Feed Pr[M]', 'Feed Ce[M]'],
ascending=True)
exp_data = labeled_data.drop(labeled_data.columns[0], axis=1)
xml_file = "PC88A_HCL_NdPrCeLaDySmY_w_pitzer.xml"
lin_param_df = pd.read_csv("../../data/csvs"
"/zeroes_removed_min_h0_pitzer_lin_params.csv")
estimator_params = {'exp_data': exp_data,
'phases_xml_filename': xml_file,
'phase_names': ['HCl_electrolyte', 'PC88A_liquid'],
'aq_solvent_name': 'H2O(L)',
'extractant_name': '(HA)2(org)',
'diluant_name': 'dodecane',
'complex_names': ['{0}(H(A)2)3(org)'.format(species)
for species in species_list],
'extracted_species_ion_names': ['{0}+++'.format(species)
for species in
species_list],
'aq_solvent_rho': 1000.0,
'extractant_rho': 960.0,
'diluant_rho': 750.0,
'temp_xml_file_path': 'outputs/temp.xml',
'objective_function': llepe.lmse_perturbed_obj
}
dependant_params_dict = {}
for species, complex_name in zip(species_list,
estimator_params['complex_names']):
inner_dict = {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': complex_name,
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'function': ext_to_complex,
'kwargs': {"mini_species": species},
'independent_params': '(HA)2(org)_h0'}
dependant_params_dict['{0}_h0'.format(complex_name)] = inner_dict
info_dict = {'(HA)2(org)_h0': {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': '(HA)2(org)',
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'input_value':
info_df.iloc[test_row, :]['best_ext_h0']}}
for species in species_list:
for pitzer_param in pitzer_param_list:
pitzer_str = "{0}_{1}".format(species, pitzer_param)
value = info_df.iloc[test_row, :][pitzer_str]
pitzer_params_dict[pitzer_str]['input_value'] = value
lin_str = "{0}_slope".format(species)
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': 'slope'},
'input_value': 3
}
info_dict[lin_str] = inner_dict
lin_str = "{0}_intercept".format(species)
value = info_df.iloc[test_row, :][lin_str]
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': 'intercept'},
'input_value': value
}
info_dict[lin_str] = inner_dict
info_dict.update(pitzer_params_dict)
estimator = llepe.LLEPE(**estimator_params)
estimator.set_custom_objects_dict({'lin_param_df': lin_param_df})
estimator.update_custom_objects_dict(info_dict)
estimator.update_xml(info_dict,
dependant_params_dict=dependant_params_dict)
compared_value = 'La_org_eq'
plot_title = None
legend = True
predicted_dict = estimator.get_predicted_dict()
exp_df = estimator.get_exp_df()
pred = pd.DataFrame(predicted_dict)[compared_value].fillna(0).values
meas = exp_df[compared_value].fillna(0).values
name_breakdown = re.findall('[^_\W]+', compared_value)
compared_species = name_breakdown[0]
data_labels = list(labeled_data['label'])
if compared_species == 'h':
feed_molarity = exp_df['h_i'].fillna(0).values
elif compared_species == 'z':
feed_molarity = exp_df['z_i'].fillna(0).values
else:
feed_molarity = exp_df[
'{0}_aq_i'.format(compared_species)].fillna(0).values
combined_df = pd.DataFrame({'pred': pred,
'meas': meas,
'label': data_labels,
'feed_molarity': feed_molarity})
combined_df = combined_df[(combined_df['feed_molarity'] != 0)]
meas = combined_df['meas'].values
pred = combined_df['pred'].values
min_data = np.min([pred, meas])
max_data = np.max([pred, meas])
min_max_data = np.array([min_data, max_data])
if compared_species == 'h':
default_title = '$H^+$ eq. conc. (mol/L)'
elif compared_species == 'z':
default_title = '{0} eq. conc. (mol/L)'.format(extractant_name)
else:
phase = name_breakdown[1]
if phase == 'aq':
extracted_species_charge = extracted_species_charges[
extracted_species_list.index(
compared_species)]
default_title = '$%s^{%d+}$ eq. conc. (mol/L)' \
% (compared_species, extracted_species_charge)
elif phase == 'd':
default_title = '{0} distribution ratio'.format(
compared_species)
else:
default_title = '{0} complex eq. conc. (mol/L)'.format(
compared_species)
fig, ax = plt.subplots(figsize=(8, 6))
if isinstance(data_labels, list):
# unique_labels = list(set(data_labels))
unique_labels = ['Li (1987)',
'Kim (2012)',
'Formiga (2016)',
'Banda (2014)',
]
color_list = ['r', 'g', 'b', 'm']
marker_list = ['o', 's', 'P', 'X', ]
for ind, label in enumerate(unique_labels):
filtered_data = combined_df[combined_df['label'] == label]
filtered_meas = filtered_data['meas']
filtered_pred = filtered_data['pred']
if len(filtered_pred) != 0:
ax.scatter(filtered_meas,
filtered_pred,
label=label,
color=color_list[ind],
marker=marker_list[ind])
if legend:
ax.legend(loc=4)
ax.plot(min_max_data, min_max_data, color="b", label="")
ax.text(min_max_data[0],
min_max_data[1] * 0.9,
'$R^2$={0:.2f}'.format(estimator.r_squared(compared_value)))
ax.set(xlabel='Measured', ylabel='Predicted')
if plot_title is None:
ax.set_title(default_title)
set_size(8, 6)
plt.tight_layout()
plt.show()
# exp_data = estimator.get_exp_df()
# feed_cols = []
# for col in exp_data.columns:
# if 'aq_i' in col:
# feed_cols.append(col)
# exp_data['total_re'] = exp_data[feed_cols].sum(axis=1)
# label_list = []
# for index, row in exp_data[feed_cols].iterrows():
# bool_list = list((row > 0).values)
# label = ''
# for species, el in zip(species_list, bool_list):
# if el:
# label = '{0}-{1}'.format(label, species)
# label = label[1:]
# label_list.append(label)
# r2s = ""
# for species in species_list:
# # if species=='La':
# # save_name = 'outputs' \
# # '/parity_iterative_fitter_{0}_org_eq'.format(species)
# save_name = None
# fig, ax = estimator.parity_plot('{0}_org_eq'.format(species),
# c_data=
# exp_data['total_re'].values,
# c_label='Feed total RE '
# 'molarity (mol/L)',
# print_r_squared=False,
# plot_title='')
# ax.plot([0, 0.05], [0, 0.05], c='b')
# ax.text(0.01, 0.04,
# '$R^2$={0:.2f}'.format(estimator.r_squared(
# '{0}_org_eq'.format(species))))
# ax.set_xlim((0, 0.05))
# ax.set_ylim((0, 0.05))
# r2s += str(estimator.r_squared('{0}_org_eq'.format(species))) + ','
#
# # fig, ax = estimator.parity_plot('{0}_org_eq'.format(species),
# # data_labels=list(labeled_data['label']),
# # print_r_squared=True,
# # save_path=save_name)
# # ax.legend(loc=4)
# pred_df = pd.DataFrame(estimator.get_predicted_dict())
# new_cols = []
# for col in pred_df.columns:
# new_cols.append("pred_{0}".format(col))
# pred_df.columns = new_cols
# new_cols = ['label',
# 'h_i',
# 'h_eq',
# 'z_i',
# 'z_eq'
# ]
# for species in species_list:
# new_cols.append("{0}_aq_i".format(species))
# new_cols.append("{0}_aq_eq".format(species))
# new_cols.append("{0}_d_eq".format(species))
# labeled_data.columns = new_cols
# total_df = labeled_data.join(pred_df)
# total_df.to_csv('if_mse_total_df.csv')
# short_info_dict = {}
# for key, value in info_dict.items():
# short_info_dict[key] = value['input_value']
# with open("outputs/iterative_fitter_short_info_dict.txt", 'w') as file:
# json.dump(short_info_dict, file)

View File

@@ -0,0 +1,51 @@
import matplotlib.pyplot as plt
import pandas as pd
go = 'y'
parameters = 'slope,intercept,beta0,beta1'.split(',')
# while go == 'y':
# go = input('continue? ')
# if go != 'y':
# break
# plt.close('all')
df = pd.read_csv('outputs/iterative_fitter_output4.csv')
info_cols = {parameter: [] for parameter in parameters}
for col in df.columns:
for parameter in parameters:
if parameter in col:
info_cols[parameter].append(col)
for parameter in parameters:
mini_df = df[info_cols[parameter]]
fig, ax = plt.subplots()
ax.set_title(parameter)
for col in info_cols[parameter]:
ax.plot(df['iter'].values[1:],
df[col].values[1:],
label=col,
linestyle='-',
marker='o')
ax.set_xlabel('iteration')
ax.set_ylabel('Value')
plt.legend()
plt.tight_layout()
plt.savefig('outputs/{0}.png'.format(parameter))
fig, ax = plt.subplots()
ax.set_title('best_obj_value')
ax.plot(df['iter'].values[1:],
df['best_obj'].values[1:],
linestyle='-',
marker='o')
ax.set_xlabel('iteration')
ax.set_ylabel('Value')
plt.tight_layout()
plt.savefig('outputs/best_obj.png')
fig, ax = plt.subplots()
ax.set_title('rel_diff')
ax.plot(df['iter'].values[1:],
df['rel_diff'].values[1:],
linestyle='-',
marker='o')
ax.set_xlabel('iteration')
ax.set_ylabel('Value')
plt.tight_layout()
# plt.savefig('outputs/rel_diff.png')

View File

@@ -0,0 +1,274 @@
import llepe
import pandas as pd
import numpy as np
import json
def mod_lin_param_df(lp_df, input_val, mini_species, mini_lin_param):
new_lp_df = lp_df.copy()
index = new_lp_df.index[new_lp_df['species'] == mini_species].tolist()[0]
new_lp_df.at[index, mini_lin_param] = input_val
return new_lp_df
def ext_to_complex(h0, custom_obj_dict, mini_species):
linear_params = custom_obj_dict['lin_param_df']
mini_row = linear_params[linear_params['species'] == mini_species]
val = mini_row['slope'].values[0] * h0[0] + mini_row['intercept'].values[0]
return val
species_list = 'Nd,Pr,Ce,La,Dy,Sm,Y'.split(',')
pitzer_param_list = ['beta0', 'beta1']
lin_param_list = ['intercept']
short_info_filename = 'outputs/iterative_fitter_short_info_dict.txt'
with open(short_info_filename) as file:
short_info_dict = json.load(file)
labeled_data = pd.read_csv("../../data/csvs/"
"zeroes_removed_PC88A_HCL_NdPrCeLaDySmY.csv")
exp_data = labeled_data.drop(labeled_data.columns[0], axis=1)
xml_file = "PC88A_HCL_NdPrCeLaDySmY_w_pitzer.xml"
lin_param_df = pd.read_csv("../../data/csvs"
"/zeroes_removed_min_h0_pitzer_lin_params.csv")
new_lin_param_df = lin_param_df.copy()
for ind, row in lin_param_df.iterrows():
new_lin_param_df.at[ind, 'slope'] = 3
species = row['species']
val = short_info_dict['{0}_intercept'.format(species)]
new_lin_param_df.at[ind, 'intercept'] = val
estimator_params = {'exp_data': exp_data,
'phases_xml_filename': xml_file,
'phase_names': ['HCl_electrolyte', 'PC88A_liquid'],
'aq_solvent_name': 'H2O(L)',
'extractant_name': '(HA)2(org)',
'diluant_name': 'dodecane',
'complex_names': ['{0}(H(A)2)3(org)'.format(species)
for species in species_list],
'extracted_species_ion_names': ['{0}+++'.format(species)
for species in
species_list],
'aq_solvent_rho': 1000.0,
'extractant_rho': 960.0,
'diluant_rho': 750.0,
'temp_xml_file_path': 'outputs/temp1.xml',
'objective_function': llepe.mean_squared_error,
'custom_objects_dict': {'lin_param_df': new_lin_param_df}
}
dependant_params_dict = {}
for species, complex_name in zip(species_list,
estimator_params['complex_names']):
inner_dict = {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': complex_name,
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'function': ext_to_complex,
'kwargs': {"mini_species": species},
'independent_params': '(HA)2(org)_h0',
}
dependant_params_dict['{0}_h0'.format(complex_name)] = inner_dict
info_dict = {'(HA)2(org)_h0': {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': '(HA)2(org)',
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'input_value':
short_info_dict['(HA)2(org)_h0']}}
for species in species_list:
for param in pitzer_param_list:
name = "{0}_{1}".format(species, param)
inner_dict = {'upper_element_name': 'binarySaltParameters',
'upper_attrib_name': 'cation',
'upper_attrib_value': '{0}+++'.format(species),
'lower_element_name': param,
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': ' {0}, 0.0, 0.0, 0.0, 0.0 ',
'input_value':
short_info_dict[name]}
info_dict[name] = inner_dict
for param in lin_param_list:
name = "{0}_{1}".format(species, param)
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': param},
'input_value': short_info_dict[name]
}
estimator = llepe.LLEPE(**estimator_params)
estimator.update_xml(info_dict,
dependant_params_dict=dependant_params_dict)
estimator.set_dependant_params_dict(dependant_params_dict)
eps = 1e-20
mini_eps = 1e-4
pitzer_guess_dict = {'species': [],
'beta0': [],
'beta1': []}
for species in species_list:
pitzer_guess_dict['species'].append(species)
for param in pitzer_param_list:
mini_dict = info_dict['{0}_{1}'.format(species, param)]
value = mini_dict['input_value']
pitzer_guess_dict[param].append(value)
pitzer_guess_df = pd.DataFrame(pitzer_guess_dict)
ext_h0_guess = info_dict['(HA)2(org)_h0']['input_value']
lin_guess_df = new_lin_param_df.copy()
ignore_list = []
optimizer = 'scipy_minimize'
output_dict = {'iter': [0],
'best_obj': [1e20],
'rel_diff': [1e20],
'best_ext_h0': [1e20]}
for species in species_list:
for lin_param in lin_param_list:
output_dict['{0}_{1}'.format(species, lin_param)] = [1e20]
for pitzer_param in pitzer_param_list:
output_dict['{0}_{1}'.format(species, pitzer_param)] = [1e20]
i = 0
rel_diff = 1000
obj_diff1 = 1000
obj_diff2 = 1000
while obj_diff1 > eps or obj_diff2 > eps:
i += 1
print(i)
best_obj = 1e20
best_ext_h0 = 0
output_dict['iter'].append(i)
for species in species_list:
print(species)
lower_species = species.lower()
info_dict = {'(HA)2(org)_h0': {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': '(HA)2(org)',
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'input_value': ext_h0_guess}}
for pitzer_param in pitzer_param_list:
if '{0}_{1}'.format(species, pitzer_param) not in ignore_list:
pitzer_row = pitzer_guess_df[
pitzer_guess_df['species'] == species]
inner_dict = {'upper_element_name': 'binarySaltParameters',
'upper_attrib_name': 'cation',
'upper_attrib_value':
'{0}+++'.format(species),
'lower_element_name': pitzer_param,
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': ' {0}, 0.0, 0.0, 0.0, 0.0 ',
'input_value':
pitzer_row[pitzer_param].values[0]
}
info_dict['{0}_{1}'.format(
species, pitzer_param)] = inner_dict
for lin_param in lin_param_list:
if '{0}_{1}'.format(species, lin_param) not in ignore_list:
lin_row = lin_guess_df[lin_guess_df['species'] == species]
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': lin_param},
'input_value': lin_row[lin_param].values[0]
}
info_dict['{0}_{1}'.format(
species, lin_param)] = inner_dict
estimator.set_opt_dict(info_dict)
estimator.update_custom_objects_dict(info_dict)
estimator.update_xml(info_dict)
obj_kwargs = {'species_list': species_list}
bounds = [(1e-1, 1e1)] * len(info_dict)
optimizer_kwargs = {"method": 'l-bfgs-b',
"bounds": bounds}
opt_dict, obj_value = estimator.fit(
objective_kwargs=obj_kwargs,
optimizer_kwargs=optimizer_kwargs)
if obj_value < best_obj:
best_obj = obj_value
best_ext_h0 = opt_dict['(HA)2(org)_h0']['input_value']
for lin_param in lin_param_list:
if '{0}_{1}'.format(species, lin_param) not in ignore_list:
mini_dict = opt_dict['{0}_{1}'.format(species, lin_param)]
value = mini_dict['input_value']
output_dict['{0}_{1}'.format(species, lin_param)].append(value)
else:
value = output_dict['{0}_{1}'.format(species, lin_param)][-1]
output_dict['{0}_{1}'.format(species, lin_param)].append(value)
for pitzer_param in pitzer_param_list:
if '{0}_{1}'.format(species, pitzer_param) not in ignore_list:
mini_dict = opt_dict['{0}_{1}'.format(species, pitzer_param)]
value = mini_dict['input_value']
output_dict['{0}_{1}'.format(
species, pitzer_param)].append(value)
else:
value = output_dict['{0}_{1}'.format(
species, pitzer_param)][-1]
output_dict['{0}_{1}'.format(
species, pitzer_param)].append(value)
estimator.update_custom_objects_dict(info_dict)
estimator.update_xml(opt_dict)
pitzer_guess_dict = {'species': []}
for pitzer_param in pitzer_param_list:
pitzer_guess_dict[pitzer_param] = []
lin_guess_dict = {'species': []}
for lin_param in lin_param_list:
lin_guess_dict[lin_param] = []
for species in species_list:
pitzer_guess_dict['species'].append(species)
lin_guess_dict['species'].append(species)
for pitzer_param in pitzer_param_list:
pitzer_str = '{0}_{1}'.format(species, pitzer_param)
value_list = output_dict['{0}_{1}'.format(species, pitzer_param)]
value = value_list[-1]
pitzer_guess_dict[pitzer_param].append(value)
if i > 2:
mini_rel_diff1 = np.abs(value_list[-1]
- value_list[-2]) / (
np.abs(value_list[-2]))
mini_rel_diff2 = np.abs(value_list[-2] - value_list[-3]) / (
np.abs(value_list[-3]))
if mini_rel_diff1 < mini_eps and mini_rel_diff2 < mini_eps:
if pitzer_str not in ignore_list:
ignore_list.append(pitzer_str)
for lin_param in lin_param_list:
lin_str = '{0}_{1}'.format(species, lin_param)
value_list = output_dict['{0}_{1}'.format(species, lin_param)]
value = value_list[-1]
lin_guess_dict[lin_param].append(value)
if i > 2:
mini_rel_diff1 = np.abs(value_list[-1]
- value_list[-2]) / (
np.abs(value_list[-2]))
mini_rel_diff2 = np.abs(value_list[-2] - value_list[-3]) / (
np.abs(value_list[-3]))
if mini_rel_diff1 < mini_eps and mini_rel_diff2 < mini_eps:
if lin_str not in ignore_list:
ignore_list.append(lin_str)
pitzer_guess_df = pd.DataFrame(pitzer_guess_dict)
lin_guess_df = pd.DataFrame(lin_guess_dict)
ext_h0_guess = best_ext_h0
output_dict['best_ext_h0'].append(best_ext_h0)
output_dict['best_obj'].append(best_obj)
output_dict['rel_diff'].append(100)
output_df = pd.DataFrame(output_dict)
old_row = output_df.iloc[-2, :].values[4:]
new_row = output_df.iloc[-1, :].values[4:]
rel_diff = np.sum(np.abs(new_row - old_row) / np.abs(old_row))
del (output_dict['rel_diff'][-1])
output_dict['rel_diff'].append(rel_diff)
output_df = pd.DataFrame(output_dict)
output_df.to_csv('outputs/iterative_fitter_w_mse_output.csv')
obj_diff1 = np.abs(
output_dict['best_obj'][-1] - output_dict['best_obj'][-2])
if i > 2:
obj_diff2 = np.abs(
output_dict['best_obj'][-1] - output_dict['best_obj'][-3])

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -0,0 +1 @@
{"(HA)2(org)_h0": {"upper_element_name": "species", "upper_attrib_name": "name", "upper_attrib_value": "(HA)2(org)", "lower_element_name": "h0", "lower_attrib_name": null, "lower_attrib_value": null, "input_format": "{0}", "input_value": -1376882.3191117246}, "Nd_slope": {"custom_object_name": "lin_param_df", "function":

View File

@@ -0,0 +1,24 @@
,iter,best_obj,rel_diff,best_ext_h0,Nd_slope,Nd_intercept,Nd_beta0,Nd_beta1,Pr_slope,Pr_intercept,Pr_beta0,Pr_beta1,Ce_slope,Ce_intercept,Ce_beta0,Ce_beta1,La_slope,La_intercept,La_beta0,La_beta1,Dy_slope,Dy_intercept,Dy_beta0,Dy_beta1,Sm_slope,Sm_intercept,Sm_beta0,Sm_beta1,Y_slope,Y_intercept,Y_beta0,Y_beta1
0,0,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20
1,1,0.00016134227249800634,28.000000000000057,-1376877.7655517121,2.997016104344558,-798273.2701355412,0.8974067641732357,9.428749928658126,2.9952636557673946,-812187.4113891785,0.5879108865959323,5.448324456659969,3.000763765252656,-797785.6715641882,0.6005000281672793,4.910000049022438,3.0029250992523053,-797753.1250426786,0.5930012908436624,5.277035454314173,3.005188887840825,-797963.3947393347,0.6129503793970729,5.359935242349485,3.0049141894588356,-788597.673243324,0.5977991609874977,5.278978873136207,3.004211003525449,-808858.5407597149,0.9656358640797775,8.51418935794808
2,2,8.491196928368016e-05,3.753743510814017,-1375785.2564991405,2.9970374674100313,-798274.3744081341,0.8974068120162436,9.42874961145886,2.994978971888568,-812110.2180829814,0.5879107200993189,5.448316407663497,2.9947405016045665,-813706.4008379887,0.45247610268275573,0.4910000049022438,2.9955784444500653,-811485.5788168659,0.9744013695120132,11.536623868407073,3.0051886646689425,-797963.3849246526,0.6129504080166187,5.359935711747232,2.998286291636726,-796410.7377837397,0.6989623741537213,6.874571631031283,2.9980686905189895,-816110.2339357884,0.8864580596701681,9.871827648349246
3,3,8.491196925751041e-05,1.3872557586710772,-1376877.1540548366,2.981636126077384,-815701.8403939944,0.9757586265135513,7.972840020817166,2.9919947944629675,-814690.7699676664,0.6543020425532663,6.401935572967909,2.9912895029379314,-812768.7207378447,0.4524742361735793,0.4909988885665818,2.8816137399778095,-1165713.786906667,0.6673287483674718,11.13954713731451,3.0051888954051678,-797963.3977338726,0.6129504256882,5.359936001703055,2.998286456943957,-796410.7468898736,0.6989623710221783,6.8745716509720465,2.9980701639611307,-816110.3144777927,0.8864580604329536,9.87182766313202
4,4,8.491196864453183e-05,3.124350706237914,-1376877.152537996,3.0030651668677755,-788714.7627699226,0.8876477500590181,7.1795656837403845,2.9492981846969997,-866396.0136278999,0.06543020425532663,14.481702424339913,2.9915899054971504,-812784.8309966518,0.4524742264332296,0.49099888634665106,2.802400719850797,-1217568.8940603866,0.734765523062068,16.501184782487442,3.005188678309654,-797963.3880226224,0.6129504505231561,5.359936408928357,2.9982864229571073,-796410.7471635938,0.6989623610327844,6.874571712665922,2.998069983411216,-816110.5901289525,0.8864580599623918,9.871827432740531
5,5,8.491196857946013e-05,1.1315146871019859,-1376877.1544992805,3.009261826624499,-790493.4807183052,0.8876820541130862,7.180366876068199,2.95493306423167,-941679.8410781198,0.06542242940021062,14.596387046646438,2.9939929242661925,-813370.2300667212,0.4524750816922801,0.49099914533270717,2.7412268066767798,-1181700.5928732348,0.0734765523062068,17.778208795501687,3.0051889032028973,-797963.4006334972,0.6129504699710735,5.359936728023126,2.9982864523758734,-796410.7494542947,0.6989623571542753,6.874571712665922,2.9980699791830183,-816110.5900394547,0.8864580599623918,9.871827432586276
6,6,8.491196857868175e-05,0.8212092953360018,-1376877.1544988493,3.018448578935926,-756591.4774984489,0.8847071856293566,7.127732469249149,2.946746698619443,-914521.2680772808,0.0655303675034554,17.87160024357031,2.9951696006679125,-813508.1242683842,0.45247514275357914,0.4909991719996952,2.8979917114047042,-880424.1009942711,0.07397534024322364,14.445668342341632,3.005188689731846,-797963.3909449822,0.6129504919765936,5.359937088895021,2.998286417872815,-796410.7494542947,0.6989623397580044,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
7,7,8.491196857967895e-05,2.8535135475763593,-1376877.1544988335,2.9803570928818193,-831169.3940393181,2.3855150593783625,0.9943792524787087,2.927591618356134,-906967.4787334907,0.06534292291155007,16.133908724056262,3.0029738570325497,-795932.5448638537,0.4524823795863963,0.4909954629866391,2.9609895390962344,-881255.3332121583,0.07326400481624591,14.648731908806054,3.005188911656549,-797963.4035243823,0.6129505135552498,5.3599374429477535,2.998286452518918,-796410.7494542947,0.6989623360131538,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
8,8,8.491196857967895e-05,0.5074295633771292,-1376877.1544988335,3.046988319365659,-695733.7822299139,2.118879762861775,0.9832916930997248,2.9452585522682813,-902617.5883506279,0.06531634264974066,14.535540289940167,3.001724622774424,-796341.6549504208,0.45078352007925804,0.49034083082370367,2.9722238052604713,-851355.1697072648,0.07317245680858252,14.005551062985573,3.0051886986863527,-797963.3937399577,0.6129505334265856,5.359937768806609,2.998286418340077,-796410.7494542947,0.6989623190362244,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
9,9,8.491196857967895e-05,0.8233569178526139,-1376877.1544988335,2.9825936071777024,-834718.8445277695,2.265417073982851,0.994361984624478,2.960695251829361,-883765.0750479599,0.06535572997952777,14.395940812001363,3.0011755877522677,-797620.9536781705,0.451768694057885,0.4905988771385775,3.01363818781501,-765715.3192727776,0.07374063593564315,19.03231059683384,3.0051889209677576,-797963.4064770396,0.6129505574921508,5.359938163641345,2.998286452651492,-796410.7494542947,0.6989623152735008,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
10,10,8.491196857967895e-05,0.4773109299773383,-1376877.1544988335,3.0188840683355007,-758130.1305298645,2.1690523176501006,0.9984406194127493,2.982890660585592,-840275.2594169229,0.0654841686928967,14.704161508382992,2.997539444125265,-805146.4436967466,0.450156356171543,0.4900762819026168,2.9884659287162063,-823730.0588083962,0.07331458114972399,16.339393531863305,3.0051887064580316,-797963.3965185066,0.6129505756465488,5.359938461354856,2.998286418810594,-796410.7494542947,0.6989622987206754,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
11,11,8.491196857967895e-05,1.3118334901996995,-1376877.1544988335,3.0139001564181234,-777482.0137288059,2.4891695692571334,1.0067452500133052,2.7082813102477377,-1340320.351525344,0.06570193477294409,15.318347397454074,2.9937062166470865,-811848.1861685036,0.3807242781267447,0.4571366236203172,3.0321484162541092,-734038.497344836,0.07278743339509186,15.771531203484976,3.0051889316605727,-797963.4095808832,0.6129506027939315,5.359938906721338,2.9982864527868296,-796410.7494542947,0.6989622949357988,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
12,12,8.491196857967895e-05,0.6176079935219678,-1376877.1544988335,2.9991637169323253,-799348.0533050542,2.0606574395422745,0.9999146041973166,2.645965929040643,-1371545.8507318976,0.06530562967326357,14.087654782739659,2.994388651142047,-812440.2720371439,0.3797153647239341,0.45689994044316656,2.976360040153504,-826947.2829702377,0.0721742508966242,13.950564590026154,3.005188713573002,-797963.3993561977,0.6129506195016742,5.3599391806962355,2.9982864192709067,-796410.7494542947,0.6989622787849055,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
13,13,8.491196857967895e-05,0.447458797489282,-1376877.1544988335,2.9980180983111584,-800782.7580580596,2.384966567099209,1.0089359468087284,2.624593032594632,-1360513.8600727562,0.0652016206426237,13.974111290564698,2.9921196188008023,-811824.6368088808,0.37971475358406565,0.4568995049435289,2.9835754249798847,-836109.188415324,0.07001616810133855,16.854824585869906,3.0051889446809152,-797963.4129476986,0.6129506507011362,5.359939692544431,2.998286452925373,-796410.7494542947,0.6989622749758465,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
14,14,8.491196857967895e-05,0.348360677031186,-1376877.1544988335,2.9982081321172895,-800795.2294772209,2.384966526824247,1.0089359542883563,2.666975566695788,-1499994.1414862953,0.06545352162164432,15.242130244485235,2.9921792830474856,-811827.830457512,0.3797147346864944,0.45689949537118524,3.0165968899178837,-760698.0568963296,0.06972550438458386,17.353271986524845,3.005188720514459,-797963.4023398461,0.6129506661375982,5.359939945648347,2.9982864196902987,-796410.7494542947,0.6989622591872565,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
15,15,8.491196857967895e-05,0.8542573291619304,-1376877.1544988335,2.998712505758874,-802387.4877053623,1.5206330649921567,0.9981622444785841,2.713156877040639,-1478192.0473444732,0.06274057809944926,13.092934019657042,2.994891728361129,-812682.5967323158,0.38018937518269785,0.4567780326119338,3.03009818160027,-757243.0989114699,0.0690109050871497,13.154321394861364,3.005188961745495,-797963.4167757028,0.6129507031227088,5.359940552366342,2.9982864530536806,-796410.7494542947,0.6989622553597238,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
16,16,8.491196857967895e-05,0.9448120605121391,-1376877.1544988335,2.997515876288025,-800762.0931049074,2.371926193409047,1.0392028818516033,2.529014996778218,-1394593.2488741723,0.06362240882017806,15.72054555069271,2.992321826257504,-811985.236014034,0.380188573336472,0.45677745562445643,3.0311603879490625,-757395.5635541482,0.06901090642373163,13.15434949309279,3.0051887279351726,-797963.4056092768,0.6129507173831404,5.359940786171395,2.9982864200995016,-796410.7494542947,0.6989622399197148,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
17,17,8.491196857967895e-05,0.06986866489189483,-1376877.1544988335,2.998185517350526,-800940.9851411111,2.3719292648415435,1.0392030732451656,2.572480079015409,-1398076.7310485386,0.06363412395715484,14.965559296480045,2.9916507242807455,-811803.1343536598,0.3801884696593834,0.4567773926702631,3.029587351548093,-757002.5991619993,0.06901085836588974,13.153841661748762,3.00518898709267,-797963.4214979863,0.6129507639240588,5.359941549628348,2.9982864531810547,-796410.7494542947,0.6989622360690536,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
18,18,8.491196857967895e-05,7.537649140057278,-1376877.1544988335,2.9139186135307895,-903717.07595184,1.1713250218349551,7.8961519078936995,2.551409491193631,-1396607.749248508,0.06364635989520172,15.028103657774764,2.992358699183809,-811883.3497541018,0.38014823465953007,0.45676064010613937,3.0225440094645197,-757527.3282072913,0.06907140877109968,16.557914647062493,3.0051887374402306,-797963.4094522469,0.6129507769959467,5.3599417639476465,2.9982864204802095,-796410.7494542947,0.6989622209402793,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
19,19,8.491196857967895e-05,0.3395564898628593,-1376877.1544988335,2.9206876794423295,-906067.0736166579,1.171453185504549,7.897253707676486,2.542473620212442,-1395291.4660299404,0.06365232727832787,15.064625151652315,2.9913152280569513,-811600.2380135104,0.3801480833041433,0.45676053922619353,3.00948706713011,-770684.9871133575,0.06894408512873036,21.578016654838063,3.0051890362364753,-797963.4285937521,0.6129508452597554,5.359942883786607,2.998286453304157,-796410.7494542947,0.6989622170705244,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
20,20,8.491196857967895e-05,0.27887232716945426,-1376877.1544988335,2.932945093248787,-893472.3867422906,1.2372118357462467,8.367708345062676,2.5681008604924935,-1424501.3718411059,0.06389293355566235,16.006743784511794,2.9915688192964494,-811676.8964187511,0.38001482584768576,0.4566967822701942,2.9966407511121345,-795742.7223232647,0.06891628915899889,21.364797187402115,3.005188756433512,-797963.4149199789,0.6129508568428819,5.359943073668666,2.9982864208411075,-796410.7494542947,0.6989622022429722,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
21,21,8.491196857967895e-05,0.07904486462976254,-1376877.1544988335,2.9192941732704183,-899595.6903217547,1.2289167121597353,8.270591970104478,2.5885541497990276,-1425201.6370605633,0.06406357430240948,16.055658203899945,2.991141414262,-812827.4608356728,0.3798926190405488,0.45663532315631505,2.993009643896257,-802640.8358981846,0.06886889954042703,20.88499046197079,3.0051892653467993,-797963.4540443348,0.6129510889764764,5.359946881486811,2.9982864534278213,-796410.7494542947,0.6989621983540872,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
22,22,8.491196857967895e-05,2.8078518871500875,-1376877.1544988335,2.5130533352916404,-1308478.271342789,2.3685619028157476,1.0600650778914467,2.532808888931495,-1416725.967204896,0.06411203767956787,15.094184412115302,2.990867139013824,-812773.0935418691,0.3798925911718346,0.456635306115862,2.99518346032217,-803786.8612650471,0.06825025926005274,14.294244836372703,3.0051888907116417,-797963.4353105845,0.6129510969272831,5.359947011739686,2.9982864212214833,-796410.7494542947,0.6989621838326963,6.874571712665922,2.9980699785721763,-816110.5900320362,0.8864580599623918,9.871827432559574
1 iter best_obj rel_diff best_ext_h0 Nd_slope Nd_intercept Nd_beta0 Nd_beta1 Pr_slope Pr_intercept Pr_beta0 Pr_beta1 Ce_slope Ce_intercept Ce_beta0 Ce_beta1 La_slope La_intercept La_beta0 La_beta1 Dy_slope Dy_intercept Dy_beta0 Dy_beta1 Sm_slope Sm_intercept Sm_beta0 Sm_beta1 Y_slope Y_intercept Y_beta0 Y_beta1
2 0 0 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20
3 1 1 0.00016134227249800634 28.000000000000057 -1376877.7655517121 2.997016104344558 -798273.2701355412 0.8974067641732357 9.428749928658126 2.9952636557673946 -812187.4113891785 0.5879108865959323 5.448324456659969 3.000763765252656 -797785.6715641882 0.6005000281672793 4.910000049022438 3.0029250992523053 -797753.1250426786 0.5930012908436624 5.277035454314173 3.005188887840825 -797963.3947393347 0.6129503793970729 5.359935242349485 3.0049141894588356 -788597.673243324 0.5977991609874977 5.278978873136207 3.004211003525449 -808858.5407597149 0.9656358640797775 8.51418935794808
4 2 2 8.491196928368016e-05 3.753743510814017 -1375785.2564991405 2.9970374674100313 -798274.3744081341 0.8974068120162436 9.42874961145886 2.994978971888568 -812110.2180829814 0.5879107200993189 5.448316407663497 2.9947405016045665 -813706.4008379887 0.45247610268275573 0.4910000049022438 2.9955784444500653 -811485.5788168659 0.9744013695120132 11.536623868407073 3.0051886646689425 -797963.3849246526 0.6129504080166187 5.359935711747232 2.998286291636726 -796410.7377837397 0.6989623741537213 6.874571631031283 2.9980686905189895 -816110.2339357884 0.8864580596701681 9.871827648349246
5 3 3 8.491196925751041e-05 1.3872557586710772 -1376877.1540548366 2.981636126077384 -815701.8403939944 0.9757586265135513 7.972840020817166 2.9919947944629675 -814690.7699676664 0.6543020425532663 6.401935572967909 2.9912895029379314 -812768.7207378447 0.4524742361735793 0.4909988885665818 2.8816137399778095 -1165713.786906667 0.6673287483674718 11.13954713731451 3.0051888954051678 -797963.3977338726 0.6129504256882 5.359936001703055 2.998286456943957 -796410.7468898736 0.6989623710221783 6.8745716509720465 2.9980701639611307 -816110.3144777927 0.8864580604329536 9.87182766313202
6 4 4 8.491196864453183e-05 3.124350706237914 -1376877.152537996 3.0030651668677755 -788714.7627699226 0.8876477500590181 7.1795656837403845 2.9492981846969997 -866396.0136278999 0.06543020425532663 14.481702424339913 2.9915899054971504 -812784.8309966518 0.4524742264332296 0.49099888634665106 2.802400719850797 -1217568.8940603866 0.734765523062068 16.501184782487442 3.005188678309654 -797963.3880226224 0.6129504505231561 5.359936408928357 2.9982864229571073 -796410.7471635938 0.6989623610327844 6.874571712665922 2.998069983411216 -816110.5901289525 0.8864580599623918 9.871827432740531
7 5 5 8.491196857946013e-05 1.1315146871019859 -1376877.1544992805 3.009261826624499 -790493.4807183052 0.8876820541130862 7.180366876068199 2.95493306423167 -941679.8410781198 0.06542242940021062 14.596387046646438 2.9939929242661925 -813370.2300667212 0.4524750816922801 0.49099914533270717 2.7412268066767798 -1181700.5928732348 0.0734765523062068 17.778208795501687 3.0051889032028973 -797963.4006334972 0.6129504699710735 5.359936728023126 2.9982864523758734 -796410.7494542947 0.6989623571542753 6.874571712665922 2.9980699791830183 -816110.5900394547 0.8864580599623918 9.871827432586276
8 6 6 8.491196857868175e-05 0.8212092953360018 -1376877.1544988493 3.018448578935926 -756591.4774984489 0.8847071856293566 7.127732469249149 2.946746698619443 -914521.2680772808 0.0655303675034554 17.87160024357031 2.9951696006679125 -813508.1242683842 0.45247514275357914 0.4909991719996952 2.8979917114047042 -880424.1009942711 0.07397534024322364 14.445668342341632 3.005188689731846 -797963.3909449822 0.6129504919765936 5.359937088895021 2.998286417872815 -796410.7494542947 0.6989623397580044 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
9 7 7 8.491196857967895e-05 2.8535135475763593 -1376877.1544988335 2.9803570928818193 -831169.3940393181 2.3855150593783625 0.9943792524787087 2.927591618356134 -906967.4787334907 0.06534292291155007 16.133908724056262 3.0029738570325497 -795932.5448638537 0.4524823795863963 0.4909954629866391 2.9609895390962344 -881255.3332121583 0.07326400481624591 14.648731908806054 3.005188911656549 -797963.4035243823 0.6129505135552498 5.3599374429477535 2.998286452518918 -796410.7494542947 0.6989623360131538 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
10 8 8 8.491196857967895e-05 0.5074295633771292 -1376877.1544988335 3.046988319365659 -695733.7822299139 2.118879762861775 0.9832916930997248 2.9452585522682813 -902617.5883506279 0.06531634264974066 14.535540289940167 3.001724622774424 -796341.6549504208 0.45078352007925804 0.49034083082370367 2.9722238052604713 -851355.1697072648 0.07317245680858252 14.005551062985573 3.0051886986863527 -797963.3937399577 0.6129505334265856 5.359937768806609 2.998286418340077 -796410.7494542947 0.6989623190362244 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
11 9 9 8.491196857967895e-05 0.8233569178526139 -1376877.1544988335 2.9825936071777024 -834718.8445277695 2.265417073982851 0.994361984624478 2.960695251829361 -883765.0750479599 0.06535572997952777 14.395940812001363 3.0011755877522677 -797620.9536781705 0.451768694057885 0.4905988771385775 3.01363818781501 -765715.3192727776 0.07374063593564315 19.03231059683384 3.0051889209677576 -797963.4064770396 0.6129505574921508 5.359938163641345 2.998286452651492 -796410.7494542947 0.6989623152735008 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
12 10 10 8.491196857967895e-05 0.4773109299773383 -1376877.1544988335 3.0188840683355007 -758130.1305298645 2.1690523176501006 0.9984406194127493 2.982890660585592 -840275.2594169229 0.0654841686928967 14.704161508382992 2.997539444125265 -805146.4436967466 0.450156356171543 0.4900762819026168 2.9884659287162063 -823730.0588083962 0.07331458114972399 16.339393531863305 3.0051887064580316 -797963.3965185066 0.6129505756465488 5.359938461354856 2.998286418810594 -796410.7494542947 0.6989622987206754 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
13 11 11 8.491196857967895e-05 1.3118334901996995 -1376877.1544988335 3.0139001564181234 -777482.0137288059 2.4891695692571334 1.0067452500133052 2.7082813102477377 -1340320.351525344 0.06570193477294409 15.318347397454074 2.9937062166470865 -811848.1861685036 0.3807242781267447 0.4571366236203172 3.0321484162541092 -734038.497344836 0.07278743339509186 15.771531203484976 3.0051889316605727 -797963.4095808832 0.6129506027939315 5.359938906721338 2.9982864527868296 -796410.7494542947 0.6989622949357988 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
14 12 12 8.491196857967895e-05 0.6176079935219678 -1376877.1544988335 2.9991637169323253 -799348.0533050542 2.0606574395422745 0.9999146041973166 2.645965929040643 -1371545.8507318976 0.06530562967326357 14.087654782739659 2.994388651142047 -812440.2720371439 0.3797153647239341 0.45689994044316656 2.976360040153504 -826947.2829702377 0.0721742508966242 13.950564590026154 3.005188713573002 -797963.3993561977 0.6129506195016742 5.3599391806962355 2.9982864192709067 -796410.7494542947 0.6989622787849055 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
15 13 13 8.491196857967895e-05 0.447458797489282 -1376877.1544988335 2.9980180983111584 -800782.7580580596 2.384966567099209 1.0089359468087284 2.624593032594632 -1360513.8600727562 0.0652016206426237 13.974111290564698 2.9921196188008023 -811824.6368088808 0.37971475358406565 0.4568995049435289 2.9835754249798847 -836109.188415324 0.07001616810133855 16.854824585869906 3.0051889446809152 -797963.4129476986 0.6129506507011362 5.359939692544431 2.998286452925373 -796410.7494542947 0.6989622749758465 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
16 14 14 8.491196857967895e-05 0.348360677031186 -1376877.1544988335 2.9982081321172895 -800795.2294772209 2.384966526824247 1.0089359542883563 2.666975566695788 -1499994.1414862953 0.06545352162164432 15.242130244485235 2.9921792830474856 -811827.830457512 0.3797147346864944 0.45689949537118524 3.0165968899178837 -760698.0568963296 0.06972550438458386 17.353271986524845 3.005188720514459 -797963.4023398461 0.6129506661375982 5.359939945648347 2.9982864196902987 -796410.7494542947 0.6989622591872565 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
17 15 15 8.491196857967895e-05 0.8542573291619304 -1376877.1544988335 2.998712505758874 -802387.4877053623 1.5206330649921567 0.9981622444785841 2.713156877040639 -1478192.0473444732 0.06274057809944926 13.092934019657042 2.994891728361129 -812682.5967323158 0.38018937518269785 0.4567780326119338 3.03009818160027 -757243.0989114699 0.0690109050871497 13.154321394861364 3.005188961745495 -797963.4167757028 0.6129507031227088 5.359940552366342 2.9982864530536806 -796410.7494542947 0.6989622553597238 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
18 16 16 8.491196857967895e-05 0.9448120605121391 -1376877.1544988335 2.997515876288025 -800762.0931049074 2.371926193409047 1.0392028818516033 2.529014996778218 -1394593.2488741723 0.06362240882017806 15.72054555069271 2.992321826257504 -811985.236014034 0.380188573336472 0.45677745562445643 3.0311603879490625 -757395.5635541482 0.06901090642373163 13.15434949309279 3.0051887279351726 -797963.4056092768 0.6129507173831404 5.359940786171395 2.9982864200995016 -796410.7494542947 0.6989622399197148 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
19 17 17 8.491196857967895e-05 0.06986866489189483 -1376877.1544988335 2.998185517350526 -800940.9851411111 2.3719292648415435 1.0392030732451656 2.572480079015409 -1398076.7310485386 0.06363412395715484 14.965559296480045 2.9916507242807455 -811803.1343536598 0.3801884696593834 0.4567773926702631 3.029587351548093 -757002.5991619993 0.06901085836588974 13.153841661748762 3.00518898709267 -797963.4214979863 0.6129507639240588 5.359941549628348 2.9982864531810547 -796410.7494542947 0.6989622360690536 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
20 18 18 8.491196857967895e-05 7.537649140057278 -1376877.1544988335 2.9139186135307895 -903717.07595184 1.1713250218349551 7.8961519078936995 2.551409491193631 -1396607.749248508 0.06364635989520172 15.028103657774764 2.992358699183809 -811883.3497541018 0.38014823465953007 0.45676064010613937 3.0225440094645197 -757527.3282072913 0.06907140877109968 16.557914647062493 3.0051887374402306 -797963.4094522469 0.6129507769959467 5.3599417639476465 2.9982864204802095 -796410.7494542947 0.6989622209402793 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
21 19 19 8.491196857967895e-05 0.3395564898628593 -1376877.1544988335 2.9206876794423295 -906067.0736166579 1.171453185504549 7.897253707676486 2.542473620212442 -1395291.4660299404 0.06365232727832787 15.064625151652315 2.9913152280569513 -811600.2380135104 0.3801480833041433 0.45676053922619353 3.00948706713011 -770684.9871133575 0.06894408512873036 21.578016654838063 3.0051890362364753 -797963.4285937521 0.6129508452597554 5.359942883786607 2.998286453304157 -796410.7494542947 0.6989622170705244 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
22 20 20 8.491196857967895e-05 0.27887232716945426 -1376877.1544988335 2.932945093248787 -893472.3867422906 1.2372118357462467 8.367708345062676 2.5681008604924935 -1424501.3718411059 0.06389293355566235 16.006743784511794 2.9915688192964494 -811676.8964187511 0.38001482584768576 0.4566967822701942 2.9966407511121345 -795742.7223232647 0.06891628915899889 21.364797187402115 3.005188756433512 -797963.4149199789 0.6129508568428819 5.359943073668666 2.9982864208411075 -796410.7494542947 0.6989622022429722 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
23 21 21 8.491196857967895e-05 0.07904486462976254 -1376877.1544988335 2.9192941732704183 -899595.6903217547 1.2289167121597353 8.270591970104478 2.5885541497990276 -1425201.6370605633 0.06406357430240948 16.055658203899945 2.991141414262 -812827.4608356728 0.3798926190405488 0.45663532315631505 2.993009643896257 -802640.8358981846 0.06886889954042703 20.88499046197079 3.0051892653467993 -797963.4540443348 0.6129510889764764 5.359946881486811 2.9982864534278213 -796410.7494542947 0.6989621983540872 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574
24 22 22 8.491196857967895e-05 2.8078518871500875 -1376877.1544988335 2.5130533352916404 -1308478.271342789 2.3685619028157476 1.0600650778914467 2.532808888931495 -1416725.967204896 0.06411203767956787 15.094184412115302 2.990867139013824 -812773.0935418691 0.3798925911718346 0.456635306115862 2.99518346032217 -803786.8612650471 0.06825025926005274 14.294244836372703 3.0051888907116417 -797963.4353105845 0.6129510969272831 5.359947011739686 2.9982864212214833 -796410.7494542947 0.6989621838326963 6.874571712665922 2.9980699785721763 -816110.5900320362 0.8864580599623918 9.871827432559574

View File

@@ -0,0 +1,8 @@
,iter,best_obj,rel_diff,best_ext_h0,Nd_intercept,Nd_beta0,Nd_beta1,Pr_intercept,Pr_beta0,Pr_beta1,Ce_intercept,Ce_beta0,Ce_beta1,La_intercept,La_beta0,La_beta1,Dy_intercept,Dy_beta0,Dy_beta1,Sm_intercept,Sm_beta0,Sm_beta1,Y_intercept,Y_beta0,Y_beta1
0,0,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20
1,1,0.00016129407933554554,21.000000000000057,-1376877.152986458,-796238.0142870437,1.437426638616483,5.347609621840506,-807393.2082028955,0.05879108393945309,0.5448323469435737,-793502.5397317475,1.584075553189004,9.71291104987633,-804144.2085745687,0.9975450638457432,0.5276999248444548,-801913.2126520091,0.7646409184903517,7.849312986255907,-795363.8004519838,0.5978071372268503,5.279164697561237,-814653.355406187,0.9657649833215246,8.515799878446009
2,2,0.00010559366199558426,2.7344663371161086,-1376882.3191580868,-796384.0556926059,1.437428165636144,5.347617052258618,-808095.4393259468,0.05879108550298423,0.5448323732068848,-789522.5091359932,0.20352352259320314,21.12029634455721,-803938.2604268632,1.0223150014212676,0.5296310756363933,-801912.5225008891,0.7646405127343534,7.849315503928965,-794049.2354743823,0.6989186480410126,6.87781841947533,-814193.8647533458,0.8852782052211031,9.334631175295913
3,3,0.00010559208431248382,0.871670386095456,-1376882.3191106108,-795019.7041121587,1.0623904260280357,8.59415748006841,-808447.2602100212,0.05879108748614492,0.5448324180244323,-790036.1207336787,0.20352355232601096,21.120499613123066,-803280.4365906577,1.0223156310422086,0.5296310565325039,-801913.2141124238,0.7646397332938777,7.849320590516409,-794050.473416772,0.6989082446227728,6.877882156513195,-814192.7894051562,0.8852798138822874,9.334648695392262
4,4,0.00010559049315627479,0.07015128064420798,-1376882.3191117246,-794658.0175977976,1.1251830517616783,8.514892100389922,-807677.5423918352,0.05879108748614492,0.5448324180244323,-789888.8933961166,0.20352350532323682,21.120426174002823,-803102.8847466783,1.022316535866388,0.5296311209773129,-801913.2141124238,0.7646397332938777,7.849320590516409,-794049.2325867265,0.698908158523472,6.877882600430561,-814193.8242471424,0.8852802073165494,9.334653075341238
5,5,0.00010559143289274391,0.1697956144703469,-1376882.3191117246,-794987.0313159251,1.2137224368583803,7.748229523847203,-807547.2398569525,0.05879108748614492,0.5448324180244323,-789724.873364379,0.20352350532323682,21.120426174002823,-802873.2925607098,1.022316535866388,0.5296311209773129,-801913.2141124238,0.7646397332938777,7.849320590516409,-794049.2325867265,0.698908158523472,6.877882600430561,-814193.8242471424,0.8852802073165494,9.334653075341238
6,6,0.00010559143289274391,0.0002104590846558891,-1376882.3191117246,-794919.3525195834,1.2137222016802447,7.748226963005033,-807602.8883771595,0.05879108748614492,0.5448324180244323,-789740.8658638338,0.20352350532323682,21.120426174002823,-802901.9082448303,1.022316535866388,0.5296311209773129,-801913.2141124238,0.7646397332938777,7.849320590516409,-794049.2325867265,0.698908158523472,6.877882600430561,-814193.8242471424,0.8852802073165494,9.334653075341238
1 iter best_obj rel_diff best_ext_h0 Nd_intercept Nd_beta0 Nd_beta1 Pr_intercept Pr_beta0 Pr_beta1 Ce_intercept Ce_beta0 Ce_beta1 La_intercept La_beta0 La_beta1 Dy_intercept Dy_beta0 Dy_beta1 Sm_intercept Sm_beta0 Sm_beta1 Y_intercept Y_beta0 Y_beta1
2 0 0 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20
3 1 1 0.00016129407933554554 21.000000000000057 -1376877.152986458 -796238.0142870437 1.437426638616483 5.347609621840506 -807393.2082028955 0.05879108393945309 0.5448323469435737 -793502.5397317475 1.584075553189004 9.71291104987633 -804144.2085745687 0.9975450638457432 0.5276999248444548 -801913.2126520091 0.7646409184903517 7.849312986255907 -795363.8004519838 0.5978071372268503 5.279164697561237 -814653.355406187 0.9657649833215246 8.515799878446009
4 2 2 0.00010559366199558426 2.7344663371161086 -1376882.3191580868 -796384.0556926059 1.437428165636144 5.347617052258618 -808095.4393259468 0.05879108550298423 0.5448323732068848 -789522.5091359932 0.20352352259320314 21.12029634455721 -803938.2604268632 1.0223150014212676 0.5296310756363933 -801912.5225008891 0.7646405127343534 7.849315503928965 -794049.2354743823 0.6989186480410126 6.87781841947533 -814193.8647533458 0.8852782052211031 9.334631175295913
5 3 3 0.00010559208431248382 0.871670386095456 -1376882.3191106108 -795019.7041121587 1.0623904260280357 8.59415748006841 -808447.2602100212 0.05879108748614492 0.5448324180244323 -790036.1207336787 0.20352355232601096 21.120499613123066 -803280.4365906577 1.0223156310422086 0.5296310565325039 -801913.2141124238 0.7646397332938777 7.849320590516409 -794050.473416772 0.6989082446227728 6.877882156513195 -814192.7894051562 0.8852798138822874 9.334648695392262
6 4 4 0.00010559049315627479 0.07015128064420798 -1376882.3191117246 -794658.0175977976 1.1251830517616783 8.514892100389922 -807677.5423918352 0.05879108748614492 0.5448324180244323 -789888.8933961166 0.20352350532323682 21.120426174002823 -803102.8847466783 1.022316535866388 0.5296311209773129 -801913.2141124238 0.7646397332938777 7.849320590516409 -794049.2325867265 0.698908158523472 6.877882600430561 -814193.8242471424 0.8852802073165494 9.334653075341238
7 5 5 0.00010559143289274391 0.1697956144703469 -1376882.3191117246 -794987.0313159251 1.2137224368583803 7.748229523847203 -807547.2398569525 0.05879108748614492 0.5448324180244323 -789724.873364379 0.20352350532323682 21.120426174002823 -802873.2925607098 1.022316535866388 0.5296311209773129 -801913.2141124238 0.7646397332938777 7.849320590516409 -794049.2325867265 0.698908158523472 6.877882600430561 -814193.8242471424 0.8852802073165494 9.334653075341238
8 6 6 0.00010559143289274391 0.0002104590846558891 -1376882.3191117246 -794919.3525195834 1.2137222016802447 7.748226963005033 -807602.8883771595 0.05879108748614492 0.5448324180244323 -789740.8658638338 0.20352350532323682 21.120426174002823 -802901.9082448303 1.022316535866388 0.5296311209773129 -801913.2141124238 0.7646397332938777 7.849320590516409 -794049.2325867265 0.698908158523472 6.877882600430561 -814193.8242471424 0.8852802073165494 9.334653075341238

View File

@@ -0,0 +1,13 @@
,iter,best_obj,rel_diff,best_ext_h0,Nd_intercept,Nd_beta0,Nd_beta1,Pr_intercept,Pr_beta0,Pr_beta1,Ce_intercept,Ce_beta0,Ce_beta1,La_intercept,La_beta0,La_beta1,Dy_intercept,Dy_beta0,Dy_beta1,Sm_intercept,Sm_beta0,Sm_beta1,Y_intercept,Y_beta0,Y_beta1
0,0,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20
1,1,0.033647778113830525,21.000000000000057,-1376877.1491014853,-796630.7472372957,0.7459820315595859,7.683962525237933,-808126.331804689,0.05879108393945308,0.5448323469435739,-798601.759258479,0.6005010041816041,4.910031852331482,-802384.4792986697,0.5930046452497859,5.277120552778203,-805107.4528195162,0.6129648575972374,5.360202430370018,-795364.2081485003,0.5978078971541942,5.279174082617606,-814654.8936071004,0.9657036817294907,8.515030539951253
2,2,0.011371891310485667,1.7809885286134581,-1377917.5261387695,-796507.2063621008,1.282838759795358,6.902804792440243,-808735.3933837808,0.05879108229837919,0.5448322898792433,-798307.3201515124,0.6005010298214011,4.910022284826427,-801912.301008032,0.5930045609171245,5.277127676968026,-801913.8255634321,0.7646294828913005,7.848342595191327,-795363.041378655,0.5978084651250514,5.279183026035014,-813457.4899543246,0.8866269789489127,9.867663759220948
3,3,0.008641080472189547,0.7095542768622557,-1377917.5261387695,-796048.7760914894,1.0825298224626023,6.211283570154922,-807884.6838503737,0.05879107717406858,0.5448320238819658,-799326.8310861788,0.6005020116531858,4.91004437191519,-801737.4462156398,0.5930048961782302,5.277144735292778,-801426.9157177466,0.5532849580804902,9.206773080251143,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
4,4,0.0077116880626842774,0.001045483581763083,-1377917.5261387695,-796123.8048527003,1.082532056501894,6.21126666931227,-807682.864923159,0.05879107717406858,0.5448320238819658,-798906.4762851987,0.6005020116531858,4.91004437191519,-801602.4497529072,0.5930048961782302,5.277144735292778,-801426.3864333024,0.5532852226657412,9.206784416704208,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
5,5,0.007654988377412918,0.0004889223754199215,-1377917.5269444608,-795978.009332054,1.0825315776813356,6.211262701179254,-807775.0879128327,0.05879107717406858,0.5448320238819658,-798839.9836325685,0.6005020116531858,4.91004437191519,-801517.285745487,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
6,6,0.007610209179550956,0.0003179015187814805,-1377917.5269997541,-795889.1188724772,1.0825315776813356,6.211262701179254,-807684.2192836072,0.05879107717406858,0.5448320238819658,-798798.9084175534,0.6005020116531858,4.91004437191519,-801483.3687901833,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
7,7,0.007598843960371909,0.00011070832700715566,-1377917.5269100612,-795897.0467890751,1.0825315776813356,6.211262701179254,-807644.9779835651,0.05879107717406858,0.5448320238819658,-798798.9084175534,0.6005020116531858,4.91004437191519,-801441.5615806901,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
8,8,0.007598581095870595,3.145446182414225e-05,-1377917.5269485628,-795872.4794372824,1.0825315776813356,6.211262701179254,-807644.5039264921,0.05879107717406858,0.5448320238819658,-798798.9084175534,0.6005020116531858,4.91004437191519,-801441.5615806901,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
9,9,0.0075985812451889985,0.0,-1377917.5269485628,-795872.4794372824,1.0825315776813356,6.211262701179254,-807644.5039264921,0.05879107717406858,0.5448320238819658,-798798.9084175534,0.6005020116531858,4.91004437191519,-801441.5615806901,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
10,10,0.0075985812451889985,0.0,-1377917.5269485628,-795872.4794372824,1.0825315776813356,6.211262701179254,-807644.5039264921,0.05879107717406858,0.5448320238819658,-798798.9084175534,0.6005020116531858,4.91004437191519,-801441.5615806901,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
11,11,0.0075985812451889985,0.0,-1377917.5269485628,-795872.4794372824,1.0825315776813356,6.211262701179254,-807644.5039264921,0.05879107717406858,0.5448320238819658,-798798.9084175534,0.6005020116531858,4.91004437191519,-801441.5615806901,0.5930048961782302,5.277144735292778,-801426.9000381464,0.5532852863195881,9.206787175138803,-795364.1985261647,0.5978087860273482,5.279188095059933,-813457.4899543246,0.8866269789489127,9.867663759220948
1 iter best_obj rel_diff best_ext_h0 Nd_intercept Nd_beta0 Nd_beta1 Pr_intercept Pr_beta0 Pr_beta1 Ce_intercept Ce_beta0 Ce_beta1 La_intercept La_beta0 La_beta1 Dy_intercept Dy_beta0 Dy_beta1 Sm_intercept Sm_beta0 Sm_beta1 Y_intercept Y_beta0 Y_beta1
2 0 0 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20
3 1 1 0.033647778113830525 21.000000000000057 -1376877.1491014853 -796630.7472372957 0.7459820315595859 7.683962525237933 -808126.331804689 0.05879108393945308 0.5448323469435739 -798601.759258479 0.6005010041816041 4.910031852331482 -802384.4792986697 0.5930046452497859 5.277120552778203 -805107.4528195162 0.6129648575972374 5.360202430370018 -795364.2081485003 0.5978078971541942 5.279174082617606 -814654.8936071004 0.9657036817294907 8.515030539951253
4 2 2 0.011371891310485667 1.7809885286134581 -1377917.5261387695 -796507.2063621008 1.282838759795358 6.902804792440243 -808735.3933837808 0.05879108229837919 0.5448322898792433 -798307.3201515124 0.6005010298214011 4.910022284826427 -801912.301008032 0.5930045609171245 5.277127676968026 -801913.8255634321 0.7646294828913005 7.848342595191327 -795363.041378655 0.5978084651250514 5.279183026035014 -813457.4899543246 0.8866269789489127 9.867663759220948
5 3 3 0.008641080472189547 0.7095542768622557 -1377917.5261387695 -796048.7760914894 1.0825298224626023 6.211283570154922 -807884.6838503737 0.05879107717406858 0.5448320238819658 -799326.8310861788 0.6005020116531858 4.91004437191519 -801737.4462156398 0.5930048961782302 5.277144735292778 -801426.9157177466 0.5532849580804902 9.206773080251143 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
6 4 4 0.0077116880626842774 0.001045483581763083 -1377917.5261387695 -796123.8048527003 1.082532056501894 6.21126666931227 -807682.864923159 0.05879107717406858 0.5448320238819658 -798906.4762851987 0.6005020116531858 4.91004437191519 -801602.4497529072 0.5930048961782302 5.277144735292778 -801426.3864333024 0.5532852226657412 9.206784416704208 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
7 5 5 0.007654988377412918 0.0004889223754199215 -1377917.5269444608 -795978.009332054 1.0825315776813356 6.211262701179254 -807775.0879128327 0.05879107717406858 0.5448320238819658 -798839.9836325685 0.6005020116531858 4.91004437191519 -801517.285745487 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
8 6 6 0.007610209179550956 0.0003179015187814805 -1377917.5269997541 -795889.1188724772 1.0825315776813356 6.211262701179254 -807684.2192836072 0.05879107717406858 0.5448320238819658 -798798.9084175534 0.6005020116531858 4.91004437191519 -801483.3687901833 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
9 7 7 0.007598843960371909 0.00011070832700715566 -1377917.5269100612 -795897.0467890751 1.0825315776813356 6.211262701179254 -807644.9779835651 0.05879107717406858 0.5448320238819658 -798798.9084175534 0.6005020116531858 4.91004437191519 -801441.5615806901 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
10 8 8 0.007598581095870595 3.145446182414225e-05 -1377917.5269485628 -795872.4794372824 1.0825315776813356 6.211262701179254 -807644.5039264921 0.05879107717406858 0.5448320238819658 -798798.9084175534 0.6005020116531858 4.91004437191519 -801441.5615806901 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
11 9 9 0.0075985812451889985 0.0 -1377917.5269485628 -795872.4794372824 1.0825315776813356 6.211262701179254 -807644.5039264921 0.05879107717406858 0.5448320238819658 -798798.9084175534 0.6005020116531858 4.91004437191519 -801441.5615806901 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
12 10 10 0.0075985812451889985 0.0 -1377917.5269485628 -795872.4794372824 1.0825315776813356 6.211262701179254 -807644.5039264921 0.05879107717406858 0.5448320238819658 -798798.9084175534 0.6005020116531858 4.91004437191519 -801441.5615806901 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948
13 11 11 0.0075985812451889985 0.0 -1377917.5269485628 -795872.4794372824 1.0825315776813356 6.211262701179254 -807644.5039264921 0.05879107717406858 0.5448320238819658 -798798.9084175534 0.6005020116531858 4.91004437191519 -801441.5615806901 0.5930048961782302 5.277144735292778 -801426.9000381464 0.5532852863195881 9.206787175138803 -795364.1985261647 0.5978087860273482 5.279188095059933 -813457.4899543246 0.8866269789489127 9.867663759220948

View File

@@ -0,0 +1 @@
{"(HA)2(org)_h0": -1376882.3191117246, "Nd_slope": 3, "Nd_intercept": -794919.3525195834, "Pr_slope": 3, "Pr_intercept": -807602.8883771595, "Ce_slope": 3, "Ce_intercept": -789740.8658638337, "La_slope": 3, "La_intercept": -802901.9082448303, "Dy_slope": 3, "Dy_intercept": -801913.2141124237, "Sm_slope": 3, "Sm_intercept": -794049.2325867265, "Y_slope": 3, "Y_intercept": -814193.8242471423, "Ce_beta0": 0.2035235053232368, "Ce_beta1": 21.120426174002823, "Ce_Cphi": -0.02618999999473301, "Dy_beta0": 0.7646397332938777, "Dy_beta1": 7.849320590516409, "Dy_Cphi": -0.019699989216349984, "La_beta0": 1.022316535866388, "La_beta1": 0.5296311209773129, "La_Cphi": -0.024339999997603376, "Nd_beta0": 1.2137222016802447, "Nd_beta1": 7.748226963005033, "Nd_Cphi": -0.01963615126026457, "Pr_beta0": 0.05879108748614492, "Pr_beta1": 0.5448324180244323, "Pr_Cphi": -0.02066999867229882, "Sm_beta0": 0.6989081585234721, "Sm_beta1": 6.877882600430561, "Sm_Cphi": -0.019920000110321332, "Y_beta0": 0.8852802073165494, "Y_beta1": 9.334653075341238, "Y_Cphi": -0.015467323909969704}

View File

@@ -0,0 +1,10 @@
,iter,best_obj,rel_diff,best_ext_h0,Nd_intercept,Nd_beta0,Nd_beta1,Pr_intercept,Pr_beta0,Pr_beta1,Ce_intercept,Ce_beta0,Ce_beta1,La_intercept,La_beta0,La_beta1,Dy_intercept,Dy_beta0,Dy_beta1,Sm_intercept,Sm_beta0,Sm_beta1,Y_intercept,Y_beta0,Y_beta1
0,0,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20
1,1,7.243881311122883e-06,21.000000000000057,-1376882.0784583509,-793959.2365328791,1.213718406400912,7.748153622541222,-805092.317983506,0.05879109101834264,0.5448322349963308,-789740.8658638337,0.2035235053232368,21.120426174002823,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794033.3277785552,0.6989082242196476,6.877882016105836,-814036.0292108656,0.8852797060008407,9.334636294454038
2,2,5.235683016217101e-06,5.0826146693579895e-05,-1376882.0784583509,-793959.2365328791,1.213718406400912,7.748153622541222,-805061.9201482645,0.05879109126451901,0.5448322298014207,-789740.8658638337,0.2035235053232368,21.120426174002823,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
3,3,5.234379962639123e-06,0.0004431912247434154,-1376882.0784583509,-793651.8526619686,1.213717095858249,7.748129467548838,-805038.8843481757,0.058791091500561485,0.5448322248125199,-789722.8075867157,0.20352350320923904,21.120419048363047,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
4,4,1.0136650760054431e-05,3.4483260160044286e-05,-1376882.0786722435,-793679.2203652804,1.213717095858249,7.748129467548838,-805038.8843481757,0.058791091500561485,0.5448322248125199,-789722.8075867157,0.20352350320923904,21.120419048363047,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
5,5,1.0461762551892658e-05,1.3733029030223567e-05,-1376882.079002063,-793690.1199850544,1.213717095858249,7.748129467548838,-805038.8843481757,0.058791091500561485,0.5448322248125199,-789722.8075867157,0.20352350320923904,21.120419048363047,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
6,6,1.0461847595183674e-05,0.0,-1376882.079002063,-793690.1199850544,1.213717095858249,7.748129467548838,-805038.8843481757,0.058791091500561485,0.5448322248125199,-789722.8075867157,0.20352350320923904,21.120419048363047,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
7,7,1.0568726787700163e-05,0.0,-1376882.079002063,-793690.1199850544,1.213717095858249,7.748129467548838,-805038.8843481757,0.058791091500561485,0.5448322248125199,-789722.8075867157,0.20352350320923904,21.120419048363047,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
8,8,1.1654800306565983e-05,0.0,-1376882.079002063,-793690.1199850544,1.213717095858249,7.748129467548838,-805038.8843481757,0.058791091500561485,0.5448322248125199,-789722.8075867157,0.20352350320923904,21.120419048363047,-797993.3842652582,1.0223168335791357,0.5296306654103653,-801345.4872245657,0.7646372240575223,7.849276225207628,-794023.0863911208,0.6989083059080712,6.877881736471866,-814036.0292108656,0.8852797060008407,9.334636294454038
1 iter best_obj rel_diff best_ext_h0 Nd_intercept Nd_beta0 Nd_beta1 Pr_intercept Pr_beta0 Pr_beta1 Ce_intercept Ce_beta0 Ce_beta1 La_intercept La_beta0 La_beta1 Dy_intercept Dy_beta0 Dy_beta1 Sm_intercept Sm_beta0 Sm_beta1 Y_intercept Y_beta0 Y_beta1
2 0 0 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20
3 1 1 7.243881311122883e-06 21.000000000000057 -1376882.0784583509 -793959.2365328791 1.213718406400912 7.748153622541222 -805092.317983506 0.05879109101834264 0.5448322349963308 -789740.8658638337 0.2035235053232368 21.120426174002823 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794033.3277785552 0.6989082242196476 6.877882016105836 -814036.0292108656 0.8852797060008407 9.334636294454038
4 2 2 5.235683016217101e-06 5.0826146693579895e-05 -1376882.0784583509 -793959.2365328791 1.213718406400912 7.748153622541222 -805061.9201482645 0.05879109126451901 0.5448322298014207 -789740.8658638337 0.2035235053232368 21.120426174002823 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038
5 3 3 5.234379962639123e-06 0.0004431912247434154 -1376882.0784583509 -793651.8526619686 1.213717095858249 7.748129467548838 -805038.8843481757 0.058791091500561485 0.5448322248125199 -789722.8075867157 0.20352350320923904 21.120419048363047 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038
6 4 4 1.0136650760054431e-05 3.4483260160044286e-05 -1376882.0786722435 -793679.2203652804 1.213717095858249 7.748129467548838 -805038.8843481757 0.058791091500561485 0.5448322248125199 -789722.8075867157 0.20352350320923904 21.120419048363047 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038
7 5 5 1.0461762551892658e-05 1.3733029030223567e-05 -1376882.079002063 -793690.1199850544 1.213717095858249 7.748129467548838 -805038.8843481757 0.058791091500561485 0.5448322248125199 -789722.8075867157 0.20352350320923904 21.120419048363047 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038
8 6 6 1.0461847595183674e-05 0.0 -1376882.079002063 -793690.1199850544 1.213717095858249 7.748129467548838 -805038.8843481757 0.058791091500561485 0.5448322248125199 -789722.8075867157 0.20352350320923904 21.120419048363047 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038
9 7 7 1.0568726787700163e-05 0.0 -1376882.079002063 -793690.1199850544 1.213717095858249 7.748129467548838 -805038.8843481757 0.058791091500561485 0.5448322248125199 -789722.8075867157 0.20352350320923904 21.120419048363047 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038
10 8 8 1.1654800306565983e-05 0.0 -1376882.079002063 -793690.1199850544 1.213717095858249 7.748129467548838 -805038.8843481757 0.058791091500561485 0.5448322248125199 -789722.8075867157 0.20352350320923904 21.120419048363047 -797993.3842652582 1.0223168335791357 0.5296306654103653 -801345.4872245657 0.7646372240575223 7.849276225207628 -794023.0863911208 0.6989083059080712 6.877881736471866 -814036.0292108656 0.8852797060008407 9.334636294454038

View File

@@ -0,0 +1,27 @@
,iter,best_obj,rel_diff,best_ext_h0,Nd_intercept,Nd_beta0,Nd_beta1,Pr_intercept,Pr_beta0,Pr_beta1,Ce_intercept,Ce_beta0,Ce_beta1,La_intercept,La_beta0,La_beta1,Dy_intercept,Dy_beta0,Dy_beta1,Sm_intercept,Sm_beta0,Sm_beta1,Y_intercept,Y_beta0,Y_beta1
0,0,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20,1e+20
1,1,0.03589758768077916,21.000000000000057,-1376877.1578525545,-796630.7472372957,0.7459820315595859,7.683962525237933,-804949.676541606,0.5878722433097117,5.446965040891874,-799671.8535977869,0.5683138771769763,4.330159786749355,-798281.080974753,0.05929999713109059,14.235546390790574,-805107.4528322341,0.6129648560200409,5.360202416896411,-795364.2084167162,0.5978078969216549,5.279174081605432,-814654.8936058494,0.9657036817607582,8.515030540098573
2,2,0.020523566039320422,2.5585440673715034,-1377356.1260593878,-797059.9776562914,0.7459837782866834,7.683963804574712,-807474.5742908432,0.412119358146579,0.5446965040891875,-798541.1385153377,0.5683086183011624,4.3301017748512365,-793826.8317553926,0.059179052561110786,19.77323694076803,-801913.8726103224,0.7646416177518945,7.84824568473698,-795363.0419325187,0.59780846432948,5.279183016139414,-813457.2158804197,0.8866130626375315,9.867928019371377
3,3,0.019477920445525317,7.677982352652354,-1375588.6756908477,-793163.8973856996,0.3209195035432397,13.123168416291694,-808683.1537883538,0.412118699519776,0.5446960424554511,-790111.3963314675,0.05683086183011624,23.89686703927439,-791050.7992598361,0.05905360634622211,29.84340866533762,-801427.30300279,0.5534942813794564,9.205560588460095,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
4,4,0.010207128776218969,0.42455280980920035,-1375610.9624283572,-794262.8311628923,0.3216915257810643,13.804909552933434,-808435.0647171926,0.41211840588454257,0.5446957279361009,-790207.5472086382,0.056830829357604154,23.89689998523618,-795480.9739022574,0.05878743947127101,19.151367921508545,-801426.8680903579,0.5534944284911872,9.205566903683641,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
5,5,0.014641607256599173,1.6866445651799755,-1375538.6750637838,-798938.0765541978,0.3566318051278,2.900470205622694,-805875.0643270919,0.41211840588454257,0.5446957279361009,-793436.7925485797,0.056742997228693914,13.80172079259027,-796954.8557059788,0.05868227362010503,12.498956039602165,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
6,6,0.009364477922161399,0.5171670324839205,-1375506.0331521921,-798500.5981007863,0.35663166857868867,2.9004640415749985,-807020.2949058269,0.41211840588454257,0.5446957279361009,-793926.4769803158,0.056743019042837614,13.801790803325336,-794407.3237807738,0.059071074021005275,18.80781812800432,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
7,7,0.008587420254580813,1.059528868598552,-1375505.5181543154,-798685.9967218107,0.35663172954569944,2.900465970474833,-807454.2257048099,0.41211840588454257,0.5446957279361009,-789725.2952172983,0.05719014118011185,22.726516278088134,-791396.077682103,0.05903562942413778,26.228646183949166,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
8,8,0.010436904878903537,0.29420985511692826,-1375548.1106216116,-799519.3918074799,0.35663172954569944,2.900465970474833,-808023.7799223613,0.41211840588454257,0.5446957279361009,-786951.389362888,0.05708292450340597,28.34019679365209,-791002.4212304557,0.05887049745806909,27.19304858223857,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
9,9,0.008122441324296938,0.5056025050774561,-1375532.8964810933,-799252.2437781714,0.35663172954569944,2.900465970474833,-807837.3724848758,0.41211840588454257,0.5446957279361009,-790021.4446221002,0.05689505465396167,23.449630511144804,-795447.5533695783,0.058631276343575414,18.611038118056705,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
10,10,0.012928748169505148,0.8333232355853131,-1375557.2637008368,-798461.2222513977,0.35663172954569944,2.900465970474833,-806951.4949354676,0.41211840588454257,0.5446957279361009,-795969.4556880995,0.056793906518569214,11.277961619380736,-797714.8073241808,0.05842557708316379,13.092573662989777,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
11,11,0.007800190819962697,0.36349221067564863,-1375530.569913902,-798291.6222911178,0.35663172954569944,2.900465970474833,-806824.7532982712,0.41211840588454257,0.5446957279361009,-795638.7226937105,0.0567939201459683,11.27792734701911,-795125.0133593426,0.058611088348722154,17.75722543814867,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
12,12,0.00921314263132423,1.6582390417163946,-1375352.6611008795,-799018.4755125245,0.35663172954569944,2.900465970474833,-807547.1998794067,0.41211840588454257,0.5446957279361009,-789593.3324594139,0.057780238237745564,22.7526002647588,-790289.6353698338,0.05869157014173162,28.5282029237168,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
13,13,0.0164949043385192,0.5442127617504667,-1375330.196734157,-799860.8096262615,0.35663172954569944,2.900465970474833,-808560.5669803121,0.41211840588454257,0.5446957279361009,-784843.309147467,0.05766909907971607,32.27291103838875,-788888.7517598639,0.058542471191840494,31.701224910845188,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
14,14,0.010623495713475158,0.602757119120526,-1375351.9855972743,-799632.2232496517,0.35663172954569944,2.900465970474833,-808321.7283717714,0.41211840588454257,0.5446957279361009,-788451.2944893743,0.057453027762948625,26.992114973264634,-795921.9019280333,0.058276332684925714,18.490011381032488,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
15,15,0.020076787588486848,1.0484920101715856,-1375285.2763873788,-798333.4293311803,0.35663172954569944,2.900465970474833,-806908.9647236438,0.41211840588454257,0.5446957279361009,-799190.3142882502,0.05726405467005661,2.6992114973264636,-795227.311995532,0.05860570542646566,16.240039078247854,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
16,16,0.007946994350521493,0.0013058079059853106,-1375281.5761035422,-798434.7113981954,0.35663172954569944,2.900465970474833,-806825.5999826461,0.41211840588454257,0.5446957279361009,-799709.74809272,0.05726405662551625,2.6992166442291183,-795558.7828092766,0.05860569942350758,16.24014965075902,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
17,17,0.00786340427833731,0.06642675860532837,-1375281.5757328654,-798645.9616186575,0.35663172954569944,2.900465970474833,-807277.1206417971,0.41211840588454257,0.5446957279361009,-799564.0986061025,0.05726405599313575,2.6992201079308553,-795074.773177479,0.058327655804418455,17.215637464507253,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
18,18,0.007639301074559701,0.03358010063393503,-1375274.53927792,-798757.6626722564,0.35663172954569944,2.900465970474833,-807442.731414953,0.41211840588454257,0.5446957279361009,-799932.191263451,0.05726405599313575,2.6992201079308553,-795454.173437478,0.05797530586210222,16.76361227782182,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
19,19,0.007567810584575274,0.00032734971823157984,-1375274.5400305095,-798776.6132373732,0.35663172954569944,2.900465970474833,-807407.5175994666,0.41211840588454257,0.5446957279361009,-799839.5141766575,0.05726405599313575,2.6992201079308553,-795567.5444104999,0.05797527817732809,16.763631654115574,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
20,20,0.007559522636647893,0.0003284988853867459,-1375274.539920735,-798878.7031945293,0.35663172954569944,2.900465970474833,-807474.2323978223,0.41211840588454257,0.5446957279361009,-799918.231712956,0.05726405599313575,2.6992201079308553,-795552.3072518674,0.05797526981415537,16.763625801929546,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
21,21,0.007557017666936972,0.00011741201128258779,-1375274.5398505423,-798875.2254308723,0.35663172954569944,2.900465970474833,-807474.2323978223,0.41211840588454257,0.5446957279361009,-799969.9761753903,0.05726405599313575,2.6992201079308553,-795590.7893224553,0.05797526981415537,16.763625801929546,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
22,22,0.007557912174965889,4.953375811471988e-06,-1375274.5395942358,-798879.1825600903,0.35663172954569944,2.900465970474833,-807474.2323978223,0.41211840588454257,0.5446957279361009,-799969.9761753903,0.05726405599313575,2.6992201079308553,-795590.7893224553,0.05797526981415537,16.763625801929546,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
23,23,0.007557925434292841,0.0,-1375274.5395942358,-798879.1825600903,0.35663172954569944,2.900465970474833,-807474.2323978223,0.41211840588454257,0.5446957279361009,-799969.9761753903,0.05726405599313575,2.6992201079308553,-795590.7893224553,0.05797526981415537,16.763625801929546,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
24,24,0.007557925434292841,0.0,-1375274.5395942358,-798879.1825600903,0.35663172954569944,2.900465970474833,-807474.2323978223,0.41211840588454257,0.5446957279361009,-799969.9761753903,0.05726405599313575,2.6992201079308553,-795590.7893224553,0.05797526981415537,16.763625801929546,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
25,25,0.007557925434292841,0.0,-1375274.5395942358,-798879.1825600903,0.35663172954569944,2.900465970474833,-807474.2323978223,0.41211840588454257,0.5446957279361009,-799969.9761753903,0.05726405599313575,2.6992201079308553,-795590.7893224553,0.05797526981415537,16.763625801929546,-801427.2924061618,0.5534945060571388,9.205570263716002,-795364.198868676,0.5978087854283536,5.279188087719687,-813457.2158804197,0.8866130626375315,9.867928019371377
1 iter best_obj rel_diff best_ext_h0 Nd_intercept Nd_beta0 Nd_beta1 Pr_intercept Pr_beta0 Pr_beta1 Ce_intercept Ce_beta0 Ce_beta1 La_intercept La_beta0 La_beta1 Dy_intercept Dy_beta0 Dy_beta1 Sm_intercept Sm_beta0 Sm_beta1 Y_intercept Y_beta0 Y_beta1
2 0 0 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20 1e+20
3 1 1 0.03589758768077916 21.000000000000057 -1376877.1578525545 -796630.7472372957 0.7459820315595859 7.683962525237933 -804949.676541606 0.5878722433097117 5.446965040891874 -799671.8535977869 0.5683138771769763 4.330159786749355 -798281.080974753 0.05929999713109059 14.235546390790574 -805107.4528322341 0.6129648560200409 5.360202416896411 -795364.2084167162 0.5978078969216549 5.279174081605432 -814654.8936058494 0.9657036817607582 8.515030540098573
4 2 2 0.020523566039320422 2.5585440673715034 -1377356.1260593878 -797059.9776562914 0.7459837782866834 7.683963804574712 -807474.5742908432 0.412119358146579 0.5446965040891875 -798541.1385153377 0.5683086183011624 4.3301017748512365 -793826.8317553926 0.059179052561110786 19.77323694076803 -801913.8726103224 0.7646416177518945 7.84824568473698 -795363.0419325187 0.59780846432948 5.279183016139414 -813457.2158804197 0.8866130626375315 9.867928019371377
5 3 3 0.019477920445525317 7.677982352652354 -1375588.6756908477 -793163.8973856996 0.3209195035432397 13.123168416291694 -808683.1537883538 0.412118699519776 0.5446960424554511 -790111.3963314675 0.05683086183011624 23.89686703927439 -791050.7992598361 0.05905360634622211 29.84340866533762 -801427.30300279 0.5534942813794564 9.205560588460095 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
6 4 4 0.010207128776218969 0.42455280980920035 -1375610.9624283572 -794262.8311628923 0.3216915257810643 13.804909552933434 -808435.0647171926 0.41211840588454257 0.5446957279361009 -790207.5472086382 0.056830829357604154 23.89689998523618 -795480.9739022574 0.05878743947127101 19.151367921508545 -801426.8680903579 0.5534944284911872 9.205566903683641 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
7 5 5 0.014641607256599173 1.6866445651799755 -1375538.6750637838 -798938.0765541978 0.3566318051278 2.900470205622694 -805875.0643270919 0.41211840588454257 0.5446957279361009 -793436.7925485797 0.056742997228693914 13.80172079259027 -796954.8557059788 0.05868227362010503 12.498956039602165 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
8 6 6 0.009364477922161399 0.5171670324839205 -1375506.0331521921 -798500.5981007863 0.35663166857868867 2.9004640415749985 -807020.2949058269 0.41211840588454257 0.5446957279361009 -793926.4769803158 0.056743019042837614 13.801790803325336 -794407.3237807738 0.059071074021005275 18.80781812800432 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
9 7 7 0.008587420254580813 1.059528868598552 -1375505.5181543154 -798685.9967218107 0.35663172954569944 2.900465970474833 -807454.2257048099 0.41211840588454257 0.5446957279361009 -789725.2952172983 0.05719014118011185 22.726516278088134 -791396.077682103 0.05903562942413778 26.228646183949166 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
10 8 8 0.010436904878903537 0.29420985511692826 -1375548.1106216116 -799519.3918074799 0.35663172954569944 2.900465970474833 -808023.7799223613 0.41211840588454257 0.5446957279361009 -786951.389362888 0.05708292450340597 28.34019679365209 -791002.4212304557 0.05887049745806909 27.19304858223857 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
11 9 9 0.008122441324296938 0.5056025050774561 -1375532.8964810933 -799252.2437781714 0.35663172954569944 2.900465970474833 -807837.3724848758 0.41211840588454257 0.5446957279361009 -790021.4446221002 0.05689505465396167 23.449630511144804 -795447.5533695783 0.058631276343575414 18.611038118056705 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
12 10 10 0.012928748169505148 0.8333232355853131 -1375557.2637008368 -798461.2222513977 0.35663172954569944 2.900465970474833 -806951.4949354676 0.41211840588454257 0.5446957279361009 -795969.4556880995 0.056793906518569214 11.277961619380736 -797714.8073241808 0.05842557708316379 13.092573662989777 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
13 11 11 0.007800190819962697 0.36349221067564863 -1375530.569913902 -798291.6222911178 0.35663172954569944 2.900465970474833 -806824.7532982712 0.41211840588454257 0.5446957279361009 -795638.7226937105 0.0567939201459683 11.27792734701911 -795125.0133593426 0.058611088348722154 17.75722543814867 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
14 12 12 0.00921314263132423 1.6582390417163946 -1375352.6611008795 -799018.4755125245 0.35663172954569944 2.900465970474833 -807547.1998794067 0.41211840588454257 0.5446957279361009 -789593.3324594139 0.057780238237745564 22.7526002647588 -790289.6353698338 0.05869157014173162 28.5282029237168 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
15 13 13 0.0164949043385192 0.5442127617504667 -1375330.196734157 -799860.8096262615 0.35663172954569944 2.900465970474833 -808560.5669803121 0.41211840588454257 0.5446957279361009 -784843.309147467 0.05766909907971607 32.27291103838875 -788888.7517598639 0.058542471191840494 31.701224910845188 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
16 14 14 0.010623495713475158 0.602757119120526 -1375351.9855972743 -799632.2232496517 0.35663172954569944 2.900465970474833 -808321.7283717714 0.41211840588454257 0.5446957279361009 -788451.2944893743 0.057453027762948625 26.992114973264634 -795921.9019280333 0.058276332684925714 18.490011381032488 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
17 15 15 0.020076787588486848 1.0484920101715856 -1375285.2763873788 -798333.4293311803 0.35663172954569944 2.900465970474833 -806908.9647236438 0.41211840588454257 0.5446957279361009 -799190.3142882502 0.05726405467005661 2.6992114973264636 -795227.311995532 0.05860570542646566 16.240039078247854 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
18 16 16 0.007946994350521493 0.0013058079059853106 -1375281.5761035422 -798434.7113981954 0.35663172954569944 2.900465970474833 -806825.5999826461 0.41211840588454257 0.5446957279361009 -799709.74809272 0.05726405662551625 2.6992166442291183 -795558.7828092766 0.05860569942350758 16.24014965075902 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
19 17 17 0.00786340427833731 0.06642675860532837 -1375281.5757328654 -798645.9616186575 0.35663172954569944 2.900465970474833 -807277.1206417971 0.41211840588454257 0.5446957279361009 -799564.0986061025 0.05726405599313575 2.6992201079308553 -795074.773177479 0.058327655804418455 17.215637464507253 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
20 18 18 0.007639301074559701 0.03358010063393503 -1375274.53927792 -798757.6626722564 0.35663172954569944 2.900465970474833 -807442.731414953 0.41211840588454257 0.5446957279361009 -799932.191263451 0.05726405599313575 2.6992201079308553 -795454.173437478 0.05797530586210222 16.76361227782182 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
21 19 19 0.007567810584575274 0.00032734971823157984 -1375274.5400305095 -798776.6132373732 0.35663172954569944 2.900465970474833 -807407.5175994666 0.41211840588454257 0.5446957279361009 -799839.5141766575 0.05726405599313575 2.6992201079308553 -795567.5444104999 0.05797527817732809 16.763631654115574 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
22 20 20 0.007559522636647893 0.0003284988853867459 -1375274.539920735 -798878.7031945293 0.35663172954569944 2.900465970474833 -807474.2323978223 0.41211840588454257 0.5446957279361009 -799918.231712956 0.05726405599313575 2.6992201079308553 -795552.3072518674 0.05797526981415537 16.763625801929546 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
23 21 21 0.007557017666936972 0.00011741201128258779 -1375274.5398505423 -798875.2254308723 0.35663172954569944 2.900465970474833 -807474.2323978223 0.41211840588454257 0.5446957279361009 -799969.9761753903 0.05726405599313575 2.6992201079308553 -795590.7893224553 0.05797526981415537 16.763625801929546 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
24 22 22 0.007557912174965889 4.953375811471988e-06 -1375274.5395942358 -798879.1825600903 0.35663172954569944 2.900465970474833 -807474.2323978223 0.41211840588454257 0.5446957279361009 -799969.9761753903 0.05726405599313575 2.6992201079308553 -795590.7893224553 0.05797526981415537 16.763625801929546 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
25 23 23 0.007557925434292841 0.0 -1375274.5395942358 -798879.1825600903 0.35663172954569944 2.900465970474833 -807474.2323978223 0.41211840588454257 0.5446957279361009 -799969.9761753903 0.05726405599313575 2.6992201079308553 -795590.7893224553 0.05797526981415537 16.763625801929546 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
26 24 24 0.007557925434292841 0.0 -1375274.5395942358 -798879.1825600903 0.35663172954569944 2.900465970474833 -807474.2323978223 0.41211840588454257 0.5446957279361009 -799969.9761753903 0.05726405599313575 2.6992201079308553 -795590.7893224553 0.05797526981415537 16.763625801929546 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377
27 25 25 0.007557925434292841 0.0 -1375274.5395942358 -798879.1825600903 0.35663172954569944 2.900465970474833 -807474.2323978223 0.41211840588454257 0.5446957279361009 -799969.9761753903 0.05726405599313575 2.6992201079308553 -795590.7893224553 0.05797526981415537 16.763625801929546 -801427.2924061618 0.5534945060571388 9.205570263716002 -795364.198868676 0.5978087854283536 5.279188087719687 -813457.2158804197 0.8866130626375315 9.867928019371377

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,716 @@
<ctml>
<validate reactions="yes" species="yes" />
<phase dim="3" id="PC88A_liquid">
<elementArray datasrc="elementz.xml">
Cl O H C P Nd Pr Ce La Dy Y Sm dummy
</elementArray>
<speciesArray datasrc="#species_PC88A_liquid">
(HA)2(org) dodecane Nd(H(A)2)3(org) Pr(H(A)2)3(org) Ce(H(A)2)3(org) La(H(A)2)3(org) Dy(H(A)2)3(org) Sm(H(A)2)3(org) Y(H(A)2)3(org)
</speciesArray>
<state>
<temperature units="K"> 298.15 </temperature>
<pressure units="Pa"> 100000.0 </pressure>
<soluteMolalities>
(HA)2(org): 0.25
</soluteMolalities>
</state>
<thermo model="IdealSolidSolution">
<standardConc model="molar_volume" />
</thermo>
<standardConc model="molar_volume" />
<transport model="None" />
<kinetics model="none" />
</phase>
<speciesData id="species_PC88A_liquid">
<species name="(HA)2(org)">
<atomArray> C:16 H:35 O:3 P:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-1377917.5269485628</h0>
<s0 units="J/mol/K"> 558.9824 </s0>
<cp0 units="J/mol/K"> 0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.320974226079</molarVolume>
</standardState>
</species>
<species name="Nd(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Nd:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4929625.060282971</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.973500071223</molarVolume>
</standardState>
</species>
<species name="Pr(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Pr:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4941397.084772181</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.979936421078</molarVolume>
</standardState>
</species>
<species name="Ce(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Ce:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4932551.489263242</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">1.0060487218</molarVolume>
</standardState>
</species>
<species name="La(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 La:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4935194.142426379</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.981485801577</molarVolume>
</standardState>
</species>
<species name="Dy(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Dy:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4935179.480883835</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.961666360676</molarVolume>
</standardState>
</species>
<species name="Y(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Y:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4947210.070800013</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.958888814485</molarVolume>
</standardState>
</species>
<species name="Sm(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Sm:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 19:20 7-29-2020">-4929116.779371853</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume> 0.9642 </molarVolume>
</standardState>
</species>
<species name="Gd(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Gd:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="yep">-4829446.858</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume>0.9642</molarVolume>
</standardState>
</species>
<species name="dodecane">
<atomArray> dummy:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol"> 0.0 </h0>
<s0 units="J/mol/K"> 0.0 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume> 0.227113 </molarVolume>
</standardState>
</species>
</speciesData>
<phase dim="3" id="HCl_electrolyte">
<speciesArray datasrc="#species_waterSolution">
H2O(L) H+ OH- Cl- Nd+++ Pr+++ Ce+++ La+++ Dy+++ Sm+++ Y+++
</speciesArray>
<state>
<temperature units="K"> 298.15 </temperature>
<pressure units="Pa"> 100000.0 </pressure>
<soluteMolalities>
Cl-: 1.0E-7
H+: 1.0E-7
</soluteMolalities>
</state>
<thermo model="HMW">
<standardConc model="solvent_volume" />
<activityCoefficients TempModel="complex1" model="Pitzer">
<A_Debye model="water" />
<ionicRadius default="3.042843" units="Angstroms">
</ionicRadius>
<binarySaltParameters anion="Cl-" cation="H+">
<beta0> 0.177000779, 0.000125778, 0.0, -33.4777082, -0.262214535 </beta0>
<beta1> 0.292922504, -0.027938838, 0.0, 3402.47027, 19.7936248 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi> 0.000362, -0.00003036, 0.0, -2.91038E-11, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 12 </Alpha2>
<source>
refit of Holmes, H.F., Busey, J.M., Simonson, J.M., Mesmer, R.E.,
Archer, D.G., and Wood, R.H., 1987, The enthalpy of dilution of HCl(aq)
to 648 K and 4p MPa. Thermodynamic properties, Journal of Chemical
Thermodynamics, v. 19, p. 863-890.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Pr+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 0.058791077174068576, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 0.5448320238819658, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.02066999867229882, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Nd+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 1.0825315776813356, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 6.211262701179254, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.01963615126026457, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="La+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 0.5930048961782302, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 5.2771447352927785, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.024339999997603376, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Dy+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 0.5532852863195881, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 9.206787175138805, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.019699989216349984, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Ce+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 0.6005020116531858, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 4.91004437191519, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.02618999999473301, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Y+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 0.8866269789489127, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 9.867663759220948, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.015467323909969704, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Sm+++">
<beta0 updated="Updated at 19:20 7-29-2020"> 0.5978087860273482, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 19:20 7-29-2020"> 5.279188095059934, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 19:20 7-29-2020"> -0.019920000110321332, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
</activityCoefficients>
<solvent> H2O(L) </solvent>
</thermo>
<elementArray datasrc="elementz.xml"> O H Nd Pr Ce La Dy Y Sm C N Cl P E </elementArray>
<kinetics model="none">
</kinetics>
</phase>
<speciesData id="species_waterSolution">
<species name="H2O(L)">
<atomArray>H:2 O:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="600.0" Tmin="273.14999999999998">
<floatArray name="coeffs" size="7">
7.255750050E+01, -6.624454020E-01, 2.561987460E-03, -4.365919230E-06,
2.781789810E-09, -4.188654990E+04, -2.882801370E+02
</floatArray>
</NASA>
</thermo>
<standardState model="waterPDSS">
<molarVolume> 0.018068 </molarVolume>
</standardState>
</species>
<species name="OH-">
<speciesChemFormula> OH- </speciesChemFormula>
<atomArray> O:1 H:1 </atomArray>
<charge> -1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -37595 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -54977 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -2.56 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> 0.12527 </a1>
<a2 units="cal/gmol"> 7.38 </a2>
<a3 units="cal-K/gmol/bar"> 1.8423 </a3>
<a4 units="cal-K/gmol"> -27821 </a4>
<c1 units="cal/gmol/K"> 4.15 </c1>
<c2 units="cal-K/gmol"> -103460 </c2>
<omega_Pr_Tr units="cal/gmol"> 172460 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -4.18 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="NO3-">
<speciesChemFormula> NO3- </speciesChemFormula>
<atomArray> N:1 O:3 </atomArray>
<charge> -1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -26507 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -49429 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> 35.12 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> 0.73161 </a1>
<a2 units="cal/gmol"> 678.24 </a2>
<a3 units="cal-K/gmol/bar"> -4.6838 </a3>
<a4 units="cal-K/gmol"> -30594 </a4>
<c1 units="cal/gmol/K"> 7.7 </c1>
<c2 units="cal-K/gmol"> -67250 </c2>
<omega_Pr_Tr units="cal/gmol"> 109770 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> 29.0 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Cl-">
<speciesChemFormula> Cl- </speciesChemFormula>
<atomArray> Cl:1 </atomArray>
<charge> -1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="273.15">
<DG0_f_Pr_Tr units="cal/gmol"> -31379 </DG0_f_Pr_Tr>
<DH0_f_Pr_TR units="cal/gmol"> -39933 </DH0_f_Pr_TR>
<S0_Pr_Tr units="cal/gmol/K"> 13.56 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/mol/bar"> 0.4032 </a1>
<a2 units="cal/mol"> 480.1 </a2>
<a3 units="cal-K/mol/bar"> 5.563 </a3>
<a4 units="cal-K/mol"> -28470 </a4>
<c1 units="cal/mol/K"> -4.4 </c1>
<c2 units="cal-K/mol"> -57140 </c2>
<omega_Pr_Tr units="cal/mol"> 145600 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> 17.79 </molarVolume>
</standardState>
<source> ref:G9 </source>
</species>
<species name="H+">
<speciesChemFormula> H+ </speciesChemFormula>
<atomArray> H:1 </atomArray>
<charge> +1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="273.15">
<DG0_f_Pr_Tr units="cal/gmol"> 0 </DG0_f_Pr_Tr>
<DH0_f_Pr_TR units="cal/gmol"> 0 </DH0_f_Pr_TR>
<S0_Pr_Tr units="cal/gmol/K"> 0 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/mol/bar"> 0 </a1>
<a2 units="cal/mol"> 0 </a2>
<a3 units="cal-K/mol/bar"> 0 </a3>
<a4 units="cal-K/mol"> 0 </a4>
<c1 units="cal/mol/K"> 0 </c1>
<c2 units="cal-K/mol"> 0 </c2>
<omega_Pr_Tr units="cal/mol"> 0 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> 0 </molarVolume>
</standardState>
<source> ref:G9 </source>
</species>
<species name="Nd+++">
<speciesChemFormula> Nd+++ </speciesChemFormula>
<atomArray> Nd:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -160600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -166500 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -49.5 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.33707 </a1>
<a2 units="cal/gmol"> -1454.52 </a2>
<a3 units="cal-K/gmol/bar"> 8.3211 </a3>
<a4 units="cal-K/gmol"> -21777 </a4>
<c1 units="cal/gmol/K"> 1.6236 </c1>
<c2 units="cal-K/gmol"> -118344 </c2>
<omega_Pr_Tr units="cal/gmol"> 225500 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -43.1 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Pr+++">
<speciesChemFormula> Pr+++ </speciesChemFormula>
<atomArray> Pr:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -162600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -168800 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -50 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.32406 </a1>
<a2 units="cal/gmol"> -1419.98 </a2>
<a3 units="cal-K/gmol/bar"> 8.1257 </a3>
<a4 units="cal-K/gmol"> -21920 </a4>
<c1 units="cal/gmol/K"> -1.1975 </c1>
<c2 units="cal-K/gmol"> -127511 </c2>
<omega_Pr_Tr units="cal/gmol"> 223500 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -42.1 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Ce+++">
<speciesChemFormula> Ce+++ </speciesChemFormula>
<atomArray> Ce:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -161600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -167400 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -49 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.29292 </a1>
<a2 units="cal/gmol"> -1493.38 </a2>
<a3 units="cal-K/gmol/bar"> 11.6196 </a3>
<a4 units="cal-K/gmol"> -21616 </a4>
<c1 units="cal/gmol/K"> 4.0445 </c1>
<c2 units="cal-K/gmol"> -108974 </c2>
<omega_Pr_Tr units="cal/gmol"> 222510 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -39.8 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="La+++">
<speciesChemFormula> La+++ </speciesChemFormula>
<atomArray> La:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -164000 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -169600 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -52 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.2788 </a1>
<a2 units="cal/gmol"> -1438.24 </a2>
<a3 units="cal-K/gmol/bar"> 10.9602 </a3>
<a4 units="cal-K/gmol"> -21844 </a4>
<c1 units="cal/gmol/K"> 4.2394 </c1>
<c2 units="cal-K/gmol"> -106122 </c2>
<omega_Pr_Tr units="cal/gmol"> 215720 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -38.6 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Dy+++">
<speciesChemFormula> Dy+++ </speciesChemFormula>
<atomArray> Dy:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -158700 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -166500 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -55.2 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.30003 </a1>
<a2 units="cal/gmol"> -1510.74 </a2>
<a3 units="cal-K/gmol/bar"> 11.6879 </a3>
<a4 units="cal-K/gmol"> -21545 </a4>
<c1 units="cal/gmol/K"> 9.5076 </c1>
<c2 units="cal-K/gmol"> -94919 </c2>
<omega_Pr_Tr units="cal/gmol"> 237920 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -40.7 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Y+++">
<speciesChemFormula> Y+++ </speciesChemFormula>
<atomArray> Y:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -163800 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -170900 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -60 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.30140 </a1>
<a2 units="cal/gmol"> -1514.08 </a2>
<a3 units="cal-K/gmol/bar"> 11.7010 </a3>
<a4 units="cal-K/gmol"> -21531 </a4>
<c1 units="cal/gmol/K"> 7.1634 </c1>
<c2 units="cal-K/gmol"> -103067 </c2>
<omega_Pr_Tr units="cal/gmol"> 237920 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -40.8 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Sm+++">
<speciesChemFormula> Sm+++ </speciesChemFormula>
<atomArray> Sm:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -159100 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -165200 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -50.7 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.32065 </a1>
<a2 units="cal/gmol"> -1561.08 </a2>
<a3 units="cal-K/gmol/bar"> 11.8857 </a3>
<a4 units="cal-K/gmol"> -21337 </a4>
<c1 units="cal/gmol/K"> 1.9385 </c1>
<c2 units="cal-K/gmol"> -118548 </c2>
<omega_Pr_Tr units="cal/gmol"> 229550 </omega_Pr_Tr>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Gd+++">
<speciesChemFormula> Gd+++ </speciesChemFormula>
<atomArray> Gd:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -158600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -164200 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -49.2 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.29771 </a1>
<a2 units="cal/gmol"> -1505.06 </a2>
<a3 units="cal-K/gmol/bar"> 11.6656 </a3>
<a4 units="cal-K/gmol"> -21568 </a4>
<c1 units="cal/gmol/K"> 6.5606 </c1>
<c2 units="cal-K/gmol"> -103474 </c2>
<omega_Pr_Tr units="cal/gmol"> 232650 </omega_Pr_Tr>
</standardState>
<source>
ref:G9
</source>
</species>
</speciesData>
</ctml>

View File

@@ -0,0 +1,716 @@
<ctml>
<validate reactions="yes" species="yes" />
<phase dim="3" id="PC88A_liquid">
<elementArray datasrc="elementz.xml">
Cl O H C P Nd Pr Ce La Dy Y Sm dummy
</elementArray>
<speciesArray datasrc="#species_PC88A_liquid">
(HA)2(org) dodecane Nd(H(A)2)3(org) Pr(H(A)2)3(org) Ce(H(A)2)3(org) La(H(A)2)3(org) Dy(H(A)2)3(org) Sm(H(A)2)3(org) Y(H(A)2)3(org)
</speciesArray>
<state>
<temperature units="K"> 298.15 </temperature>
<pressure units="Pa"> 100000.0 </pressure>
<soluteMolalities>
(HA)2(org): 0.25
</soluteMolalities>
</state>
<thermo model="IdealSolidSolution">
<standardConc model="molar_volume" />
</thermo>
<standardConc model="molar_volume" />
<transport model="None" />
<kinetics model="none" />
</phase>
<speciesData id="species_PC88A_liquid">
<species name="(HA)2(org)">
<atomArray> C:16 H:35 O:3 P:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-1376882.3191117246</h0>
<s0 units="J/mol/K"> 558.9824 </s0>
<cp0 units="J/mol/K"> 0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.320974226079</molarVolume>
</standardState>
</species>
<species name="Nd(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Nd:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4925566.309854757</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.973500071223</molarVolume>
</standardState>
</species>
<species name="Pr(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Pr:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4938249.845712334</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.979936421078</molarVolume>
</standardState>
</species>
<species name="Ce(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Ce:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4920387.823199008</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">1.0060487218</molarVolume>
</standardState>
</species>
<species name="La(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 La:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4933548.865580005</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.981485801577</molarVolume>
</standardState>
</species>
<species name="Dy(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Dy:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4932560.171447597</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.961666360676</molarVolume>
</standardState>
</species>
<species name="Y(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Y:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4944840.781582316</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume updated="Updated at 21:02:32">0.958888814485</molarVolume>
</standardState>
</species>
<species name="Sm(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Sm:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 11:58 7-17-2020">-4924696.189921901</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume> 0.9642 </molarVolume>
</standardState>
</species>
<species name="Gd(H(A)2)3(org)">
<atomArray> C:48 H:102 O:9 P:3 Gd:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="yep">-4829446.858</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume>0.9642</molarVolume>
</standardState>
</species>
<species name="dodecane">
<atomArray> dummy:1 </atomArray>
<thermo>
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol"> 0.0 </h0>
<s0 units="J/mol/K"> 0.0 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>
</thermo>
<standardState model="constant_incompressible">
<molarVolume> 0.227113 </molarVolume>
</standardState>
</species>
</speciesData>
<phase dim="3" id="HCl_electrolyte">
<speciesArray datasrc="#species_waterSolution">
H2O(L) H+ OH- Cl- Nd+++ Pr+++ Ce+++ La+++ Dy+++ Sm+++ Y+++
</speciesArray>
<state>
<temperature units="K"> 298.15 </temperature>
<pressure units="Pa"> 100000.0 </pressure>
<soluteMolalities>
Cl-: 1.0E-7
H+: 1.0E-7
</soluteMolalities>
</state>
<thermo model="HMW">
<standardConc model="solvent_volume" />
<activityCoefficients TempModel="complex1" model="Pitzer">
<A_Debye model="water" />
<ionicRadius default="3.042843" units="Angstroms">
</ionicRadius>
<binarySaltParameters anion="Cl-" cation="H+">
<beta0> 0.177000779, 0.000125778, 0.0, -33.4777082, -0.262214535 </beta0>
<beta1> 0.292922504, -0.027938838, 0.0, 3402.47027, 19.7936248 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi> 0.000362, -0.00003036, 0.0, -2.91038E-11, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 12 </Alpha2>
<source>
refit of Holmes, H.F., Busey, J.M., Simonson, J.M., Mesmer, R.E.,
Archer, D.G., and Wood, R.H., 1987, The enthalpy of dilution of HCl(aq)
to 648 K and 4p MPa. Thermodynamic properties, Journal of Chemical
Thermodynamics, v. 19, p. 863-890.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Pr+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 0.05879108748614492, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 0.5448324180244323, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.02066999867229882, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Nd+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 1.2137222016802447, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 7.748226963005033, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.01963615126026457, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="La+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 1.022316535866388, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 0.5296311209773129, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.024339999997603376, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Dy+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 0.7646397332938777, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 7.849320590516409, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.019699989216349984, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Ce+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 0.2035235053232368, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 21.120426174002823, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.02618999999473301, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Y+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 0.8852802073165494, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 9.334653075341238, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.015467323909969704, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
<binarySaltParameters anion="Cl-" cation="Sm+++">
<beta0 updated="Updated at 11:58 7-17-2020"> 0.6989081585234721, 0.0, 0.0, 0.0, 0.0 </beta0>
<beta1 updated="Updated at 11:58 7-17-2020"> 6.877882600430561, 0.0, 0.0, 0.0, 0.0 </beta1>
<beta2> 0.0, 0.0, 0.0, 0.0, 0.0 </beta2>
<Cphi updated="Updated at 10:47 7-17-2020"> -0.019920000110321332, 0.0, 0.0, 0.0, 0.0 </Cphi>
<Alpha1> 2 </Alpha1>
<Alpha2> 0 </Alpha2>
<source>
Table S1: Pitzer parameters for osmotic and activity coeff Supp Info.
May, P. M.; Rowland, D.; Hefter, G.; Konigsberger, E.
A generic and updatable Pitzer characterization of aqueous binary electrolyte
solutions at 1 bar and 25 C.
Journal of Chemical and Engineering Data 2011,56, 5066&#8211;5077.
</source>
</binarySaltParameters>
</activityCoefficients>
<solvent> H2O(L) </solvent>
</thermo>
<elementArray datasrc="elementz.xml"> O H Nd Pr Ce La Dy Y Sm C N Cl P E </elementArray>
<kinetics model="none">
</kinetics>
</phase>
<speciesData id="species_waterSolution">
<species name="H2O(L)">
<atomArray>H:2 O:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="600.0" Tmin="273.14999999999998">
<floatArray name="coeffs" size="7">
7.255750050E+01, -6.624454020E-01, 2.561987460E-03, -4.365919230E-06,
2.781789810E-09, -4.188654990E+04, -2.882801370E+02
</floatArray>
</NASA>
</thermo>
<standardState model="waterPDSS">
<molarVolume> 0.018068 </molarVolume>
</standardState>
</species>
<species name="OH-">
<speciesChemFormula> OH- </speciesChemFormula>
<atomArray> O:1 H:1 </atomArray>
<charge> -1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -37595 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -54977 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -2.56 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> 0.12527 </a1>
<a2 units="cal/gmol"> 7.38 </a2>
<a3 units="cal-K/gmol/bar"> 1.8423 </a3>
<a4 units="cal-K/gmol"> -27821 </a4>
<c1 units="cal/gmol/K"> 4.15 </c1>
<c2 units="cal-K/gmol"> -103460 </c2>
<omega_Pr_Tr units="cal/gmol"> 172460 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -4.18 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="NO3-">
<speciesChemFormula> NO3- </speciesChemFormula>
<atomArray> N:1 O:3 </atomArray>
<charge> -1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -26507 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -49429 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> 35.12 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> 0.73161 </a1>
<a2 units="cal/gmol"> 678.24 </a2>
<a3 units="cal-K/gmol/bar"> -4.6838 </a3>
<a4 units="cal-K/gmol"> -30594 </a4>
<c1 units="cal/gmol/K"> 7.7 </c1>
<c2 units="cal-K/gmol"> -67250 </c2>
<omega_Pr_Tr units="cal/gmol"> 109770 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> 29.0 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Cl-">
<speciesChemFormula> Cl- </speciesChemFormula>
<atomArray> Cl:1 </atomArray>
<charge> -1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="273.15">
<DG0_f_Pr_Tr units="cal/gmol"> -31379 </DG0_f_Pr_Tr>
<DH0_f_Pr_TR units="cal/gmol"> -39933 </DH0_f_Pr_TR>
<S0_Pr_Tr units="cal/gmol/K"> 13.56 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/mol/bar"> 0.4032 </a1>
<a2 units="cal/mol"> 480.1 </a2>
<a3 units="cal-K/mol/bar"> 5.563 </a3>
<a4 units="cal-K/mol"> -28470 </a4>
<c1 units="cal/mol/K"> -4.4 </c1>
<c2 units="cal-K/mol"> -57140 </c2>
<omega_Pr_Tr units="cal/mol"> 145600 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> 17.79 </molarVolume>
</standardState>
<source> ref:G9 </source>
</species>
<species name="H+">
<speciesChemFormula> H+ </speciesChemFormula>
<atomArray> H:1 </atomArray>
<charge> +1 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="273.15">
<DG0_f_Pr_Tr units="cal/gmol"> 0 </DG0_f_Pr_Tr>
<DH0_f_Pr_TR units="cal/gmol"> 0 </DH0_f_Pr_TR>
<S0_Pr_Tr units="cal/gmol/K"> 0 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/mol/bar"> 0 </a1>
<a2 units="cal/mol"> 0 </a2>
<a3 units="cal-K/mol/bar"> 0 </a3>
<a4 units="cal-K/mol"> 0 </a4>
<c1 units="cal/mol/K"> 0 </c1>
<c2 units="cal-K/mol"> 0 </c2>
<omega_Pr_Tr units="cal/mol"> 0 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> 0 </molarVolume>
</standardState>
<source> ref:G9 </source>
</species>
<species name="Nd+++">
<speciesChemFormula> Nd+++ </speciesChemFormula>
<atomArray> Nd:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -160600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -166500 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -49.5 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.33707 </a1>
<a2 units="cal/gmol"> -1454.52 </a2>
<a3 units="cal-K/gmol/bar"> 8.3211 </a3>
<a4 units="cal-K/gmol"> -21777 </a4>
<c1 units="cal/gmol/K"> 1.6236 </c1>
<c2 units="cal-K/gmol"> -118344 </c2>
<omega_Pr_Tr units="cal/gmol"> 225500 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -43.1 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Pr+++">
<speciesChemFormula> Pr+++ </speciesChemFormula>
<atomArray> Pr:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -162600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -168800 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -50 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.32406 </a1>
<a2 units="cal/gmol"> -1419.98 </a2>
<a3 units="cal-K/gmol/bar"> 8.1257 </a3>
<a4 units="cal-K/gmol"> -21920 </a4>
<c1 units="cal/gmol/K"> -1.1975 </c1>
<c2 units="cal-K/gmol"> -127511 </c2>
<omega_Pr_Tr units="cal/gmol"> 223500 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -42.1 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Ce+++">
<speciesChemFormula> Ce+++ </speciesChemFormula>
<atomArray> Ce:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -161600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -167400 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -49 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.29292 </a1>
<a2 units="cal/gmol"> -1493.38 </a2>
<a3 units="cal-K/gmol/bar"> 11.6196 </a3>
<a4 units="cal-K/gmol"> -21616 </a4>
<c1 units="cal/gmol/K"> 4.0445 </c1>
<c2 units="cal-K/gmol"> -108974 </c2>
<omega_Pr_Tr units="cal/gmol"> 222510 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -39.8 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="La+++">
<speciesChemFormula> La+++ </speciesChemFormula>
<atomArray> La:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -164000 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -169600 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -52 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.2788 </a1>
<a2 units="cal/gmol"> -1438.24 </a2>
<a3 units="cal-K/gmol/bar"> 10.9602 </a3>
<a4 units="cal-K/gmol"> -21844 </a4>
<c1 units="cal/gmol/K"> 4.2394 </c1>
<c2 units="cal-K/gmol"> -106122 </c2>
<omega_Pr_Tr units="cal/gmol"> 215720 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -38.6 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Dy+++">
<speciesChemFormula> Dy+++ </speciesChemFormula>
<atomArray> Dy:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -158700 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -166500 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -55.2 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.30003 </a1>
<a2 units="cal/gmol"> -1510.74 </a2>
<a3 units="cal-K/gmol/bar"> 11.6879 </a3>
<a4 units="cal-K/gmol"> -21545 </a4>
<c1 units="cal/gmol/K"> 9.5076 </c1>
<c2 units="cal-K/gmol"> -94919 </c2>
<omega_Pr_Tr units="cal/gmol"> 237920 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -40.7 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Y+++">
<speciesChemFormula> Y+++ </speciesChemFormula>
<atomArray> Y:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -163800 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -170900 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -60 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.30140 </a1>
<a2 units="cal/gmol"> -1514.08 </a2>
<a3 units="cal-K/gmol/bar"> 11.7010 </a3>
<a4 units="cal-K/gmol"> -21531 </a4>
<c1 units="cal/gmol/K"> 7.1634 </c1>
<c2 units="cal-K/gmol"> -103067 </c2>
<omega_Pr_Tr units="cal/gmol"> 237920 </omega_Pr_Tr>
<molarVolume units="cm3/mol"> -40.8 </molarVolume>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Sm+++">
<speciesChemFormula> Sm+++ </speciesChemFormula>
<atomArray> Sm:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -159100 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -165200 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -50.7 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.32065 </a1>
<a2 units="cal/gmol"> -1561.08 </a2>
<a3 units="cal-K/gmol/bar"> 11.8857 </a3>
<a4 units="cal-K/gmol"> -21337 </a4>
<c1 units="cal/gmol/K"> 1.9385 </c1>
<c2 units="cal-K/gmol"> -118548 </c2>
<omega_Pr_Tr units="cal/gmol"> 229550 </omega_Pr_Tr>
</standardState>
<source>
ref:G9
</source>
</species>
<species name="Gd+++">
<speciesChemFormula> Gd+++ </speciesChemFormula>
<atomArray> Gd:1 </atomArray>
<charge> +3 </charge>
<thermo model="HKFT">
<HKFT Pref="1 atm" Tmax="625.15" Tmin="298.15">
<DG0_f_Pr_Tr units="cal/gmol"> -158600 </DG0_f_Pr_Tr>
<DH0_f_Pr_Tr units="cal/gmol"> -164200 </DH0_f_Pr_Tr>
<S0_Pr_Tr units="cal/gmol/K"> -49.2 </S0_Pr_Tr>
</HKFT>
</thermo>
<standardState model="HKFT">
<a1 units="cal/gmol/bar"> -0.29771 </a1>
<a2 units="cal/gmol"> -1505.06 </a2>
<a3 units="cal-K/gmol/bar"> 11.6656 </a3>
<a4 units="cal-K/gmol"> -21568 </a4>
<c1 units="cal/gmol/K"> 6.5606 </c1>
<c2 units="cal-K/gmol"> -103474 </c2>
<omega_Pr_Tr units="cal/gmol"> 232650 </omega_Pr_Tr>
</standardState>
<source>
ref:G9
</source>
</species>
</speciesData>
</ctml>

330
docs/_Examples/test_eval.py Normal file
View File

@@ -0,0 +1,330 @@
# This file tests adding 0.1 M NaCl to the feed.
import llepe
import pandas as pd
import numpy as np
import json
import matplotlib as plt
import matplotlib
import cantera as ct
class ModLLEPE(llepe.LLEPE):
def __init__(self,
exp_data,
phases_xml_filename,
phase_names,
aq_solvent_name,
extractant_name,
diluant_name,
complex_names,
extracted_species_ion_names,
extracted_species_list=None,
aq_solvent_rho=None,
extractant_rho=None,
diluant_rho=None,
opt_dict=None,
objective_function='Log-MSE',
optimizer='scipy_minimize',
temp_xml_file_path=None,
dependant_params_dict=None,
custom_objects_dict=None,
nacl_molarity=0):
self.nacl_molarity = nacl_molarity
super().__init__(exp_data,
phases_xml_filename,
phase_names,
aq_solvent_name,
extractant_name,
diluant_name,
complex_names,
extracted_species_ion_names,
extracted_species_list,
aq_solvent_rho,
extractant_rho,
diluant_rho,
opt_dict,
objective_function,
optimizer,
temp_xml_file_path,
dependant_params_dict,
custom_objects_dict)
def set_in_moles(self, feed_vol):
"""Function that initializes mole fractions to input feed_vol
This function is called at initialization
Sets in_moles to a pd.DataFrame containing initial mole fractions
Columns for species and rows for different experiments
This function also calls update_predicted_dict
:param feed_vol: (float) feed volume of mixture (L)
"""
phases_copy = self._phases.copy()
exp_df = self._exp_df.copy()
solvent_name = self._aq_solvent_name
extractant_name = self._extractant_name
diluant_name = self._diluant_name
solvent_rho = self._aq_solvent_rho
extractant_rho = self._extractant_rho
diluant_rho = self._diluant_rho
extracted_species_names = self._extracted_species_ion_names
extracted_species_list = self._extracted_species_list
mixed = ct.Mixture(phases_copy)
aq_ind = None
solvent_ind = None
for ind, phase in enumerate(phases_copy):
if solvent_name in phase.species_names:
aq_ind = ind
solvent_ind = phase.species_names.index(solvent_name)
if aq_ind is None:
raise Exception('Solvent "{0}" not found \
in xml file'.format(solvent_name))
if aq_ind == 0:
org_ind = 1
else:
org_ind = 0
self._aq_ind = aq_ind
self._org_ind = org_ind
extractant_ind = phases_copy[org_ind].species_names.index(
extractant_name)
diluant_ind = phases_copy[org_ind].species_names.index(
diluant_name)
extracted_species_ind_list = [
phases_copy[aq_ind].species_names.index(
extracted_species_name)
for extracted_species_name in extracted_species_names]
extracted_species_charges = np.array(
[phases_copy[aq_ind].species(
extracted_species_ind).charge
for extracted_species_ind in extracted_species_ind_list])
self._extracted_species_charges = extracted_species_charges
mix_aq = mixed.phase(aq_ind)
mix_org = mixed.phase(org_ind)
solvent_mw = mix_aq.molecular_weights[solvent_ind] # g/mol
extractant_mw = mix_org.molecular_weights[extractant_ind]
diluant_mw = mix_org.molecular_weights[diluant_ind]
if solvent_rho is None:
solvent_rho = mix_aq(aq_ind).partial_molar_volumes[
solvent_ind] / solvent_mw * 1e6 # g/L
self._aq_solvent_rho = solvent_rho
if extractant_rho is None:
extractant_rho = mix_org(org_ind).partial_molar_volumes[
extractant_ind] / extractant_mw * 1e6
self._extractant_rho = extractant_rho
if diluant_rho is None:
diluant_rho = mix_org(org_ind).partial_molar_volumes[
extractant_ind] / extractant_mw * 1e6
self._diluant_rho = diluant_rho
in_moles_data = []
aq_phase_solvent_moles = feed_vol * solvent_rho / solvent_mw
for index, row in exp_df.iterrows():
h_plus_moles = feed_vol * row['h_i']
hydroxide_ions = 0
extracted_species_moles = np.array(
[feed_vol * row['{0}_aq_i'.format(
extracted_species)]
for extracted_species in extracted_species_list])
extracted_species_charge_sum = np.sum(
extracted_species_charges * extracted_species_moles)
chlorine_moles = extracted_species_charge_sum + h_plus_moles
extractant_moles = feed_vol * row['z_i']
extractant_vol = extractant_moles * extractant_mw / extractant_rho
diluant_vol = feed_vol - extractant_vol
diluant_moles = diluant_vol * diluant_rho / diluant_mw
complex_moles = np.zeros(len(extracted_species_list))
species_moles_aq = [aq_phase_solvent_moles,
h_plus_moles,
hydroxide_ions,
chlorine_moles]
species_moles_aq.extend(list(extracted_species_moles))
species_moles_aq.append(self.nacl_molarity * feed_vol)
species_moles_aq[3] += self.nacl_molarity * feed_vol
species_moles_org = [extractant_moles, diluant_moles]
species_moles_org.extend(list(complex_moles))
if aq_ind == 0:
species_moles = species_moles_aq + species_moles_org
else:
species_moles = species_moles_org + species_moles_aq
in_moles_data.append(species_moles)
self._in_moles = pd.DataFrame(
in_moles_data, columns=mixed.species_names)
self.update_predicted_dict()
return None
font = {'family': 'sans serif',
'size': 24}
matplotlib.rc('font', **font)
plt.rc('xtick', labelsize=18)
plt.rc('ytick', labelsize=18)
plt.rcParams['lines.linewidth'] = 4
matplotlib.rcParams['lines.markersize'] = 10
def ext_to_complex(h0, custom_obj_dict, mini_species):
linear_params = custom_obj_dict['lin_param_df']
row = linear_params[linear_params['species'] == mini_species]
return row['slope'].values[0] * h0[0] + row['intercept'].values[0]
def mod_lin_param_df(lp_df, input_val, mini_species, mini_lin_param):
new_lp_df = lp_df.copy()
index = new_lp_df.index[new_lp_df['species'] == mini_species].tolist()[0]
new_lp_df.at[index, mini_lin_param] = input_val
return new_lp_df
info_df = pd.read_csv('outputs/multi_only_iterative_fitter_output.csv')
test_row = -1
pitzer_params_filename = "../../data/jsons/min_h0_pitzer_params.txt"
with open(pitzer_params_filename) as file:
pitzer_params_dict = json.load(file)
pitzer_params_df = pd.DataFrame(pitzer_params_dict)
species_list = 'Nd,Pr,Ce,La,Dy,Sm,Y'.split(',')
pitzer_param_list = ['beta0', 'beta1']
labeled_data = pd.read_csv("../../data/csvs/"
"no_formiga_or_5_oa_PC88A_HCL_NdPrCeLaDySmY.csv")
labeled_data = labeled_data.sort_values(['Feed Pr[M]', 'Feed Ce[M]'],
ascending=True)
exp_data = labeled_data.drop(labeled_data.columns[0], axis=1)
xml_file = "test_PC88A_HCL_NdPrCeLaDySmY_w_pitzer.xml"
lin_param_df = pd.read_csv("../../data/csvs"
"/zeroes_removed_min_h0_pitzer_lin_params.csv")
estimator_params = {'exp_data': exp_data,
'phases_xml_filename': xml_file,
'phase_names': ['HCl_electrolyte', 'PC88A_liquid'],
'aq_solvent_name': 'H2O(L)',
'extractant_name': '(HA)2(org)',
'diluant_name': 'dodecane',
'complex_names': ['{0}(H(A)2)3(org)'.format(species)
for species in species_list],
'extracted_species_ion_names': ['{0}+++'.format(species)
for species in
species_list],
'aq_solvent_rho': 1000.0,
'extractant_rho': 960.0,
'diluant_rho': 750.0,
'temp_xml_file_path': 'outputs/temp.xml',
'objective_function': llepe.lmse_perturbed_obj,
'nacl_molarity': 0
}
dependant_params_dict = {}
for species, complex_name in zip(species_list,
estimator_params['complex_names']):
inner_dict = {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': complex_name,
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'function': ext_to_complex,
'kwargs': {"mini_species": species},
'independent_params': '(HA)2(org)_h0'}
dependant_params_dict['{0}_h0'.format(complex_name)] = inner_dict
info_dict = {'(HA)2(org)_h0': {'upper_element_name': 'species',
'upper_attrib_name': 'name',
'upper_attrib_value': '(HA)2(org)',
'lower_element_name': 'h0',
'lower_attrib_name': None,
'lower_attrib_value': None,
'input_format': '{0}',
'input_value':
info_df.iloc[test_row, :]['best_ext_h0']}}
for species in species_list:
for pitzer_param in pitzer_param_list:
pitzer_str = "{0}_{1}".format(species, pitzer_param)
value = info_df.iloc[test_row, :][pitzer_str]
pitzer_params_dict[pitzer_str]['input_value'] = value
lin_str = "{0}_slope".format(species)
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': 'slope'},
'input_value': 3
}
info_dict[lin_str] = inner_dict
lin_str = "{0}_intercept".format(species)
value = info_df.iloc[test_row, :][lin_str]
inner_dict = {'custom_object_name': 'lin_param_df',
'function': mod_lin_param_df,
'kwargs': {'mini_species': species,
'mini_lin_param': 'intercept'},
'input_value': value
}
info_dict[lin_str] = inner_dict
info_dict.update(pitzer_params_dict)
estimator = ModLLEPE(**estimator_params)
estimator.set_custom_objects_dict({'lin_param_df': lin_param_df})
estimator.update_custom_objects_dict(info_dict)
estimator.update_xml(info_dict,
dependant_params_dict=dependant_params_dict)
exp_data = estimator.get_exp_df()
feed_cols = []
for col in exp_data.columns:
if 'aq_i' in col:
feed_cols.append(col)
exp_data['total_re'] = exp_data[feed_cols].sum(axis=1)
label_list = []
for index, row in exp_data[feed_cols].iterrows():
bool_list = list((row > 0).values)
label = ''
for species, el in zip(species_list, bool_list):
if el:
label = '{0}-{1}'.format(label, species)
label = label[1:]
label_list.append(label)
r2s = ""
for species in species_list:
# if species=='La':
# save_name = 'outputs' \
# '/parity_iterative_fitter_{0}_org_eq'.format(species)
save_name = None
# fig, ax = estimator.parity_plot('{0}_org_eq'.format(species),
# c_data='z_i',
# c_label='Feed total RE '
# 'molarity (mol/L)',
# print_r_squared=True,
# save_path=save_name)
r2s += str(estimator.r_squared('{0}_org_eq'.format(species))) + ','
fig, ax = estimator.parity_plot('{0}_org_eq'.format(species),
data_labels=list(labeled_data['label']),
print_r_squared=True,
save_path=save_name)
ax.legend(loc=4)
pred_df = pd.DataFrame(estimator.get_predicted_dict())
new_cols = []
for col in pred_df.columns:
new_cols.append("pred_{0}".format(col))
pred_df.columns = new_cols
new_cols = ['label',
'h_i',
'h_eq',
'z_i',
'z_eq'
]
for species in species_list:
new_cols.append("{0}_aq_i".format(species))
new_cols.append("{0}_aq_eq".format(species))
new_cols.append("{0}_d_eq".format(species))
labeled_data.columns = new_cols
total_df = labeled_data.join(pred_df)
# total_df.to_csv('if_mse_total_df.csv')
# short_info_dict = {}
# for key, value in info_dict.items():
# short_info_dict[key] = value['input_value']
# with open("outputs/iterative_fitter_short_info_dict.txt", 'w') as file:
# json.dump(short_info_dict, file)