From 578aeb6f03b241a3f36dbb4295c58572fa70a0f4 Mon Sep 17 00:00:00 2001 From: titusquah <46580668+titusquah@users.noreply.github.com> Date: Wed, 9 Sep 2020 12:58:56 -0600 Subject: [PATCH] moved files for readthedocs --- docs/_static/css/baselines_theme.css | 52 ++++++++++++++++++ docs/_static/img/logo.png | Bin 0 -> 28074 bytes docs/_static/img/quick_start_output.png | Bin 0 -> 32464 bytes docs/conf.py | 70 ++++++++++++++++++++++++ docs/guide/install.rst | 44 +++++++++++++++ docs/guide/quickstart.rst | 49 +++++++++++++++++ docs/index.rst | 38 +++++++++++++ docs/modules/reeps.rst | 15 +++++ docs/requirements.txt | 0 9 files changed, 268 insertions(+) create mode 100644 docs/_static/css/baselines_theme.css create mode 100644 docs/_static/img/logo.png create mode 100644 docs/_static/img/quick_start_output.png create mode 100644 docs/conf.py create mode 100644 docs/guide/install.rst create mode 100644 docs/guide/quickstart.rst create mode 100644 docs/index.rst create mode 100644 docs/modules/reeps.rst create mode 100644 docs/requirements.txt 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 0000000000000000000000000000000000000000..f33739899a85ef8fedaa6f608043398ebd9e94fe GIT binary patch literal 28074 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 VAfla<;*I>^u7Vo6Q2s%{{{yi<;}rk^ literal 0 HcmV?d00001 diff --git a/docs/_static/img/quick_start_output.png b/docs/_static/img/quick_start_output.png new file mode 100644 index 0000000000000000000000000000000000000000..eefb412f68aeccb071fc529fba68e9664a8560ff GIT binary patch literal 32464 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 literal 0 HcmV?d00001 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