In the OpenFOAM and CalculiX adapters, and maybe in more, we currently have the following workflow (based on the heat-exchanger tutorial:
- In the adapter configuration file, read a
dataName with value Sink-Temperature-Solid.
- Internally, assume that anything that starts with
Sink-Temperature* matches to an adapter object of type Sink-Temperature.
- Call
readData/writeData with the same name as configured.
There are three different entities we need to track to not make any assumptions:
a) Data known to preCICE: Sink-Temperature-Solid
b) The code path in the adapter to handle this type of data: Class SinkTemperature
c) The variable used by the solver: not something defined in this case, closest would be T, as this is the object we modify (in a non-straight-forward way)
With the solver-name (#38), we touched upon (c). The operation (also #38) also assumes that the adapter can directly operate on the specific object.
The (b) is still based on an assumption.
This already affects the OpenFOAM, CalculiX, OpenRadioss and maybe more adapters. Therefore, I think we need to define a standard name for such an option.
In YAML:
participant_name: Fluid
precice_config_file_name: ../precice-config.xml
interfaces:
- mesh_name: Fluid-Mesh
write_data:
- name: Sink-Temperature-Solid
type: Sink-Temperature
This would be an alternative definition to the solver-name & operation combination. @uekerman @vidulejs what do you think?
In the OpenFOAM and CalculiX adapters, and maybe in more, we currently have the following workflow (based on the heat-exchanger tutorial:
dataNamewith valueSink-Temperature-Solid.Sink-Temperature*matches to an adapter object of typeSink-Temperature.readData/writeDatawith the same name as configured.There are three different entities we need to track to not make any assumptions:
a) Data known to preCICE:
Sink-Temperature-Solidb) The code path in the adapter to handle this type of data: Class
SinkTemperaturec) The variable used by the solver: not something defined in this case, closest would be
T, as this is the object we modify (in a non-straight-forward way)With the
solver-name(#38), we touched upon (c). Theoperation(also #38) also assumes that the adapter can directly operate on the specific object.The (b) is still based on an assumption.
This already affects the OpenFOAM, CalculiX, OpenRadioss and maybe more adapters. Therefore, I think we need to define a standard name for such an option.
In YAML:
This would be an alternative definition to the
solver-name&operationcombination. @uekerman @vidulejs what do you think?