.. KADMOS documentation master file, created by
   sphinx-quickstart on Mon Jun 13 13:12:24 2016.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to KADMOS's documentation!
==================================

See sidebar on the right for the table of contents.

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Documentation for the Code
==========================

.. automodule:: kadmos

Below the simplified class diagram of the KADMOS package is shown (not all methods are included for clarity). The UML can als be downloaded as PDF :download:`here <uml/KADMOS_UML.pdf>`.

.. image:: ../doc_source/uml/KADMOS_UML.png
   :width: 90 %
   :align: center

Example scripts for using KADMOS are available in the examples/scripts folder. The following scripts are available there:

* ``Sellar Problem``: Small two-disciplinary MDO problem based on MDO literature.
* ``TU Delft Wing Design``: The wing design case described here was developed at TU Delft and takes a variety of different disciplines into account.

KnowledgeBase
*************

Below the full KADMOS KnowledgeBase class description can be found.

.. automodule:: kadmos.sample.knowledgebase
   :members:

Graph
*****

Below the KADMOS KadmosGraph class and its subclasses are listed.

KadmosGraph
~~~~~~~~~~~
.. autoclass:: kadmos.graph.KadmosGraph
   :members:
   :inherited-members:

RepositoryConnectivityGraph
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. autoclass:: kadmos.graph.RepositoryConnectivityGraph
   :members:

FundamentalProblemGraph
~~~~~~~~~~~~~~~~~~~~~~~
.. autoclass:: kadmos.graph.FundamentalProblemGraph
   :members:

MdaoProcessGraph
~~~~~~~~~~~~~~~~
.. autoclass:: kadmos.graph.MdaoProcessGraph
   :members:

MdaoDataGraph
~~~~~~~~~~~~~
.. autoclass:: kadmos.graph.MdaoDataGraph
   :members:

Utilities
*********

Below the utilities used by KADMOS are listed.

.. automodule:: kadmos.utilities.general
   :members:

