updated to LLEPE

pull/1/head
titusquah 5 years ago
parent 0a9a7ffddc
commit adbfd57931

@ -12,6 +12,7 @@
<w>extractant</w>
<w>ftol</w>
<w>kmol</w>
<w>llepe</w>
<w>lmse</w>
<w>matplotlib</w>
<w>maxiter</w>
@ -25,6 +26,7 @@
<w>seaborn</w>
<w>slsqp</w>
<w>thermo</w>
<w>vals</w>
<w>viridis</w>
<w>xmls</w>
</words>

@ -1,11 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="f4439dc0-6756-4612-8f7d-596d8949f300" name="Default Changelist" comment="">
<list default="true" id="f4439dc0-6756-4612-8f7d-596d8949f300" name="Default Changelist" comment="Edited parity plot to allow color to represent 3rd dimension. Still need to improve colorbar axis name.">
<change beforePath="$PROJECT_DIR$/.idea/dictionaries/Titus.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dictionaries/Titus.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/reeps/reeps.py" beforeDir="false" afterPath="$PROJECT_DIR$/reeps/reeps.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_multi_reeps.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_multi_reeps.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/data/xmls/twophase.xml" beforeDir="false" afterPath="$PROJECT_DIR$/data/xmls/twophase.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/doctrees/environment.pickle" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/doctrees/environment.pickle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/doctrees/index.doctree" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/doctrees/index.doctree" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/doctrees/modules/reeps.doctree" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/doctrees/modules/reeps.doctree" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/.buildinfo" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/.buildinfo" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/_modules/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/_modules/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/_modules/reeps/reeps.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/_modules/reeps/reeps.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/_sources/index.rst.txt" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/_sources/index.rst.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/_sources/modules/reeps.rst.txt" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/_sources/modules/reeps.rst.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/genindex.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/genindex.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/guide/install.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/guide/install.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/guide/quickstart.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/guide/quickstart.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/modules/reeps.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/modules/reeps.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/objects.inv" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/objects.inv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/py-modindex.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/py-modindex.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/search.html" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/search.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/build/html/searchindex.js" beforeDir="false" afterPath="$PROJECT_DIR$/docs/build/html/searchindex.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/source/conf.py" beforeDir="false" afterPath="$PROJECT_DIR$/docs/source/conf.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/source/index.rst" beforeDir="false" afterPath="$PROJECT_DIR$/docs/source/index.rst" afterDir="false" />
<change beforePath="$PROJECT_DIR$/docs/source/modules/reeps.rst" beforeDir="false" afterPath="$PROJECT_DIR$/docs/source/modules/reeps.rst" afterDir="false" />
<change beforePath="$PROJECT_DIR$/reeps/__init__.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/reeps/reeps.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/setup.py" beforeDir="false" afterPath="$PROJECT_DIR$/setup.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/multi_ree_settings.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/one_ree_settings.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_multi_reeps.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_reeps.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_reeps.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -15,8 +41,8 @@
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
<option value="Setup Script" />
<option value="Python Script" />
</list>
</option>
</component>
@ -39,20 +65,24 @@
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="Python" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../parameter estimation/parameter estimation/fit.py" />
<property name="restartRequiresConfirmation" value="false" />
<property name="run.code.analysis.last.selected.profile" value="aDefault" />
<property name="settings.editor.selected.configurable" value="preferences.sourceCode" />
</component>
<component name="RunManager" selected="Python.li_data_fit">
<configuration name="li_data_fit" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<component name="RunManager" selected="Python.eval_mod_lin_params_const_pitzer">
<configuration name="eval_const_lin_params_pitzer_fit" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="parameter-estimation" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/one_rare_earth_fit" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/one_rare_earth_fit/li_data_fit.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code/eval_const_lin_params_pitzer_fit.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
@ -61,28 +91,25 @@
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="multi_re_data_transformer" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="eval_mod_lin_params_const_pitzer" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="parameter-estimation" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/one_rare_earth_fit" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/one_rare_earth_fit/multi_re_data_transformer.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code/eval_mod_lin_params_const_pitzer.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="reeps" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="eval_mod_lin_params_mod_pitzer" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="parameter-estimation" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -90,29 +117,32 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/reeps" />
<option name="IS_MODULE_SDK" value="true" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/reeps/reeps.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code/eval_mod_lin_params_mod_pitzer.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="scratch_2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="grapher_pitzer_compare_r_squared" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="parameter-estimation" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$APPLICATION_CONFIG_DIR$/scratches" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$APPLICATION_CONFIG_DIR$/scratches/scratch_2.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code/grapher_pitzer_compare_r_squared.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
@ -121,21 +151,18 @@
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="single_re_data_transformer" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="grapher_pitzer_sens_anal" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="parameter-estimation" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/one_rare_earth_fit" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/one_rare_earth_fit/single_re_data_transformer.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../anl_box/Box Sync/titus/pitzer_parameter_explore/code/grapher_pitzer_sens_anal.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="SHOW_COMMAND_LINE" value="true" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
@ -144,11 +171,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.li_data_fit" />
<item itemvalue="Python.scratch_2" />
<item itemvalue="Python.reeps" />
<item itemvalue="Python.multi_re_data_transformer" />
<item itemvalue="Python.single_re_data_transformer" />
<item itemvalue="Python.eval_mod_lin_params_const_pitzer" />
<item itemvalue="Python.grapher_pitzer_sens_anal" />
<item itemvalue="Python.eval_mod_lin_params_const_pitzer" />
<item itemvalue="Python.grapher_pitzer_compare_r_squared" />
<item itemvalue="Python.grapher_pitzer_compare_r_squared" />
</list>
</recent_temporary>
</component>
@ -248,7 +275,14 @@
<option name="project" value="LOCAL" />
<updated>1591972483196</updated>
</task>
<option name="localTasksCounter" value="11" />
<task id="LOCAL-00011" summary="Included package data in data/csvs and data/xmls. Note this only works for sdists. If bdist is needed, research &quot;manifest.in&quot; python setup files.">
<created>1592321239574</created>
<option name="number" value="00011" />
<option name="presentableId" value="LOCAL-00011" />
<option name="project" value="LOCAL" />
<updated>1592321239574</updated>
</task>
<option name="localTasksCounter" value="12" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -269,8 +303,8 @@
<MESSAGE value="Completed one composition parameter estimation" />
<MESSAGE value="Modified reeps to grab charge from REE in xml file for initial chlorine moles calculation" />
<MESSAGE value="Allow user to change optimizer and objective function. Also added r-squared evaluator. Changed temp file location to user temp folder. Added a prediction dictionary to access the values predicted by model." />
<MESSAGE value="Included package data in data/csvs and data/xmls. Note this only works for sdists. If bdist is needed, research &quot;manifest.in&quot; python setup files." />
<option name="LAST_COMMIT_MESSAGE" value="Included package data in data/csvs and data/xmls. Note this only works for sdists. If bdist is needed, research &quot;manifest.in&quot; python setup files." />
<MESSAGE value="Edited parity plot to allow color to represent 3rd dimension. Still need to improve colorbar axis name." />
<option name="LAST_COMMIT_MESSAGE" value="Edited parity plot to allow color to represent 3rd dimension. Still need to improve colorbar axis name." />
</component>
<component name="WindowStateProjectService">
<state x="-1330" y="212" key="#Inspections" timestamp="1590787654691">
@ -290,43 +324,48 @@
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state x="-1213" y="379" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1590787657711" />
<state x="169" y="115" key="CommitChangelistDialog2" timestamp="1591972481244">
<state x="169" y="115" key="CommitChangelistDialog2" timestamp="1594738674676">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="-1364" y="117" key="CommitChangelistDialog2/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591212137077" />
<state x="169" y="115" key="CommitChangelistDialog2/0.0.1920.1040@0.0.1920.1040" timestamp="1591972481244" />
<state x="-1364" y="117" key="CommitChangelistDialog2/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592321237444" />
<state x="169" y="115" key="CommitChangelistDialog2/0.0.1920.1040@0.0.1920.1040" timestamp="1594738674676" />
<state x="-1828" y="94" width="1736" height="856" key="DiffContextDialog" timestamp="1591048879404">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state x="-1828" y="94" width="1736" height="856" key="DiffContextDialog/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591048879404" />
<state x="-1180" y="278" key="FileChooserDialogImpl" timestamp="1591977779746">
<state x="740" y="276" key="FileChooserDialogImpl" timestamp="1592953302783">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="-1180" y="278" key="FileChooserDialogImpl/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592851918282" />
<state x="740" y="276" key="FileChooserDialogImpl/0.0.1920.1040@0.0.1920.1040" timestamp="1592953302783" />
<state x="-1523" y="423" key="GitRewordDialog" timestamp="1592321433648">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state x="-1180" y="278" key="FileChooserDialogImpl/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591977779746" />
<state width="1899" height="280" key="GridCell.Tab.0.bottom" timestamp="1592250647211">
<screen x="0" y="0" width="1920" height="1040" />
<state x="-1523" y="423" key="GitRewordDialog/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592321433648" />
<state width="1899" height="279" key="GridCell.Tab.0.bottom" timestamp="1594689830790">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state width="1899" height="280" key="GridCell.Tab.0.bottom/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592019561222" />
<state width="1899" height="279" key="GridCell.Tab.0.bottom/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1594689830790" />
<state width="1897" height="281" key="GridCell.Tab.0.bottom/0.0.1536.824/-1920.2.1920.1040@0.0.1536.824" timestamp="1590795386435" />
<state width="1899" height="280" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1592250647211" />
<state width="1899" height="280" key="GridCell.Tab.0.center" timestamp="1592250647211">
<screen x="0" y="0" width="1920" height="1040" />
<state width="1899" height="279" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1594670971711" />
<state width="1899" height="279" key="GridCell.Tab.0.center" timestamp="1594689830785">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state width="1899" height="280" key="GridCell.Tab.0.center/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592019561222" />
<state width="1899" height="279" key="GridCell.Tab.0.center/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1594689830785" />
<state width="1897" height="281" key="GridCell.Tab.0.center/0.0.1536.824/-1920.2.1920.1040@0.0.1536.824" timestamp="1590795386434" />
<state width="1899" height="280" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1592250647211" />
<state width="1899" height="280" key="GridCell.Tab.0.left" timestamp="1592250647211">
<screen x="0" y="0" width="1920" height="1040" />
<state width="1899" height="279" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1594670971711" />
<state width="1899" height="279" key="GridCell.Tab.0.left" timestamp="1594689830780">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state width="1899" height="280" key="GridCell.Tab.0.left/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592019561220" />
<state width="1899" height="279" key="GridCell.Tab.0.left/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1594689830780" />
<state width="1897" height="281" key="GridCell.Tab.0.left/0.0.1536.824/-1920.2.1920.1040@0.0.1536.824" timestamp="1590795386433" />
<state width="1899" height="280" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1592250647211" />
<state width="1899" height="280" key="GridCell.Tab.0.right" timestamp="1592250647211">
<screen x="0" y="0" width="1920" height="1040" />
<state width="1899" height="279" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1594670971710" />
<state width="1899" height="279" key="GridCell.Tab.0.right" timestamp="1594689830787">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state width="1899" height="280" key="GridCell.Tab.0.right/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592019561222" />
<state width="1899" height="279" key="GridCell.Tab.0.right/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1594689830786" />
<state width="1897" height="281" key="GridCell.Tab.0.right/0.0.1536.824/-1920.2.1920.1040@0.0.1536.824" timestamp="1590795386434" />
<state width="1899" height="280" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1592250647211" />
<state width="1899" height="279" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1594670971711" />
<state x="-1460" y="164" key="SettingsEditor" timestamp="1591824476757">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
@ -335,31 +374,39 @@
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state width="498" height="446" key="SwitcherDM/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591822611305" />
<state x="-1368" y="256" key="Vcs.Push.Dialog.v2" timestamp="1591047662716">
<state x="-1245" y="438" width="437" height="168" key="VCS.ChangelistChooser" timestamp="1592321346068">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state x="-1245" y="438" width="437" height="168" key="VCS.ChangelistChooser/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592321346068" />
<state x="-1368" y="256" key="Vcs.Push.Dialog.v2" timestamp="1592321242949">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state x="-1368" y="256" key="Vcs.Push.Dialog.v2/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591047662716" />
<state x="263" y="182" width="1283" height="717" key="com.intellij.ide.util.TipDialog" timestamp="1592167059593">
<state x="-1368" y="256" key="Vcs.Push.Dialog.v2/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1592321242949" />
<state x="263" y="182" width="1283" height="717" key="com.intellij.ide.util.TipDialog" timestamp="1594694030135">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="-1341" y="300" key="com.intellij.ide.util.TipDialog/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591885589059" />
<state x="463" y="236" key="com.intellij.ide.util.TipDialog/0.0.1536.824/-1920.2.1920.1040@0.0.1536.824" timestamp="1590784072879" />
<state x="263" y="182" width="1283" height="717" key="com.intellij.ide.util.TipDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1592167059593" />
<state x="-1341" y="300" key="com.intellij.ide.util.TipDialog/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1593278433547" />
<state x="463" y="236" key="com.intellij.ide.util.TipDialog/0.0.1536.824/-1920.2.1920.1040@0.0.1536.824" timestamp="1592413869252" />
<state x="263" y="182" width="1283" height="717" key="com.intellij.ide.util.TipDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1594694030135" />
<state x="-1151" y="440" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1591821870917">
<screen x="-1920" y="2" width="1920" height="1040" />
</state>
<state x="-1151" y="440" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591821870917" />
<state x="769" y="438" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/0.0.1920.1040@0.0.1920.1040" timestamp="1591037545358" />
<state x="701" y="164" key="refactoring.ChangeSignatureDialog" timestamp="1591641371174">
<state x="601" y="253" width="700" height="530" key="recent.locations.popup" timestamp="1593450221360">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="601" y="253" width="700" height="530" key="recent.locations.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1593450221360" />
<state x="701" y="164" key="refactoring.ChangeSignatureDialog" timestamp="1594217920814">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="-1219" y="166" key="refactoring.ChangeSignatureDialog/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591059193684" />
<state x="701" y="164" key="refactoring.ChangeSignatureDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1591641371174" />
<state x="-1297" y="227" width="672" height="678" key="search.everywhere.popup" timestamp="1591993050079">
<screen x="-1920" y="2" width="1920" height="1040" />
<state x="701" y="164" key="refactoring.ChangeSignatureDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1594217920814" />
<state x="623" y="225" width="672" height="678" key="search.everywhere.popup" timestamp="1594418193025">
<screen x="0" y="0" width="1920" height="1040" />
</state>
<state x="-1297" y="227" width="672" height="678" key="search.everywhere.popup/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1591993050079" />
<state x="623" y="225" width="672" height="678" key="search.everywhere.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1591649653766" />
<state x="-1297" y="227" width="672" height="678" key="search.everywhere.popup/0.0.1536.824/-1920.2.1920.1040@-1920.2.1920.1040" timestamp="1594092852973" />
<state x="623" y="225" width="672" height="678" key="search.everywhere.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1594418193025" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>

