diff --git a/docs/_static/css/baselines_theme.css b/docs/_static/css/baselines_theme.css new file mode 100644 index 0000000..5701d00 --- /dev/null +++ b/docs/_static/css/baselines_theme.css @@ -0,0 +1,52 @@ +/* Main colors from https://color.adobe.com/fr/Copy-of-NOUEBO-Original-color-theme-11116609 */ +:root{ + --main-bg-color: #324D5C; + --link-color: #14B278; +} + +/* Header fonts y */ +h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend, p.caption { + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + + +/* Docs background */ +.wy-side-nav-search{ + background-color: var(--main-bg-color); +} + +/* Mobile version */ +.wy-nav-top{ + background-color: var(--main-bg-color); +} + +/* Change link colors (except for the menu) */ +a { + color: var(--link-color); +} + +a:hover { + color: #4F778F; +} + +.wy-menu a { + color: #b3b3b3; +} + +.wy-menu a:hover { + color: #b3b3b3; +} + +a.icon.icon-home { + color: #b3b3b3; +} + +.version{ + color: var(--link-color) !important; +} + + +/* Make code blocks have a background */ +.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'] { + background: #f8f8f8;; +} diff --git a/docs/_static/img/logo.png b/docs/_static/img/logo.png new file mode 100644 index 0000000..f337398 Binary files /dev/null and b/docs/_static/img/logo.png differ diff --git a/docs/_static/img/quick_start_output.png b/docs/_static/img/quick_start_output.png new file mode 100644 index 0000000..eefb412 Binary files /dev/null and b/docs/_static/img/quick_start_output.png differ diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..12d57b2 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,70 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys + +sys.path.insert(0, os.path.abspath('../../')) + +# -- Project information ----------------------------------------------------- + +project = 'LLEPE' +copyright = '2020, Titus Quah, Nwike Iloeje' +author = 'Titus Quah, Nwike Iloeje' +master_doc = 'index' + +# The full version, including alpha/beta/rc tags +release = '1.0.0' + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. + +import sphinx_rtd_theme + +extensions = ["sphinx_rtd_theme", + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.mathjax', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode', + ] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'python' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_rtd_theme" +html_logo = '_static/img/logo.png' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] diff --git a/docs/guide/install.rst b/docs/guide/install.rst new file mode 100644 index 0000000..ce1a1f9 --- /dev/null +++ b/docs/guide/install.rst @@ -0,0 +1,44 @@ +.. _install: + +************ +Installation +************ + + +Prerequisites +============= + +LLEPE requires python3 (>=3.5) with the development headers. + + +Stable Release +============== + +There is currently no stable release + + +Bleeding-edge version +===================== + +To install the latest master version: + +.. code-block:: bash + + pip install git+https://xgitlab.cels.anl.gov/summer-2020/parameter-estimation.git + + +Development version +=================== + +To contribute to Stable-Baselines, with support for running tests and building the documentation. + +.. code-block:: bash + + git clone https://xgitlab.cels.anl.gov/summer-2020/parameter-estimation.git && cd parameter-estimation + pip install -e .[docs,tests] + + +Using Docker Images +=================== + +Not set up yet. diff --git a/docs/guide/quickstart.rst b/docs/guide/quickstart.rst new file mode 100644 index 0000000..8e2c250 --- /dev/null +++ b/docs/guide/quickstart.rst @@ -0,0 +1,49 @@ +.. _quickstart: + +*************** +Getting Started +*************** + +Here is a quick example of how to fit an xml thermodynamic model to experimental data. + +This code fits Nd standard enthalpy in the "twophase.xml" cantera file to the +experimental data in "Nd_exp_data.csv". + +This code requires that you copy and paste the "elementz.xml" file in the llepe's data folder into +the Cantera's data folder located in your environments site-packages folder. + +The code then produces a parity plot of the measured and predicted concentrations of Nd 3+ in the +aqueous phase. + +.. code-block:: python + + from llepe import LLEPE + opt_dict = {'Nd(H(A)2)3(org)_h0': {'upper_element_name': 'species', + 'upper_attrib_name': 'name', + 'upper_attrib_value': 'Nd(H(A)2)3(org)', + 'lower_element_name': 'h0', + 'lower_attrib_name': None, + 'lower_attrib_value': None, + 'input_format': '{0}', + 'input_value': -4.7e6}} + + searcher_parameters = {'exp_data': 'Nd_exp_data.csv', + 'phases_xml_filename': 'twophase.xml', + 'opt_dict': opt_dict, + '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)'], + 'extracted_species_ion_names': ['Nd+++'], + 'aq_solvent_rho': 1000.0, + 'extractant_rho': 960.0, + 'diluant_rho': 750.0} + searcher = LLEPE(**searcher_parameters) + est_enthalpy = searcher.fit() + searcher.update_xml(est_enthalpy) + searcher.parity_plot(print_r_squared=True) + +The code should return something like this + +.. figure:: ../_static/img/quick_start_output.png \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..9a973a9 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,38 @@ +.. reeps documentation master file, created by Titus Quah + sphinx-quickstart on Tue Jun 9 10:13:23 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to llepe's docs! - the Liquid-Liquid Extraction Parameter Estimator +=========================================================================== +LLEPE is a package for thermodynamic parameter estimation for liquid-liquid extraction modeling + +LLEPE takes experimental data in a csv and system data in a xml. + +The package then uses Cantera, another python package, to simulate equilibrium. + +Error between predicted and experimental data is then minimized. + +.. toctree:: + :maxdepth: 2 + :caption: User Guide + + guide/install + guide/quickstart + +.. toctree:: + :maxdepth: 1 + :caption: Searchers + + modules/reeps + + + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/modules/reeps.rst b/docs/modules/reeps.rst new file mode 100644 index 0000000..bba5c13 --- /dev/null +++ b/docs/modules/reeps.rst @@ -0,0 +1,15 @@ +.. _reeps: + +.. automodule:: llepe + +LLEPE +===== + + + +Parameters +---------- + +.. autoclass:: LLEPE + :members: + :inherited-members: \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..e69de29