Metadata-Version: 2.1
Name: icoco
Version: 0.0.2
Summary: ICoCo python implementation
Home-page: https://github.com/roland-lenain/ICoCo-python
Author: R. Lenain
Author-email: roland.lenain@cea.fr
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/roland-lenain/ICoCo-python/issues
Project-URL: Doc, https://icoco-python.readthedocs.io/en/latest/index.html
Project-URL: Source, https://github.com/roland-lenain/ICoCo-python
Keywords: couping,salome,c3po
Platform: UNKNOWN
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
Provides-Extra: docs
Provides-Extra: test
License-File: LICENSE

# ICoCo API - Version 2 (02/2021)

**WARNING: This API should not be changed!!**

See https://github.com/cea-trust-platform/icoco-coupling for full reference.

ICoCo stands for **Interface for Code Coupling**. This is a norm that a code may choose
to implement to facilitate its coupling with other ICoCo-compliant codes.

Practically ICoCo is provided as a main abstract C++ class (ICoCo::Problem) that a code has
to derive to implement the norm. This can be only a partial implementation as some methods
are not relevant to all the codes (especially the I/O methods of the API).

The API rely on ICoCo::MEDDoubleField and ICoCo::MEDIntField for some of the field exchange
methods. An implementation for those is provided by the SALOME MEDCoupling library
(version 9.7+)

The full documentation of the API can be generated with Doxygen using the provided
file <code>doc/Doxyfile_icoco</code>.

Finally this API can be wrapped in Python: an example of a SWIG wrapping can be found in the
TRUST platform sources or in the swig subfolder for a dummy code named <code>ProblemYourCode</code>
which interface is defined in file <code>your_code.hxx</code>.