@ -50,7 +50,7 @@
<const_cp Tmax="300.0" Tmin="298.0">
<t0 units="K">298.14999999999998</t0>
<h0 units="J/mol" updated="Updated at 16:49 6-11-2020">-4704703.645715787</h0>
<h0 units="J/mol" updated="Updated at 12:14 7-10-2020">-4704699.156668724</h0>
<s0 units="J/mol/K"> 1117.965 </s0>
<cp0 units="J/mol/K">0.0</cp0>
</const_cp>

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: b8f412ebe5809ccc0d7953f47cdeb07e
config: 09c8b5742a1f96cda53a1848d8ac9ec1
tags: 645f666f9bcd5a90fca523b33c5a78b7

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Overview: module code &mdash; reeps 1.0.0 documentation</title>
<title>Overview: module code &mdash; LLEPE 1.0.0 documentation</title>
@ -48,7 +48,7 @@
<a href="../index.html" class="icon icon-home"> reeps
<a href="../index.html" class="icon icon-home"> LLEPE
@ -88,7 +88,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/reeps.html">LLEPE</a></li>
</ul>
@ -103,7 +103,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">reeps</a>
<a href="../index.html">LLEPE</a>
</nav>
@ -150,7 +150,8 @@
<div itemprop="articleBody">
<h1>All modules for which code is available</h1>
<ul><li><a href="reeps/reeps.html">reeps.reeps</a></li>
<ul><li><a href="llepe/llepe.html">llepe.llepe</a></li>
<li><a href="reeps/reeps.html">reeps.reeps</a></li>
</ul>
</div>

File diff suppressed because it is too large Load Diff

@ -3,12 +3,11 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to reeps's docs! - the Rare earth element parameter searcher
====================================================================
REEPS is a package for thermodynamic parameter estimation specifically
for rare earth element extraction modeling.
Welcome to llepe's docs! - the Liquid-Liquid Extraction Parameter Estimator
===========================================================================
LLEPE is a package for thermodynamic parameter estimation for liquid-liquid extraction modeling
REEPS takes experimental data in a csv and system data in a xml.
LLEPE takes experimental data in a csv and system data in a xml.
The package then uses Cantera, another python package, to simulate equilibrium.

@ -1,8 +1,8 @@
.. _reeps:
.. automodule:: reeps
.. automodule:: llepe
REEPS
LLEPE
=====
@ -10,6 +10,6 @@ REEPS
Parameters
----------
.. autoclass:: REEPS
.. autoclass:: LLEPE
:members:
:inherited-members:

