|
TRUST 1.9.8
HPC thermohydraulic platform
|
ICoCo stands for Interface for Code Coupling. It is a coupling standard to couple codes exhibiting a time loop.
The main source of information for this is found at:
In TRUST, the file ProblemTrio.h and ProblemTrio.cpp represent the TRUST implementation of this norm.
Creation of input field classes. When reading the dataset (JDD), the input fields register themselves in their associated Pb_base, which keeps a list of references. They can then be retrieved using the findInputField method.
The syntax is always:
The following classes derive from Champ_Input_Proto:
All implement the getTemplate and setValue methods, analogous to getInputFieldTemplate and setInputField, except that there is no need to identify the field.
To avoid diamond inheritance, Champ_Input_Proto is not an Objet_U. As a result, unless a new kind of reference is defined outside the Trio style, it is not possible to have references to Champ_Input_Proto.
Therefore, references to Field_base are used instead, and type checks must be performed in order to cast to Champ_input_*... It is not very elegant, but I do not see another solution.
No #include <string> outside the .cpp files in the ICoCo directory. However, there are forward declarations:
which are equivalent to:
considering that string is a typedef.
Test cases: U_in_var_impl_ICoCo.data should produce the same result as U_in_var_impl.data; it uses Ch_front_input and Ch_front_input_uniforme.
ChDonXYZ_ICoCo.data should produce the same result as ChDonXYZ.data; it uses Champ_input_P0.
They were placed in the directories of their non-ICoCo counterparts.
They use the classes Pilote_ICoCo1 and Pilote_ICoCo_2, which demonstrate examples of using the API to drive Trio.