Which dealii adapter to use?

A) I want to couple a DGSEM fluid solver written in modern fortran (HORSES3D) to dealii to run some FSI problems. Does this mean that I have to write an adapter for HORSES? Is it easier to use the Python bindings (idk what does the binding do tbh)?

B) Which dealii adapter to use:
There are two dealii adapters for precise, both of which are owned by davidscn on github:
dealii -adapter and matrix-free-dealii-preice.
What’s the current state of these? Will the former lose support in favor of the later over time or will one be ported to the other?

If you want to run a coupled simulation with HORSES3D, you need write an adapter for this code.

https://precice.org/couple-your-code-overview.html

Python bindings are language bindings for the API of preCICE, i.e., the functionality you get is independent of the API programming language you select. If HORSES3D is written in fortran, you probably want to use the preCICE fortran API. If HORSES3D has a python interface and you prefer python over fortran, you might want to consider using the python language bindings of preCICE.

In the preCICE organization, there is only one adapter, which is also the ‘official’ one

and I have another coupled deal.II code. Which one is the right one for depends on your application case. The latter one is more beefy, supports MPI parallel execution, but is also (depending on your background) more heavy to handle. The official ones are a bit more lightweight.
I would recommend you to start with the official one and if you find out at some later point that the execution speed for the solid mechanics is limiting you, the matrix-free code allows you to add more computational resources. Porting the setup between these codes should be rather straightforward, as the mesh generation is (of course) building upon deal.II.

2 Likes