mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-01-22 04:18:02 -05:00
19 lines
1.0 KiB
ReStructuredText
19 lines
1.0 KiB
ReStructuredText
*******************
|
|
Low Level Interface
|
|
*******************
|
|
|
|
For more advanced use, it can be useful to have access to lower-level internals of the CoolProp code. Also, this interface is strongly recommended for mixtures, where the high-level api has some serious limitations. For simpler use, you can use the :ref:`high-level interface <high_level_api>`.
|
|
|
|
At the C++ level, the code is based on the use of an :cpapi:`AbstractState` `abstract base class <http://en.wikipedia.org/wiki/Abstract_type>`_ which defines a protocol that :ref:`the property backends <backends>` must implement. In this way, it is very easy to extend CoolProp to connect with another completely unrelated property library, as was done for REFPROP.
|
|
|
|
To begin with, an illustrative example of using the low-level interface is shown here:
|
|
|
|
.. literalinclude:: snippets/AbstractState1.cxx
|
|
:language: c++
|
|
|
|
which yields the output:
|
|
|
|
.. literalinclude:: snippets/AbstractState1.cxx.output
|
|
|
|
Documentation on calling the low-level interface from the wrappers will follow.
|