@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index &mdash; reeps 1.0.0 documentation</title>
<title>Index &mdash; LLEPE 1.0.0 documentation</title>
@ -49,7 +49,7 @@
<a href="index.html" class="icon icon-home"> reeps
<a href="index.html" class="icon icon-home"> LLEPE
@ -89,7 +89,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">LLEPE</a></li>
</ul>
@ -104,7 +104,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">reeps</a>
<a href="index.html">LLEPE</a>
</nav>
@ -169,7 +169,7 @@
<h2 id="F">F</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.fit">fit() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.fit">fit() (llepe.LLEPE method)</a>
</li>
</ul></td>
</tr></table>
@ -177,41 +177,43 @@
<h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.get_aq_solvent_name">get_aq_solvent_name() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_aq_solvent_name">get_aq_solvent_name() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_aq_solvent_rho">get_aq_solvent_rho() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_aq_solvent_rho">get_aq_solvent_rho() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_complex_names">get_complex_names() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_complex_names">get_complex_names() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_diluant_name">get_diluant_name() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_dependant_params_dict">get_dependant_params_dict() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_diluant_rho">get_diluant_rho() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_diluant_name">get_diluant_name() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_exp_df">get_exp_df() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_diluant_rho">get_diluant_rho() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_extractant_name">get_extractant_name() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_exp_df">get_exp_df() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_extractant_rho">get_extractant_rho() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_extractant_name">get_extractant_name() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#llepe.LLEPE.get_extractant_rho">get_extractant_rho() (llepe.LLEPE method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.get_in_moles">get_in_moles() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_extracted_species_ion_names">get_extracted_species_ion_names() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_objective_function">get_objective_function() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_extracted_species_list">get_extracted_species_list() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_opt_dict">get_opt_dict() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_in_moles">get_in_moles() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_optimizer">get_optimizer() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_objective_function">get_objective_function() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_phases">get_phases() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_opt_dict">get_opt_dict() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_predicted_dict">get_predicted_dict() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_optimizer">get_optimizer() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_rare_earth_ion_names">get_rare_earth_ion_names() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_phases">get_phases() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_re_species_list">get_re_species_list() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_predicted_dict">get_predicted_dict() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.get_temp_xml_file_path">get_temp_xml_file_path() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.get_temp_xml_file_path">get_temp_xml_file_path() (llepe.LLEPE method)</a>
</li>
</ul></td>
</tr></table>
@ -219,7 +221,18 @@
<h2 id="L">L</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.log_mean_squared_error">log_mean_squared_error() (reeps.REEPS method)</a>
<li>
llepe
<ul>
<li><a href="modules/reeps.html#module-llepe">module</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#llepe.LLEPE">LLEPE (class in llepe)</a>
</li>
<li><a href="modules/reeps.html#llepe.LLEPE.log_mean_squared_error">log_mean_squared_error() (llepe.LLEPE method)</a>
</li>
</ul></td>
</tr></table>
@ -231,7 +244,7 @@
module
<ul>
<li><a href="modules/reeps.html#module-reeps">reeps</a>
<li><a href="modules/reeps.html#module-llepe">llepe</a>
</li>
</ul></li>
</ul></td>
@ -240,7 +253,11 @@
<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.parity_plot">parity_plot() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.parity_plot">parity_plot() (llepe.LLEPE method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#llepe.LLEPE.plot_3d_data">plot_3d_data() (llepe.LLEPE static method)</a>
</li>
</ul></td>
</tr></table>
@ -248,18 +265,7 @@
<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.r_squared">r_squared() (reeps.REEPS method)</a>
</li>
<li>
reeps
<ul>
<li><a href="modules/reeps.html#module-reeps">module</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS">REEPS (class in reeps)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.r_squared">r_squared() (llepe.LLEPE method)</a>
</li>
</ul></td>
</tr></table>
@ -267,41 +273,43 @@
<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.set_aq_solvent_name">set_aq_solvent_name() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.scipy_minimize">scipy_minimize() (llepe.LLEPE static method)</a>
</li>
<li><a href="modules/reeps.html#llepe.LLEPE.set_aq_solvent_name">set_aq_solvent_name() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_aq_solvent_rho">set_aq_solvent_rho() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_aq_solvent_rho">set_aq_solvent_rho() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_complex_names">set_complex_names() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_complex_names">set_complex_names() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_diluant_name">set_diluant_name() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_dependant_params_dict">set_dependant_params_dict() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_diluant_rho">set_diluant_rho() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_diluant_name">set_diluant_name() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_exp_df">set_exp_df() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_diluant_rho">set_diluant_rho() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_extractant_name">set_extractant_name() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_exp_df">set_exp_df() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_extractant_rho">set_extractant_rho() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_extractant_name">set_extractant_name() (llepe.LLEPE method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.set_in_moles">set_in_moles() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_extractant_rho">set_extractant_rho() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_objective_function">set_objective_function() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_extracted_species_ion_names">set_extracted_species_ion_names() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_opt_dict">set_opt_dict() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_extracted_species_list">set_extracted_species_list() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_optimizer">set_optimizer() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_in_moles">set_in_moles() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_phases">set_phases() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_objective_function">set_objective_function() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_rare_earth_ion_names">set_rare_earth_ion_names() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_opt_dict">set_opt_dict() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_re_species_list">set_re_species_list() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_optimizer">set_optimizer() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.set_temp_xml_file_path">set_temp_xml_file_path() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_phases">set_phases() (llepe.LLEPE method)</a>
</li>
<li><a href="modules/reeps.html#reeps.REEPS.slsqp_optimizer">slsqp_optimizer() (reeps.REEPS static method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.set_temp_xml_file_path">set_temp_xml_file_path() (llepe.LLEPE method)</a>
</li>
</ul></td>
</tr></table>
@ -309,11 +317,11 @@
<h2 id="U">U</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.update_predicted_dict">update_predicted_dict() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.update_predicted_dict">update_predicted_dict() (llepe.LLEPE method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="modules/reeps.html#reeps.REEPS.update_xml">update_xml() (reeps.REEPS method)</a>
<li><a href="modules/reeps.html#llepe.LLEPE.update_xml">update_xml() (llepe.LLEPE method)</a>
</li>
</ul></td>
</tr></table>

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Installation &mdash; reeps 1.0.0 documentation</title>
<title>Installation &mdash; LLEPE 1.0.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Getting Started" href="quickstart.html" />
<link rel="prev" title="Welcome to reeps&#39;s docs! - the Rare earth element parameter searcher" href="../index.html" />
<link rel="prev" title="Welcome to llepe&#39;s docs! - the Liquid-Liquid Extraction Parameter Estimator" href="../index.html" />
</head>
<body class="wy-body-for-nav">
@ -50,7 +50,7 @@
<a href="../index.html" class="icon icon-home"> reeps
<a href="../index.html" class="icon icon-home"> LLEPE
@ -97,7 +97,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/reeps.html">LLEPE</a></li>
</ul>
@ -112,7 +112,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">reeps</a>
<a href="../index.html">LLEPE</a>
</nav>
@ -204,7 +204,7 @@ pip install -e .<span class="o">[</span>docs,tests<span class="o">]</span>
<a href="quickstart.html" class="btn btn-neutral float-right" title="Getting Started" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="../index.html" class="btn btn-neutral float-left" title="Welcome to reeps&#39;s docs! - the Rare earth element parameter searcher" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
<a href="../index.html" class="btn btn-neutral float-left" title="Welcome to llepe&#39;s docs! - the Liquid-Liquid Extraction Parameter Estimator" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Getting Started &mdash; reeps 1.0.0 documentation</title>
<title>Getting Started &mdash; LLEPE 1.0.0 documentation</title>
@ -35,7 +35,7 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="REEPS" href="../modules/reeps.html" />
<link rel="next" title="LLEPE" href="../modules/reeps.html" />
<link rel="prev" title="Installation" href="install.html" />
</head>
@ -50,7 +50,7 @@
<a href="../index.html" class="icon icon-home"> reeps
<a href="../index.html" class="icon icon-home"> LLEPE
@ -90,7 +90,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/reeps.html">LLEPE</a></li>
</ul>
@ -105,7 +105,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">reeps</a>
<a href="../index.html">LLEPE</a>
</nav>
@ -193,7 +193,7 @@ aqueous phase.</p>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../modules/reeps.html" class="btn btn-neutral float-right" title="REEPS" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="../modules/reeps.html" class="btn btn-neutral float-right" title="LLEPE" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="install.html" class="btn btn-neutral float-left" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to reeps&#39;s docs! - the Rare earth element parameter searcher &mdash; reeps 1.0.0 documentation</title>
<title>Welcome to llepe&#39;s docs! - the Liquid-Liquid Extraction Parameter Estimator &mdash; LLEPE 1.0.0 documentation</title>
@ -49,7 +49,7 @@
<a href="#" class="icon icon-home"> reeps
<a href="#" class="icon icon-home"> LLEPE
@ -89,7 +89,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">LLEPE</a></li>
</ul>
@ -104,7 +104,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="#">reeps</a>
<a href="#">LLEPE</a>
</nav>
@ -135,7 +135,7 @@
<li><a href="#">Docs</a> &raquo;</li>
<li>Welcome to reeps's docs! - the Rare earth element parameter searcher</li>
<li>Welcome to llepe's docs! - the Liquid-Liquid Extraction Parameter Estimator</li>
<li class="wy-breadcrumbs-aside">
@ -154,11 +154,10 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="welcome-to-reeps-s-docs-the-rare-earth-element-parameter-searcher">
<h1>Welcome to reeps's docs! - the Rare earth element parameter searcher<a class="headerlink" href="#welcome-to-reeps-s-docs-the-rare-earth-element-parameter-searcher" title="Permalink to this headline"></a></h1>
<p>REEPS is a package for thermodynamic parameter estimation specifically
for rare earth element extraction modeling.</p>
<p>REEPS takes experimental data in a csv and system data in a xml.</p>
<div class="section" id="welcome-to-llepe-s-docs-the-liquid-liquid-extraction-parameter-estimator">
<h1>Welcome to llepe's docs! - the Liquid-Liquid Extraction Parameter Estimator<a class="headerlink" href="#welcome-to-llepe-s-docs-the-liquid-liquid-extraction-parameter-estimator" title="Permalink to this headline"></a></h1>
<p>LLEPE is a package for thermodynamic parameter estimation for liquid-liquid extraction modeling</p>
<p>LLEPE takes experimental data in a csv and system data in a xml.</p>
<p>The package then uses Cantera, another python package, to simulate equilibrium.</p>
<p>Error between predicted and experimental data is then minimized.</p>
<div class="toctree-wrapper compound">
@ -178,7 +177,7 @@ for rare earth element extraction modeling.</p>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">LLEPE</a></li>
</ul>
</div>
</div>

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>REEPS &mdash; reeps 1.0.0 documentation</title>
<title>LLEPE &mdash; LLEPE 1.0.0 documentation</title>
@ -49,7 +49,7 @@
<a href="../index.html" class="icon icon-home"> reeps
<a href="../index.html" class="icon icon-home"> LLEPE
@ -89,7 +89,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">REEPS</a><ul>
<li class="toctree-l1 current"><a class="current reference internal" href="#">LLEPE</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#parameters">Parameters</a></li>
</ul>
</li>
@ -107,7 +107,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">reeps</a>
<a href="../index.html">LLEPE</a>
</nav>
@ -138,7 +138,7 @@
<li><a href="../index.html">Docs</a> &raquo;</li>
<li>REEPS</li>
<li>LLEPE</li>
<li class="wy-breadcrumbs-aside">
@ -157,21 +157,20 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<span class="target" id="module-reeps"><span id="reeps"></span></span><div class="section" id="id1">
<h1>REEPS<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h1>
<span class="target" id="module-llepe"><span id="reeps"></span></span><div class="section" id="llepe">
<h1>LLEPE<a class="headerlink" href="#llepe" title="Permalink to this headline"></a></h1>
<div class="section" id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="reeps.REEPS">
<em class="property">class </em><code class="sig-prename descclassname">reeps.</code><code class="sig-name descname">REEPS</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exp_csv_filename</span></em>, <em class="sig-param"><span class="n">phases_xml_filename</span></em>, <em class="sig-param"><span class="n">phase_names</span></em>, <em class="sig-param"><span class="n">aq_solvent_name</span></em>, <em class="sig-param"><span class="n">extractant_name</span></em>, <em class="sig-param"><span class="n">diluant_name</span></em>, <em class="sig-param"><span class="n">complex_names</span></em>, <em class="sig-param"><span class="n">rare_earth_ion_names</span></em>, <em class="sig-param"><span class="n">re_species_list</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">aq_solvent_rho</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">extractant_rho</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">diluant_rho</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">opt_dict</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">objective_function</span><span class="o">=</span><span class="default_value">'Log-MSE'</span></em>, <em class="sig-param"><span class="n">optimizer</span><span class="o">=</span><span class="default_value">'SLSQP'</span></em>, <em class="sig-param"><span class="n">temp_xml_file_path</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS" title="Permalink to this definition"></a></dt>
<dd><p>Rare earth elements (REE or RE) Takes in experimental data
Returns parameters for GEM</p>
<dt id="llepe.LLEPE">
<em class="property">class </em><code class="sig-prename descclassname">llepe.</code><code class="sig-name descname">LLEPE</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exp_data</span></em>, <em class="sig-param"><span class="n">phases_xml_filename</span></em>, <em class="sig-param"><span class="n">phase_names</span></em>, <em class="sig-param"><span class="n">aq_solvent_name</span></em>, <em class="sig-param"><span class="n">extractant_name</span></em>, <em class="sig-param"><span class="n">diluant_name</span></em>, <em class="sig-param"><span class="n">complex_names</span></em>, <em class="sig-param"><span class="n">extracted_species_ion_names</span></em>, <em class="sig-param"><span class="n">extracted_species_list</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">aq_solvent_rho</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">extractant_rho</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">diluant_rho</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">opt_dict</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">objective_function</span><span class="o">=</span><span class="default_value">'Log-MSE'</span></em>, <em class="sig-param"><span class="n">optimizer</span><span class="o">=</span><span class="default_value">'SLSQP'</span></em>, <em class="sig-param"><span class="n">temp_xml_file_path</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">dependant_params_dict</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE" title="Permalink to this definition"></a></dt>
<dd><p>Liquid-Liquid Extraction Parameter estimator</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The order in which the REEs appear in the csv file must be the same
order as they appear in the xml, complex_names and
rare_earth_ion_names.</p>
<p>For example, say in exp_csv_filename's csv, RE_1 is Nd RE_2 is Pr,
<p>The order in which the extracted species (ES) appear in the csv file
must be the same order as they appear in the xml, complex_names and
extracted_species_ion_names.</p>
<p>For example, say in exp_csv_filename's csv, ES_1 is Nd ES_2 is Pr,
and</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">aq_solvent_name</span> <span class="o">=</span> <span class="s1">&#39;H2O(L)&#39;</span>
<span class="n">extractant_name</span> <span class="o">=</span> <span class="s1">&#39;(HA)2(org)&#39;</span>
@ -187,22 +186,24 @@ Pr_aq_i, Pr_aq_eq, Pr_d_eq]</p>
<p>The organic speciesArray must be
&quot;(HA)2(org) dodecane Nd(H(A)2)3(org) Pr(H(A)2)3(org)&quot;</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">complex_names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Nd(H(A)2)3(org)&#39;</span><span class="p">,</span> <span class="s1">&#39;Pr(H(A)2)3(org)&#39;</span><span class="p">]</span>
<span class="n">rare_earth_ion_names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Nd+++&#39;</span><span class="p">,</span> <span class="s1">&#39;Pr+++&#39;</span><span class="p">]</span>
<span class="n">extracted_species_ion_names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Nd+++&#39;</span><span class="p">,</span> <span class="s1">&#39;Pr+++&#39;</span><span class="p">]</span>
</pre></div>
</div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>exp_csv_filename</strong> -- <p>(str) csv file name with experimental data</p>
<li><p><strong>exp_data</strong> -- <p>(str or pd.DataFrame) csv file name
or DataFrame with experimental data</p>
<p>In the .csv file, the rows are different experiments and
columns are the measured quantities.</p>
<p>The ordering of the columns needs to be:</p>
<p>[h_i, h_eq, z_i, z_eq, {RE_1}_aq_i, {RE_1}_aq_eq, {RE_1}_d_eq,
{RE_2}_aq_i, {RE_2}_aq_eq, {RE_2}_d_eq,...
{RE_N}_aq_i, {RE_N}_aq_eq, {RE_N}_d_eq]</p>
<p>[h_i, h_eq, z_i, z_eq,
{ES_1}_aq_i, {ES_1}_aq_eq, {ES_1}_d_eq,
{ES_2}_aq_i, {ES_2}_aq_eq, {ES_2}_d_eq,...
{ES_N}_aq_i, {ES_N}_aq_eq, {ES_N}_d_eq]</p>
<p>Naming does not matter, just the order.</p>
<p>Where {RE_1}-{RE_N} are the rare earth element names of interest
<p>Where {ES_1}-{ES_N} are the extracted species names of interest
i.e. Nd, Pr, La, etc.</p>
<p>Below is an explanation of the columns.</p>
<table class="docutils align-default">
@ -239,18 +240,18 @@ extractant (mol/L)</p></td>
extractant (mol/L)</p></td>
</tr>
<tr class="row-even"><td><p>4</p></td>
<td><p>{RE}_aq_i</p></td>
<td><p>Initial concentration of RE ions (mol/L)</p></td>
<td><p>{ES}_aq_i</p></td>
<td><p>Initial concentration of ES ions (mol/L)</p></td>
</tr>
<tr class="row-odd"><td><p>5</p></td>
<td><p>{RE}_aq_eq</p></td>
<td><p>Equilibrium concentration of RE ions
<td><p>{ES}_aq_eq</p></td>
<td><p>Equilibrium concentration of ES ions
in aqueous phase (mol/L)</p></td>
</tr>
<tr class="row-even"><td><p>6</p></td>
<td><p>{RE}_d_eq</p></td>
<td><p>{ES}_d_eq</p></td>
<td><p>Equilibrium Ratio between amount of
RE atoms in organic to aqueous</p></td>
ES atoms in organic to aqueous</p></td>
</tr>
</tbody>
</table>
@ -260,10 +261,10 @@ for equilibrium calc</p>
<p>Would recommend copying and modifying xmls located in data/xmls
or in Cantera's &quot;data&quot; folder</p>
<p>speciesArray fields need specific ordering.</p>
<p>In aqueous phase: aq_solvent_name, H+, OH-, Cl-, RE_1, RE_2, ..., RE_N</p>
<p>For aqueous phase, RE_1-RE_N represent RE ion names i.e. Nd+++, Pr+++</p>
<p>In organic phase : extractant_name, diluant_name, RE_1, RE_2, ..., RE_N</p>
<p>For organic phase, RE_1-RE_N represent RE complex names
<p>In aqueous phase: aq_solvent_name, H+, OH-, Cl-, ES_1, ES_2, ..., ES_N</p>
<p>(ES_1-ES_N) represent ES ion names i.e. Nd+++, Pr+++</p>
<p>In organic phase : extractant_name, diluant_name, ES_1, ES_2, ..., ES_N</p>
<p>(ES_1-ES_N) represent ES complex names
i.e. Nd(H(A)2)3(org), Pr(H(A)2)3(org)</p>
</p></li>
<li><p><strong>phase_names</strong> -- <p>(list) names of phases in xml file</p>
@ -272,18 +273,14 @@ i.e. Nd(H(A)2)3(org), Pr(H(A)2)3(org)</p>
<li><p><strong>aq_solvent_name</strong> -- (str) name of aqueous solvent in xml file</p></li>
<li><p><strong>extractant_name</strong> -- (str) name of extractant in xml file</p></li>
<li><p><strong>diluant_name</strong> -- (str) name of diluant in xml file</p></li>
<li><p><strong>complex_names</strong> -- <p>(list) names of complexes in xml file.</p>
<p>Ensure the ordering is correct</p>
</p></li>
<li><p><strong>rare_earth_ion_names</strong> -- <p>(list) names of rare earth ions in xml file</p>
<p>Ensure the ordering is correct</p>
</p></li>
<li><p><strong>re_species_list</strong> -- <p>(list) names of rare earth elements.</p>
<li><p><strong>complex_names</strong> -- (list) names of complexes in xml file.</p></li>
<li><p><strong>extracted_species_ion_names</strong> -- (list) names of extracted species ions
in xml file</p></li>
<li><p><strong>extracted_species_list</strong> -- <p>(list) names of extracted species elements.</p>
<dl class="simple">
<dt>If <code class="docutils literal notranslate"><span class="pre">None</span></code>, re_species_list will be rare_earth_ion_names without '+'</dt><dd><p>i.e. 'Nd+++'-&gt;'Nd'</p>
<dt>If <code class="docutils literal notranslate"><span class="pre">None</span></code>, extracted_species_list will be extracted_species_ion_names</dt><dd><p>without '+' i.e. 'Nd+++'-&gt;'Nd'</p>
</dd>
</dl>
<p>Ensure the ordering is correct</p>
</p></li>
<li><p><strong>aq_solvent_rho</strong> -- <p>(float) density of solvent (g/L)</p>
<p>If <code class="docutils literal notranslate"><span class="pre">None</span></code>, molar volume/molecular weight is used from xml</p>
@ -296,26 +293,26 @@ i.e. Nd(H(A)2)3(org), Pr(H(A)2)3(org)</p>
</p></li>
<li><p><strong>opt_dict</strong> -- <p>(dict) dictionary containing info about which
species parameters are updated to fit model to experimental data</p>
<p>Should have the format as below</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">opt_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;species1&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="s2">&quot;parameter1&quot;</span><span class="p">:</span> <span class="s2">&quot;guess1&quot;</span><span class="p">,</span>
<span class="s2">&quot;parameter2&quot;</span><span class="p">:</span> <span class="s2">&quot;guess2&quot;</span><span class="p">,</span>
<span class="o">...</span>
<span class="s2">&quot;parameterN&quot;</span><span class="p">:</span> <span class="s2">&quot;guessN&quot;</span><span class="p">}</span>
<span class="s2">&quot;species2&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="s2">&quot;parameter1&quot;</span><span class="p">:</span> <span class="s2">&quot;guess1&quot;</span><span class="p">,</span>
<span class="s2">&quot;parameter2&quot;</span><span class="p">:</span> <span class="s2">&quot;guess2&quot;</span><span class="p">,</span>
<span class="o">...</span>
<span class="s2">&quot;parameterN&quot;</span><span class="p">:</span> <span class="s2">&quot;guessN&quot;</span><span class="p">}</span>
<span class="o">...</span>
<span class="s2">&quot;speciesN&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="s2">&quot;parameter1&quot;</span><span class="p">:</span> <span class="s2">&quot;guess1&quot;</span><span class="p">,</span>
<span class="s2">&quot;parameter2&quot;</span><span class="p">:</span> <span class="s2">&quot;guess2&quot;</span><span class="p">,</span>
<span class="o">...</span>
<span class="s2">&quot;parameterN&quot;</span><span class="p">:</span> <span class="s2">&quot;guessN&quot;</span><span class="p">}</span>
<span class="p">}</span>
<p>Should have the format as below. Dictionary keys under user defined
parameter name must be named as shown below ('upper_element_name',
'upper_attrib_name', etc.). 'attrib_name's and 'attrib_value's can
be None. {} denotes areas for user to fill in.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">opt_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;</span><span class="si">{user_defined_name_for_parameter_1}</span><span class="s2">&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="s1">&#39;upper_element_name&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">param_upper_element</span><span class="p">},</span>
<span class="s1">&#39;upper_attrib_name&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">param_upper_attrib_name</span><span class="p">},</span>
<span class="s1">&#39;upper_attrib_value&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">param_upper_attrib_value</span><span class="p">},</span>
<span class="s1">&#39;lower_element_name&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">param_lower_element</span><span class="p">},</span>
<span class="s1">&#39;lower_attrib_name&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">param_lower_attrib_name</span><span class="p">},</span>
<span class="s1">&#39;lower_attrib_value&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">param_lower_attrib_value</span><span class="p">},</span>
<span class="s1">&#39;input_format&#39;</span><span class="p">:</span> <span class="p">{</span><span class="nb">str</span> <span class="nb">format</span> <span class="n">to</span> <span class="nb">input</span> <span class="n">input_value</span><span class="p">}</span>
<span class="s1">&#39;input_value&#39;</span><span class="p">:</span> <span class="p">{</span><span class="n">guess_value</span><span class="p">}},</span>
<span class="s2">&quot;</span><span class="si">{user_defined_name_for_parameter_2}</span><span class="s2">&quot;</span><span class="p">:</span>
<span class="o">...</span>
<span class="o">...</span>
<span class="p">}</span>
</pre></div>
</div>
<p>See example files for more examples.</p>
</p></li>
<li><p><strong>objective_function</strong> -- <p>(function or str) function to compute objective</p>
<p>By default, the objective function is log mean squared error
@ -347,18 +344,18 @@ of distribution ratio</p>
<tr class="row-odd"><td><p>extractant conc in org</p></td>
<td><p>predicted_dict['z_eq']</p></td>
</tr>
<tr class="row-even"><td><p>RE ion eq conc in aq</p></td>
<td><p>predicted_dict['{RE}_aq_eq']</p></td>
<tr class="row-even"><td><p>ES ion eq conc in aq</p></td>
<td><p>predicted_dict['{ES}_aq_eq']</p></td>
</tr>
<tr class="row-odd"><td><p>RE complex eq conc in org</p></td>
<td><p>predicted_dict['{RE}_org_eq']</p></td>
<tr class="row-odd"><td><p>ES complex eq conc in org</p></td>
<td><p>predicted_dict['{ES}_org_eq']</p></td>
</tr>
<tr class="row-even"><td><p>RE distribution ratio</p></td>
<td><p>predicted_dict['{RE}_d_eq']</p></td>
<tr class="row-even"><td><p>ES distribution ratio</p></td>
<td><p>predicted_dict['{ES}_d_eq']</p></td>
</tr>
</tbody>
</table>
<p>Replace &quot;{RE}&quot; with rare earth element i.e. Nd, La, etc.</p>
<p>Replace &quot;{ES}&quot; with extracted species element i.e. Nd, La, etc.</p>
<p>For measured values, use the same names, but
replace <code class="docutils literal notranslate"><span class="pre">predicted_dict</span></code> with <code class="docutils literal notranslate"><span class="pre">measured_df</span></code></p>
</p></li>
@ -377,10 +374,6 @@ divide the bounds by the guess and get</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="s2">&quot;bounds&quot;</span><span class="p">:</span> <span class="p">[(</span><span class="mf">1e-1</span><span class="p">,</span> <span class="mf">1e1</span><span class="p">)]</span>
</pre></div>
</div>
<p>Though fit() returns a structure identical to opt_dict with correct
scaled values, in case bounds and constraints are used, you must
note the optimized x's are first multiplied by the initial guess
before written to the xml.</p>
</div>
<p>By default, the optimizer is scipy's optimize function with</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">default_kwargs</span><span class="o">=</span> <span class="p">{</span><span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="s1">&#39;SLSQP&#39;</span><span class="p">,</span>
@ -394,7 +387,10 @@ before written to the xml.</p>
<p>Function needs to take inputs:
<code class="docutils literal notranslate"><span class="pre">optimizer(objective_function,</span> <span class="pre">x_guess,</span> <span class="pre">kwargs)</span></code></p>
<p><code class="docutils literal notranslate"><span class="pre">kwargs</span></code> is optional</p>
<p>Function needs to return: (np.ndarray) Optimized parameters</p>
<dl class="simple">
<dt>Function needs to return: ((np.ndarray, float)) Optimized parameters,</dt><dd><p>objective_function value</p>
</dd>
</dl>
</p></li>
<li><p><strong>temp_xml_file_path</strong> -- <p>(str) path to temporary xml file.</p>
<p>This xml file is a duplicate of the phases_xml_file name and is
@ -402,33 +398,47 @@ modified during the optimization process to avoid changing the original
xml file</p>
<p>default is local temp folder</p>
</p></li>
<li><p><strong>dependant_params_dict</strong> -- <p>(dict) dictionary containing information
about parameters dependant on opt_dict. Has a similar structure to
opt_dict except instead of input values, it has 3 other fields:
'function', 'kwargs', and 'independent_params.</p>
<p>'function' is a function of the form
<code class="docutils literal notranslate"><span class="pre">function(independent_param__value_list,</span> <span class="pre">**kwargs)</span></code>
'kwargs' are the extra arguments to pass to function
'independent_params' is a list of parameter names in opt_dict that the
dependent_param is a function of.</p>
<p>See example code for usage.</p>
</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt id="reeps.REEPS.fit">
<code class="sig-name descname">fit</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">objective_function</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">optimizer</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">objective_kwargs</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">optimizer_kwargs</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; dict<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.fit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.fit" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.fit">
<code class="sig-name descname">fit</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">objective_function</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">optimizer</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">objective_kwargs</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">optimizer_kwargs</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; tuple<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.fit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.fit" title="Permalink to this definition"></a></dt>
<dd><p>Fits experimental to modeled data by minimizing objective function
with optimizer. Returns dictionary with opt_dict structure</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>objective_function</strong> -- (function) function to compute objective</p></li>
<li><p><strong>optimizer</strong> -- (function) function to perform optimization</p></li>
<li><p><strong>optimizer_kwargs</strong> -- (dict) arguments for optimizer</p></li>
<li><p><strong>objective_kwargs</strong> -- (dict) arguments for objective function</p></li>
<li><p><strong>objective_function</strong> -- (function) function to compute objective
If 'None', last set objective or default function is used</p></li>
<li><p><strong>optimizer</strong> -- (function) function to perform optimization
If 'None', last set optimizer or default is used</p></li>
<li><p><strong>optimizer_kwargs</strong> -- (dict) optional arguments for optimizer</p></li>
<li><p><strong>objective_kwargs</strong> -- (dict) optional arguments
for objective function</p></li>
</ul>
</dd>
<dt class="field-even">Returns opt_dict</dt>
<dd class="field-even"><p>(dict) optimized opt_dict. Has identical structure
as opt_dict</p>
<dt class="field-even">Returns tuple</dt>
<dd class="field-even"><p>(opt_dict (dict), opt_value (float))
optimized opt_dict: Has identical structure as opt_dict</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_aq_solvent_name">
<code class="sig-name descname">get_aq_solvent_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_aq_solvent_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_aq_solvent_name" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_aq_solvent_name">
<code class="sig-name descname">get_aq_solvent_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_aq_solvent_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_aq_solvent_name" title="Permalink to this definition"></a></dt>
<dd><p>Returns aq_solvent_name</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -438,8 +448,8 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_aq_solvent_rho">
<code class="sig-name descname">get_aq_solvent_rho</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_aq_solvent_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_aq_solvent_rho" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_aq_solvent_rho">
<code class="sig-name descname">get_aq_solvent_rho</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_aq_solvent_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_aq_solvent_rho" title="Permalink to this definition"></a></dt>
<dd><p>Returns aqueous solvent density (g/L)</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -449,8 +459,8 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_complex_names">
<code class="sig-name descname">get_complex_names</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_complex_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_complex_names" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_complex_names">
<code class="sig-name descname">get_complex_names</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_complex_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_complex_names" title="Permalink to this definition"></a></dt>
<dd><p>Returns list of complex names</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -460,15 +470,25 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_diluant_name">
<code class="sig-name descname">get_diluant_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_diluant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_diluant_name" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_dependant_params_dict">
<code class="sig-name descname">get_dependant_params_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_dependant_params_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_dependant_params_dict" title="Permalink to this definition"></a></dt>
<dd><p>Returns the dependant_params_dict
:return: dependant_params_dict: (dict) dictionary containing</p>
<blockquote>
<div><p>information about parameters dependant on opt_dict</p>
</div></blockquote>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.get_diluant_name">
<code class="sig-name descname">get_diluant_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_diluant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_diluant_name" title="Permalink to this definition"></a></dt>
<dd><p>Returns diluant name
:return: diluant_name: (str) name of diluant in xml file</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_diluant_rho">
<code class="sig-name descname">get_diluant_rho</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_diluant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_diluant_rho" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_diluant_rho">
<code class="sig-name descname">get_diluant_rho</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_diluant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_diluant_rho" title="Permalink to this definition"></a></dt>
<dd><p>Returns diluant density (g/L)</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -478,8 +498,8 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_exp_df">
<code class="sig-name descname">get_exp_df</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; pandas.core.frame.DataFrame<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_exp_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_exp_df" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_exp_df">
<code class="sig-name descname">get_exp_df</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; pandas.core.frame.DataFrame<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_exp_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_exp_df" title="Permalink to this definition"></a></dt>
<dd><p>Returns the experimental DataFrame</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -489,8 +509,8 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_extractant_name">
<code class="sig-name descname">get_extractant_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_extractant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_extractant_name" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_extractant_name">
<code class="sig-name descname">get_extractant_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_extractant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_extractant_name" title="Permalink to this definition"></a></dt>
<dd><p>Returns extractant name</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -500,8 +520,8 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_extractant_rho">
<code class="sig-name descname">get_extractant_rho</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_extractant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_extractant_rho" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_extractant_rho">
<code class="sig-name descname">get_extractant_rho</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_extractant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_extractant_rho" title="Permalink to this definition"></a></dt>
<dd><p>Returns extractant density (g/L)</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -511,8 +531,32 @@ as opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_in_moles">
<code class="sig-name descname">get_in_moles</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; pandas.core.frame.DataFrame<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_in_moles"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_in_moles" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_extracted_species_ion_names">
<code class="sig-name descname">get_extracted_species_ion_names</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_extracted_species_ion_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_extracted_species_ion_names" title="Permalink to this definition"></a></dt>
<dd><p>Returns list of extracted species ion names</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>extracted_species_ion_names: (list) names of
extracted species ions in xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.get_extracted_species_list">
<code class="sig-name descname">get_extracted_species_list</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_extracted_species_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_extracted_species_list" title="Permalink to this definition"></a></dt>
<dd><p>Returns list of extracted species names</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>extracted_species_list: (list) names of extracted species in
xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.get_in_moles">
<code class="sig-name descname">get_in_moles</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; pandas.core.frame.DataFrame<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_in_moles"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_in_moles" title="Permalink to this definition"></a></dt>
<dd><p>Returns the in_moles DataFrame which contains the initial mole
fractions of each species for each experiment</p>
<dl class="field-list simple">
@ -523,8 +567,8 @@ fractions of each species for each experiment</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_objective_function">
<code class="sig-name descname">get_objective_function</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_objective_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_objective_function" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_objective_function">
<code class="sig-name descname">get_objective_function</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_objective_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_objective_function" title="Permalink to this definition"></a></dt>
<dd><p>Returns objective function</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -535,8 +579,8 @@ error between model and experimental data</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_opt_dict">
<code class="sig-name descname">get_opt_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; dict<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_opt_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_opt_dict" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_opt_dict">
<code class="sig-name descname">get_opt_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; dict<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_opt_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_opt_dict" title="Permalink to this definition"></a></dt>
<dd><p>Returns the dictionary containing optimization information</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -547,8 +591,8 @@ species parameters are updated to fit model to experimental data</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_optimizer">
<code class="sig-name descname">get_optimizer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_optimizer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_optimizer" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_optimizer">
<code class="sig-name descname">get_optimizer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_optimizer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_optimizer" title="Permalink to this definition"></a></dt>
<dd><p>Returns objective function</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -559,8 +603,8 @@ function</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_phases">
<code class="sig-name descname">get_phases</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_phases"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_phases" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_phases">
<code class="sig-name descname">get_phases</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_phases"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_phases" title="Permalink to this definition"></a></dt>
<dd><p>Returns the list of Cantera solutions</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -570,8 +614,8 @@ function</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_predicted_dict">
<code class="sig-name descname">get_predicted_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_predicted_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_predicted_dict" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_predicted_dict">
<code class="sig-name descname">get_predicted_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_predicted_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_predicted_dict" title="Permalink to this definition"></a></dt>
<dd><p>Returns predicted dictionary of species concentrations
that xml parameters predicts given current in_moles</p>
<dl class="field-list simple">
@ -582,32 +626,8 @@ that xml parameters predicts given current in_moles</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_rare_earth_ion_names">
<code class="sig-name descname">get_rare_earth_ion_names</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_rare_earth_ion_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_rare_earth_ion_names" title="Permalink to this definition"></a></dt>
<dd><p>Returns list of rare earth ion names</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>rare_earth_ion_names: (list) names of rare earth ions in
xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_re_species_list">
<code class="sig-name descname">get_re_species_list</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; list<a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_re_species_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_re_species_list" title="Permalink to this definition"></a></dt>
<dd><p>Returns list of rare earth element names</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>re_species_list: (list) names of rare earth elements in
xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.get_temp_xml_file_path">
<code class="sig-name descname">get_temp_xml_file_path</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.get_temp_xml_file_path"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.get_temp_xml_file_path" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.get_temp_xml_file_path">
<code class="sig-name descname">get_temp_xml_file_path</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.get_temp_xml_file_path"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.get_temp_xml_file_path" title="Permalink to this definition"></a></dt>
<dd><p>Returns path to temporary xml file.</p>
<p>This xml file is a duplicate of the phases_xml_file name and is
modified during the optimization process to avoid changing the original
@ -620,9 +640,9 @@ xml file.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.log_mean_squared_error">
<code class="sig-name descname">log_mean_squared_error</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">predicted_dict</span></em>, <em class="sig-param"><span class="n">meas_df</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.log_mean_squared_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.log_mean_squared_error" title="Permalink to this definition"></a></dt>
<dd><p>Default objective function for REEPS</p>
<dt id="llepe.LLEPE.log_mean_squared_error">
<code class="sig-name descname">log_mean_squared_error</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">predicted_dict</span></em>, <em class="sig-param"><span class="n">meas_df</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.log_mean_squared_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.log_mean_squared_error" title="Permalink to this definition"></a></dt>
<dd><p>Default objective function for LLEPE</p>
<p>Returns the log mean squared error of
predicted distribution ratios (d=n_org/n_aq)
to measured d.</p>
@ -641,41 +661,110 @@ to measured d.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.parity_plot">
<code class="sig-name descname">parity_plot</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">compared_value</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">save_path</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">print_r_squared</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.parity_plot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.parity_plot" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.parity_plot">
<code class="sig-name descname">parity_plot</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">compared_value</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">c_data</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">c_label</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">plot_title</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">save_path</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">print_r_squared</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">data_labels</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">legend</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.parity_plot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.parity_plot" title="Permalink to this definition"></a></dt>
<dd><p>Parity plot between measured and predicted compared_value.
Default compared value is {RE_1}_aq_eq</p>
Default compared value is {ES_1}_aq_eq</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>compared_value</strong> -- (str) Quantity to compare predicted and
experimental data. Can be any column containing &quot;eq&quot; in exp_df i.e.
h_eq, z_eq, {RE}_d_eq, etc.</p></li>
h_eq, z_eq, {ES}_d_eq, etc.</p></li>
<li><p><strong>plot_title</strong> -- <p>(str or boolean)</p>
<dl class="simple">
<dt>If None (default): Plot title will be generated from compared_value</dt><dd><p>Recommend to just explore. If h_eq, plot_title is
&quot;H^+ eq conc&quot;.</p>
</dd>
</dl>
<p>If str: Plot title will be plot_title string</p>
<p>If &quot;False&quot;: No plot title</p>
</p></li>
<li><p><strong>c_data</strong> -- (list or np.ndarray) data for color axis</p></li>
<li><p><strong>c_label</strong> -- (str) label for color axis</p></li>
<li><p><strong>save_path</strong> -- (str) save path for parity plot</p></li>
<li><p><strong>print_r_squared</strong> -- (boolean) To plot or not to plot r-squared
value. Prints 2 places past decimal</p></li>
<li><p><strong>data_labels</strong> -- labels for the data such as paper's name where
experiment is pulled from.</p></li>
<li><p><strong>legend</strong> -- whether to display legend for data_labels. Has no
effect if data_labels is None</p></li>
</ul>
</dd>
<dt class="field-even">Return fig, ax</dt>
<dd class="field-even"><p>returns the figure and axes objects</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.plot_3d_data">
<em class="property">static </em><code class="sig-name descname">plot_3d_data</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x_data</span></em>, <em class="sig-param"><span class="n">y_data</span></em>, <em class="sig-param"><span class="n">z_data</span></em>, <em class="sig-param"><span class="n">c_data</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">x_label</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">y_label</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">z_label</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">c_label</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.plot_3d_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.plot_3d_data" title="Permalink to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x_data</strong> -- (list) list of data for x axis</p></li>
<li><p><strong>y_data</strong> -- (list) list of data for y axis</p></li>
<li><p><strong>z_data</strong> -- (list) list of data for z axis</p></li>
<li><p><strong>c_data</strong> -- (list) list of data for color axis</p></li>
<li><p><strong>x_label</strong> -- (str) label for x axis</p></li>
<li><p><strong>y_label</strong> -- (str) label for y axis</p></li>
<li><p><strong>z_label</strong> -- (str) label for z axis</p></li>
<li><p><strong>c_label</strong> -- (str) label for color axis</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.r_squared">
<code class="sig-name descname">r_squared</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">compared_value</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.r_squared"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.r_squared" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.r_squared">
<code class="sig-name descname">r_squared</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">compared_value</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.r_squared"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.r_squared" title="Permalink to this definition"></a></dt>
<dd><p>r-squared value comparing measured and predicted compared value</p>
<p>Closer to 1, the better the model's predictions.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>compared_value</strong> -- (str) Quantity to compare predicted and
experimental data. Can be any column containing &quot;eq&quot; in exp_df i.e.
h_eq, z_eq, {RE}_d_eq, etc.</p>
h_eq, z_eq, {ES}_d_eq, etc. default is {ES}_aq_eq</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_aq_solvent_name">
<code class="sig-name descname">set_aq_solvent_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">aq_solvent_name</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_aq_solvent_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_aq_solvent_name" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.scipy_minimize">
<em class="property">static </em><code class="sig-name descname">scipy_minimize</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">objective</span></em>, <em class="sig-param"><span class="n">x_guess</span></em>, <em class="sig-param"><span class="n">optimizer_kwargs</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.scipy_minimize"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.scipy_minimize" title="Permalink to this definition"></a></dt>
<dd><p>The default optimizer for LLEPE</p>
<p>Uses scipy.minimize</p>
<p>By default, options are</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">default_kwargs</span><span class="o">=</span> <span class="p">{</span><span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="s1">&#39;SLSQP&#39;</span><span class="p">,</span>
<span class="s2">&quot;bounds&quot;</span><span class="p">:</span> <span class="p">[(</span><span class="mf">1e-1</span><span class="p">,</span> <span class="mf">1e1</span><span class="p">)]</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">x_guess</span><span class="p">),</span>
<span class="s2">&quot;constraints&quot;</span><span class="p">:</span> <span class="p">(),</span>
<span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;disp&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
<span class="s1">&#39;maxiter&#39;</span><span class="p">:</span> <span class="mi">1000</span><span class="p">,</span>
<span class="s1">&#39;ftol&#39;</span><span class="p">:</span> <span class="mf">1e-6</span><span class="p">}}</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>objective</strong> -- (func) the objective function</p></li>
<li><p><strong>x_guess</strong> -- (np.ndarray) the initial guess (always 1)</p></li>
<li><p><strong>optimizer_kwargs</strong> -- (dict) dictionary of options for minimize</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>((np.ndarray, float)) Optimized parameters,
objective_function value</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.set_aq_solvent_name">
<code class="sig-name descname">set_aq_solvent_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">aq_solvent_name</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_aq_solvent_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_aq_solvent_name" title="Permalink to this definition"></a></dt>
<dd><p>Change aq_solvent_name to input aq_solvent_name</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -685,8 +774,8 @@ h_eq, z_eq, {RE}_d_eq, etc.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_aq_solvent_rho">
<code class="sig-name descname">set_aq_solvent_rho</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">aq_solvent_rho</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_aq_solvent_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_aq_solvent_rho" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_aq_solvent_rho">
<code class="sig-name descname">set_aq_solvent_rho</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">aq_solvent_rho</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_aq_solvent_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_aq_solvent_rho" title="Permalink to this definition"></a></dt>
<dd><p>Changes aqueous solvent density (g/L) to input aq_solvent_rho</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -696,8 +785,8 @@ h_eq, z_eq, {RE}_d_eq, etc.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_complex_names">
<code class="sig-name descname">set_complex_names</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">complex_names</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_complex_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_complex_names" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_complex_names">
<code class="sig-name descname">set_complex_names</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">complex_names</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_complex_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_complex_names" title="Permalink to this definition"></a></dt>
<dd><p>Change complex names list to input complex_names</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -707,8 +796,16 @@ h_eq, z_eq, {RE}_d_eq, etc.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_diluant_name">
<code class="sig-name descname">set_diluant_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">diluant_name</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_diluant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_diluant_name" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_dependant_params_dict">
<code class="sig-name descname">set_dependant_params_dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dependant_params_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_dependant_params_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_dependant_params_dict" title="Permalink to this definition"></a></dt>
<dd><p>Sets the dependant_params_dict
:param dependant_params_dict: (dict) dictionary containing information
about parameters dependant on opt_dict</p>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.set_diluant_name">
<code class="sig-name descname">set_diluant_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">diluant_name</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_diluant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_diluant_name" title="Permalink to this definition"></a></dt>
<dd><p>Change diluant_name to input diluant_name</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -718,8 +815,8 @@ h_eq, z_eq, {RE}_d_eq, etc.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_diluant_rho">
<code class="sig-name descname">set_diluant_rho</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">diluant_rho</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_diluant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_diluant_rho" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_diluant_rho">
<code class="sig-name descname">set_diluant_rho</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">diluant_rho</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_diluant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_diluant_rho" title="Permalink to this definition"></a></dt>
<dd><p>Changes diluant density (g/L) to input diluant_rho</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -729,29 +826,30 @@ h_eq, z_eq, {RE}_d_eq, etc.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_exp_df">
<code class="sig-name descname">set_exp_df</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exp_csv_filename</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_exp_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_exp_df" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_exp_df">
<code class="sig-name descname">set_exp_df</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exp_data</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_exp_df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_exp_df" title="Permalink to this definition"></a></dt>
<dd><p>Changes the experimental DataFrame to input exp_csv_filename data
and renames columns to internal REEPS names</p>
<p>h_i, h_eq, z_i, z_eq, {RE}_aq_i, {RE}_aq_eq, {RE}_d</p>
and renames columns to internal LLEPE names</p>
<p>h_i, h_eq, z_i, z_eq, {ES}_aq_i, {ES}_aq_eq, {ES}_d</p>
<p>See class docstring on &quot;exp_csv_filename&quot; for further explanations.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>exp_csv_filename</strong> -- (str) file name/path for experimental data csv</p>
<dd class="field-odd"><p><strong>exp_data</strong> -- (str or pd.DataFrame)
file name/path or DataFrame for experimental data csv</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_extractant_name">
<code class="sig-name descname">set_extractant_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">extractant_name</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_extractant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_extractant_name" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_extractant_name">
<code class="sig-name descname">set_extractant_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">extractant_name</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_extractant_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_extractant_name" title="Permalink to this definition"></a></dt>
<dd><p>Change extractant_name to input extractant_name
:param extractant_name: (str) name of extractant in xml file</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_extractant_rho">
<code class="sig-name descname">set_extractant_rho</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">extractant_rho</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_extractant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_extractant_rho" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_extractant_rho">
<code class="sig-name descname">set_extractant_rho</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">extractant_rho</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_extractant_rho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_extractant_rho" title="Permalink to this definition"></a></dt>
<dd><p>Changes extractant density (g/L) to input extractant_rho</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -761,8 +859,38 @@ and renames columns to internal REEPS names</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_in_moles">
<code class="sig-name descname">set_in_moles</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">feed_vol</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_in_moles"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_in_moles" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_extracted_species_ion_names">
<code class="sig-name descname">set_extracted_species_ion_names</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">extracted_species_ion_names</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_extracted_species_ion_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_extracted_species_ion_names" title="Permalink to this definition"></a></dt>
<dd><dl class="simple">
<dt>Change list of extracted species ion names to input</dt><dd><p>extracted_species_ion_names</p>
</dd>
</dl>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>extracted_species_ion_names</strong> -- (list) names of extracted species
ions in xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.set_extracted_species_list">
<code class="sig-name descname">set_extracted_species_list</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">extracted_species_list</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_extracted_species_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_extracted_species_list" title="Permalink to this definition"></a></dt>
<dd><dl class="simple">
<dt>Change list of extracted species ion names to input</dt><dd><p>extracted_species_ion_names</p>
</dd>
</dl>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>extracted_species_list</strong> -- (list) names of extracted species in
xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="llepe.LLEPE.set_in_moles">
<code class="sig-name descname">set_in_moles</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">feed_vol</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_in_moles"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_in_moles" title="Permalink to this definition"></a></dt>
<dd><p>Function that initializes mole fractions to input feed_vol</p>
<p>This function is called at initialization</p>
<p>Sets in_moles to a pd.DataFrame containing initial mole fractions</p>
@ -770,14 +898,14 @@ and renames columns to internal REEPS names</p>
<p>This function also calls update_predicted_dict</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>feed_vol</strong> -- (float) feed volume of mixture (g/L)</p>
<dd class="field-odd"><p><strong>feed_vol</strong> -- (float) feed volume of mixture (L)</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_objective_function">
<code class="sig-name descname">set_objective_function</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">objective_function</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_objective_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_objective_function" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_objective_function">
<code class="sig-name descname">set_objective_function</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">objective_function</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_objective_function"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_objective_function" title="Permalink to this definition"></a></dt>
<dd><p>Change objective function to input objective_function.</p>
<blockquote>
<div><p>See class docstring on &quot;objective_function&quot; for instructions</p>
@ -791,8 +919,8 @@ error between model and experimental data</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_opt_dict">
<code class="sig-name descname">set_opt_dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">opt_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_opt_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_opt_dict" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_opt_dict">
<code class="sig-name descname">set_opt_dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">opt_dict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_opt_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_opt_dict" title="Permalink to this definition"></a></dt>
<dd><p>Change the dictionary to input opt_dict.</p>
<p>opt_dict specifies species parameters to be updated to
fit model to data</p>
@ -806,8 +934,8 @@ species parameters are updated to fit model to experimental data</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_optimizer">
<code class="sig-name descname">set_optimizer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">optimizer</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_optimizer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_optimizer" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_optimizer">
<code class="sig-name descname">set_optimizer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">optimizer</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_optimizer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_optimizer" title="Permalink to this definition"></a></dt>
<dd><p>Change optimizer function to input optimizer.</p>
<blockquote>
<div><p>See class docstring on &quot;optimizer&quot; for instructions</p>
@ -821,11 +949,11 @@ function</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_phases">
<code class="sig-name descname">set_phases</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">phases_xml_filename</span></em>, <em class="sig-param"><span class="n">phase_names</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_phases"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_phases" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_phases">
<code class="sig-name descname">set_phases</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">phases_xml_filename</span></em>, <em class="sig-param"><span class="n">phase_names</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_phases"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_phases" title="Permalink to this definition"></a></dt>
<dd><p>Change list of Cantera solutions by inputting
new xml file name and phase names</p>
<p>Also runs set_in_moles to set initial molality to 1 g/L</p>
<p>Also runs set_in_moles to set feed volume to 1 L</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -838,38 +966,8 @@ for equilibrium calc</p></li>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_rare_earth_ion_names">
<code class="sig-name descname">set_rare_earth_ion_names</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">rare_earth_ion_names</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_rare_earth_ion_names"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_rare_earth_ion_names" title="Permalink to this definition"></a></dt>
<dd><dl class="simple">
<dt>Change list of rare earth ion names to input</dt><dd><p>rare_earth_ion_names</p>
</dd>
</dl>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>rare_earth_ion_names</strong> -- (list) names of rare earth ions in
xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_re_species_list">
<code class="sig-name descname">set_re_species_list</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">re_species_list</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_re_species_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_re_species_list" title="Permalink to this definition"></a></dt>
<dd><dl class="simple">
<dt>Change list of rare earth ion names to input</dt><dd><p>rare_earth_ion_names</p>
</dd>
</dl>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>re_species_list</strong> -- (list) names of rare earth elements in
xml file</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.set_temp_xml_file_path">
<code class="sig-name descname">set_temp_xml_file_path</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">temp_xml_file_path</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.set_temp_xml_file_path"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.set_temp_xml_file_path" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.set_temp_xml_file_path">
<code class="sig-name descname">set_temp_xml_file_path</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">temp_xml_file_path</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.set_temp_xml_file_path"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.set_temp_xml_file_path" title="Permalink to this definition"></a></dt>
<dd><p>Changes temporary xml file path to input temp_xml_file_path.</p>
<p>This xml file is a duplicate of the phases_xml_file name and is
modified during the optimization process to avoid changing the original
@ -882,34 +980,8 @@ xml file.</p>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.slsqp_optimizer">
<em class="property">static </em><code class="sig-name descname">slsqp_optimizer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">objective</span></em>, <em class="sig-param"><span class="n">x_guess</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.slsqp_optimizer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.slsqp_optimizer" title="Permalink to this definition"></a></dt>
<dd><p>The default optimizer for REEPS</p>
<p>Uses scipy.minimize with options</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">default_kwargs</span><span class="o">=</span> <span class="p">{</span><span class="s2">&quot;method&quot;</span><span class="p">:</span> <span class="s1">&#39;SLSQP&#39;</span><span class="p">,</span>
<span class="s2">&quot;bounds&quot;</span><span class="p">:</span> <span class="p">[(</span><span class="mf">1e-1</span><span class="p">,</span> <span class="mf">1e1</span><span class="p">)</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">x_guess</span><span class="p">)],</span>
<span class="s2">&quot;constraints&quot;</span><span class="p">:</span> <span class="p">(),</span>
<span class="s2">&quot;options&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;disp&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
<span class="s1">&#39;maxiter&#39;</span><span class="p">:</span> <span class="mi">1000</span><span class="p">,</span>
<span class="s1">&#39;ftol&#39;</span><span class="p">:</span> <span class="mf">1e-6</span><span class="p">}}</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>objective</strong> -- (func) the objective function</p></li>
<li><p><strong>x_guess</strong> -- (np.ndarray) the initial guess (always 1)</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>(np.ndarray) Optimized parameters</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.update_predicted_dict">
<code class="sig-name descname">update_predicted_dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">phases_xml_filename</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">phase_names</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.update_predicted_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.update_predicted_dict" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.update_predicted_dict">
<code class="sig-name descname">update_predicted_dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">phases_xml_filename</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">phase_names</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.update_predicted_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.update_predicted_dict" title="Permalink to this definition"></a></dt>
<dd><p>Function that computes the predicted equilibrium concentrations
the fed phases_xml_filename parameters predicts given the initial
mole fractions set by in_moles()</p>
@ -927,8 +999,8 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
</dd></dl>
<dl class="py method">
<dt id="reeps.REEPS.update_xml">
<code class="sig-name descname">update_xml</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">info_dict</span></em>, <em class="sig-param"><span class="n">phases_xml_filename</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/reeps/reeps.html#REEPS.update_xml"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#reeps.REEPS.update_xml" title="Permalink to this definition"></a></dt>
<dt id="llepe.LLEPE.update_xml">
<code class="sig-name descname">update_xml</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">info_dict</span></em>, <em class="sig-param"><span class="n">phases_xml_filename</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">dependant_params_dict</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/llepe/llepe.html#LLEPE.update_xml"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#llepe.LLEPE.update_xml" title="Permalink to this definition"></a></dt>
<dd><p>updates xml file with info_dict</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -938,6 +1010,8 @@ Requires an identical structure to opt_dict</p></li>
<li><p><strong>phases_xml_filename</strong> -- (str) xml filename if editing other xml
If <code class="docutils literal notranslate"><span class="pre">None</span></code>, the current xml will be modified and the internal
Cantera phases will be refreshed to the new values.</p></li>
<li><p><strong>dependant_params_dict</strong> -- (dict) dictionary containing information
about parameters dependant on info_dict</p></li>
</ul>
</dd>
</dl>

Binary file not shown.

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Module Index &mdash; reeps 1.0.0 documentation</title>
<title>Python Module Index &mdash; LLEPE 1.0.0 documentation</title>
@ -55,7 +55,7 @@
<a href="index.html" class="icon icon-home"> reeps
<a href="index.html" class="icon icon-home"> LLEPE
@ -95,7 +95,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">LLEPE</a></li>
</ul>
@ -110,7 +110,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">reeps</a>
<a href="index.html">LLEPE</a>
</nav>
@ -160,17 +160,17 @@
<h1>Python Module Index</h1>
<div class="modindex-jumpbox">
<a href="#cap-r"><strong>r</strong></a>
<a href="#cap-l"><strong>l</strong></a>
</div>
<table class="indextable modindextable">
<tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
<tr class="cap" id="cap-r"><td></td><td>
<strong>r</strong></td><td></td></tr>
<tr class="cap" id="cap-l"><td></td><td>
<strong>l</strong></td><td></td></tr>
<tr>
<td></td>
<td>
<a href="modules/reeps.html#module-reeps"><code class="xref">reeps</code></a></td><td>
<a href="modules/reeps.html#module-llepe"><code class="xref">llepe</code></a></td><td>
<em></em></td></tr>
</table>

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Search &mdash; reeps 1.0.0 documentation</title>
<title>Search &mdash; LLEPE 1.0.0 documentation</title>
@ -49,7 +49,7 @@
<a href="index.html" class="icon icon-home"> reeps
<a href="index.html" class="icon icon-home"> LLEPE
@ -89,7 +89,7 @@
</ul>
<p class="caption"><span class="caption-text">Searchers</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">REEPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/reeps.html">LLEPE</a></li>
</ul>
@ -104,7 +104,7 @@
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">reeps</a>
<a href="index.html">LLEPE</a>
</nav>

File diff suppressed because one or more lines are too long

@ -17,7 +17,7 @@ sys.path.insert(0, os.path.abspath('../../'))
# -- Project information -----------------------------------------------------
project = 'reeps'
project = 'LLEPE'
copyright = '2020, Titus Quah, Nwike Iloeje'
author = 'Titus Quah, Nwike Iloeje'

@ -3,12 +3,11 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to reeps's docs! - the Rare earth element parameter searcher
====================================================================
REEPS is a package for thermodynamic parameter estimation specifically
for rare earth element extraction modeling.
Welcome to llepe's docs! - the Liquid-Liquid Extraction Parameter Estimator
===========================================================================
LLEPE is a package for thermodynamic parameter estimation for liquid-liquid extraction modeling
REEPS takes experimental data in a csv and system data in a xml.
LLEPE takes experimental data in a csv and system data in a xml.
The package then uses Cantera, another python package, to simulate equilibrium.

@ -1,8 +1,8 @@
.. _reeps:
.. automodule:: reeps
.. automodule:: llepe
REEPS
LLEPE
=====
@ -10,6 +10,6 @@ REEPS
Parameters
----------
.. autoclass:: REEPS
.. autoclass:: LLEPE
:members:
:inherited-members:

@ -1 +0,0 @@
from .reeps import REEPS

File diff suppressed because it is too large Load Diff

@ -1,12 +1,13 @@
from setuptools import setup
setup(
name='reeps',
name='llepe',
version='0.0.0',
packages=['reeps'],
packages=['LLEPE'],
package_data={
'csvs': ['data/csvs/*.csv'],
'xmls': ['data/xmls/*.xml']
'xmls': ['data/xmls/*.xml'],
'tests': ['tests/*.txt'],
},
include_package_data=True,
zip_safe=False,
@ -14,11 +15,10 @@ setup(
license='',
author='Titus Quah',
author_email='',
description='Rare earth element parameter searcher',
description='Liquid-liquid extraction parameter searcher',
install_requires=['cantera==2.4.0',
'pandas==1.0.3',
'numpy==1.15.4',
'scipy==1.4.1',
'seaborn==0.10.1',
'matplotlib==3.1.3']
)

@ -1 +0,0 @@
{"exp_csv_filename": "../data/csvs/Nd_exp_data.csv", "phases_xml_filename": "../data/xmls/twophase.xml", "opt_dict": {"Nd(H(A)2)3(org)": {"h0": -4662344.6400}}, "phase_names": ["HCl_electrolyte", "PC88A_liquid"], "aq_solvent_name": "H2O(L)", "extractant_name": "(HA)2(org)", "diluant_name": "dodecane", "complex_names": ["Nd(H(A)2)3(org)"], "rare_earth_ion_names": ["Nd+++"], "aq_solvent_rho": 1000.0, "extractant_rho": 960.0, "diluant_rho": 750.0}

@ -1 +0,0 @@
{"exp_csv_filename": "../data/csvs/exp_data.csv", "phases_xml_filename": "../data/xmls/twophase.xml", "opt_dict": {"Nd(H(A)2)3(org)": {"h0": -4662344.6400}}, "phase_names": ["HCl_electrolyte", "PC88A_liquid"], "aq_solvent_name": "H2O(L)", "extractant_name": "(HA)2(org)", "diluant_name": "dodecane", "complex_name": "Nd(H(A)2)3(org)", "rare_earth_ion_name": "Nd+++", "aq_solvent_rho": 1000.0, "extractant_rho": 960.0, "diluant_rho": 750.0}

@ -1,37 +0,0 @@
import json
import numpy as np
import sys
sys.path.append('../')
from reeps import REEPS
with open('multi_ree_settings.txt') as file:
testing_params = json.load(file)
beaker = REEPS(**testing_params)
def optimizer(func, x_guess):
lb = np.array([1e-1])
ub = np.array([1e1])
bounds = (lb, ub)
options = {'c1': 1e-3, 'c2': 1e-3, 'w': 0.9}
mini_optimizer = ps.single.global_best.GlobalBestPSO(n_particles=100,
dimensions=1,
options=options,
bounds=bounds)
f_opt, x_opt = mini_optimizer.optimize(func, iters=100)
return x_opt
minimizer_kwargs = {"method": 'SLSQP',
"bounds": [(1e-1, 1e1)],
"constraints": (),
"options": {'disp': True, 'maxiter': 1000, 'ftol': 1e-6}}
# est_enthalpy = beaker.fit(optimizer=optimizer)
est_enthalpy = beaker.fit()
print(est_enthalpy)
beaker.update_xml(est_enthalpy)
# beaker.parity_plot('Nd_d_eq', print_r_squared=True)
print(beaker.r_squared())

@ -1,165 +1,51 @@
import json
from unittest import TestCase
import numpy as np
import pyswarms as ps
from reeps import REEPS1
with open('one_ree_settings.txt') as file:
testing_params = json.load(file)
beaker = REEPS1(**testing_params)
# def new_obj(predicted_dict, meas_df, epsilon):
# meas_cols = list(meas_df)
# pred_keys = list(predicted_dict.keys())
# meas = meas_df[meas_cols[2]]
# pred = (predicted_dict['re_org'] + epsilon) / (predicted_dict['re_aq'] + epsilon)
# log_pred = np.log10(pred)
# log_meas = np.log10(meas)
# obj = np.sum((log_pred - log_meas) ** 2)
# return obj
# #
# #
# # def new_obj(ping):
# # print(ping)
# beaker.set_objective_function(new_obj)
# objective_kwargs = {"epsilon": 1e-14}
# beaker.set
# noinspection PyUnusedLocal
def optimizer(func, x_guess):
lb = np.array([1e-1])
ub = np.array([1e1])
bounds = (lb, ub)
options = {'c1': 1e-3, 'c2': 1e-3, 'w': 0.9}
mini_optimizer = ps.single.global_best.GlobalBestPSO(n_particles=100, dimensions=1,
options=options, bounds=bounds)
f_opt, x_opt = mini_optimizer.optimize(func, iters=100)
return x_opt
minimizer_kwargs = {"method": 'SLSQP',
"bounds": [(1e-1, 1e1)],
"constraints": (),
"options": {'disp': True, 'maxiter': 1000, 'ftol': 1e-6}}
# est_enthalpy = beaker.fit(optimizer=optimizer)
est_enthalpy = beaker.fit()
print(est_enthalpy)
beaker.update_xml(est_enthalpy)
# beaker.parity_plot()
print(beaker.r_squared())
# class TestREEPS1(TestCase):
# def test_slsqp_optimizer(self):
# self.fail()
#
# def test_log_mean_squared_error(self):
# self.fail()
#
# def test_get_exp_df(self):
# self.fail()
#
# def test_set_exp_df(self):
# self.fail()
#
# def test_get_phases(self):
# self.fail()
#
# def test_set_phases(self):
# self.fail()
#
# def test_get_opt_dict(self):
# self.fail()
#
# def test_set_opt_dict(self):
# self.fail()
#
# def test_get_aq_solvent_name(self):
# self.fail()
#
# def test_set_aq_solvent_name(self):
# self.fail()
#
# def test_get_extractant_name(self):
# self.fail()
#
# def test_set_extractant_name(self):
# self.fail()
#
# def test_get_diluant_name(self):
# self.fail()
#
# def test_set_diluant_name(self):
# self.fail()
#
# def test_get_complex_names(self):
# self.fail()
#
# def test_set_complex_names(self):
# self.fail()
#
# def test_get_rare_earth_ion_names(self):
# self.fail()
#
# def test_set_rare_earth_ion_names(self):
# self.fail()
#
# def test_get_aq_solvent_rho(self):
# self.fail()
#
# def test_set_aq_solvent_rho(self):
# self.fail()
#
# def test_get_extractant_rho(self):
# self.fail()
#
# def test_set_extractant_rho(self):
# self.fail()
#
# def test_get_diluant_rho(self):
# self.fail()
#
# def test_set_diluant_rho(self):
# self.fail()
#
# def test_set_in_moles(self):
# self.fail()
#
# def test_get_in_moles(self):
# self.fail()
#
# def test_set_objective_function(self):
# self.fail()
#
# def test_get_objective_function(self):
# self.fail()
#
# def test_set_optimizer(self):
# self.fail()
#
# def test_get_optimizer(self):
# self.fail()
#
# def test_update_predicted_dict(self):
# self.fail()
#
# def test_get_predicted_dict(self):
# self.fail()
#
# def test__internal_objective(self):
# self.fail()
#
# def test_fit(self):
# self.fail()
#
# def test_update_xml(self):
# self.fail()
#
# def test_parity_plot(self):
# self.fail()
#
# def test_r_squared(self):
# self.fail()
from llepe import LLEPE
import pkg_resources
validation_parameters_filename = pkg_resources.resource_filename(
'llepe',
r'..\tests\validation_parameters.txt')
validation_values_filename = pkg_resources.resource_filename(
'llepe',
r'..\tests\validation_values.txt')
with open(validation_parameters_filename) as file:
validation_params = json.load(file)
with open(validation_values_filename) as file:
validation_values = json.load(file)
searcher = LLEPE(**validation_params)
def array_to_list_in_dict(dictionary):
new_dictionary = {}
for key, value in dictionary.items():
new_dictionary[key] = list(value)
return new_dictionary
def test_init():
searcher.update_xml(validation_params['opt_dict'])
predicted_dict1 = searcher.get_predicted_dict()
predicted_dict1 = array_to_list_in_dict(predicted_dict1)
in_moles = searcher.get_in_moles().to_dict('list')
assert predicted_dict1 == validation_values['predicted_dict1'], \
"Prediction dicts are not equal. Error with set_in_moles, "
"update_predicted_dict, or changed xmls, or changed data"
assert in_moles == validation_values['in_moles'], \
"In_moles are different. Error with set_in_moles or data"
return None
def test_fit():
est_enthalpy, obj_value = searcher.fit()
searcher.update_xml(est_enthalpy)
predicted_dict2 = searcher.get_predicted_dict()
predicted_dict2 = array_to_list_in_dict(predicted_dict2)
r2 = searcher.r_squared()
assert est_enthalpy == validation_values['est_enthalpy'], \
"estimated enthalpy is not equal. Check fit method"
assert predicted_dict2 == validation_values['predicted_dict2'], \
"Prediction dicts are not equal. Error with set_in_moles, "
"update_predicted_dict, or changed xmls, or changed data"
assert r2 == validation_values['r2'], "r-squared value is off, check " \
"r_squared method"

Loading…
Cancel
Save