Use a configuration file to configure the adapter
The adapter requires some names in the precice-config.xml to agree with hard-coded names in this adapter. The user may customize these names, but this requires recompiling the adapter, so this is not user-friendly.
A common solution for other preCICE adapter is to provide a configuration file to the adapter at runtime. From the preCICE perspective we decided at some point in time to try to stick to what is a common file format in the "world" of the adapter solver to make this easy to configure for users. This usually also avoids additional dependencies for building the adapter. (compare OpenFOAM adapter using an OpenFOAM dictionary, FEniCS adapter using a json)
So the main question here is which kind of formats would feel natural for a Fluent user?
Some options that we (@mtree22, @IshaanDesai, @MakisH, @fsimonis) already discussed:
- scheme files
- xml
- yaml
- more suggestions are welcome.
In https://github.com/precice/fluent-adapter/pull/33 we collected some identifiers that we have to use in the adapter:
char* nodeMeshName = "moving_base_nodes";
char* faceMeshName = "moving_base_faces";
char* displDataName = "Displacements";
char* forceDataName = "Forces";
The development of a data structure that globally provides these names in a consistent fashion is still an open todo. Being able to change the contents of this data structure at runtime would require a configuration file like explained above.
Related to https://github.com/precice/preeco-orga/issues/36