Skip to content

Notes on preCICE

David Schneider edited this page Jul 31, 2019 · 6 revisions

Compatible preCICE versions

preCICE 1.0.0 (November 9, 2017) is known to work with the adapter. Newer versions should also be compatible.

Please remember:

  • If you are using preCICE as a shared library, you need to have it added in your LD_LIBRARY_PATH.
  • If you are using preCICE as a static library, you need to specify its dependencies when building the adapter.

These are described in the building instructions of preCICE.

Notes on preCICE features

The adapter is developed with all the features of preCICE in mind. However, some specific features are not yet fully supported.

Nearest-projection mapping

The nearest-projection mapping in the adapter is for CHT cases fully supported. Details can be found in the nearest-projection tutorial case. For FSI cases, the adapter calculates the Fluid part. However, in standard FSI calculations, the Solid participants needs to provide mesh connectivity information. Hence, the connectivity in the Fluid participant is not needed. Therefore, it is also not supported in the adapter.

Checkpointing

In the case of implicit coupling, the participants are required to store checkpoints of their state. The adapter tracks all the registered objects of type volScalarField, volVectorField, surfaceScalarField and surfaceVectorField. After reading a checkpoint, the boundaries are evaluated again for all the tracked volScalarField and volVectorField objects, to improve the stability.

However, there is a known bug in the current implementation, where trying to evaluate the boundaries after reading a checkpoint, for some fields, will lead to an error. This is currently known to happen only for the epsilon field of the kEpsilon turbulence model. In case this field is available, it is not tracked and a warning is reported. Please let us know if this happens in any other case. (See issue #4)

You may also disable the evaluation of the boundaries after reading a checkpoint, by using the evaluateBoundaries: No option. Additionally, you may disable the checkpointing completely, by using the disableCheckpointing: Yes option. This tricks preCICE by not adding any fields to the checkpoints. You may use this only for development purposes, as implicit coupling should always be used with checkpointing. (See Configuration)