The goal of this project was to build a software infrastructure
to support simultaneous and coupled runs of large scale, parallel
codes - in this case, a continuum fluid dynamics code and a
discrete molecular dynamics code. The coupler is packaged as a library which is linked
to both codes and manages all communication between them.
The coupling infrastructure was implemented by the following software
components:
- An internal set of routines for data packing and communication.
In order to ensure independence of the coupler from the specific
data layout of the DNS and MD solvers, the coupler constructs
internal data objects and communication maps at initialisation stage. In
this way, coupling of any new DNS or MD solvers requires minimal
changes.
- An interface module accessible by the DNS and MD applications.
It includes all the necessary routines for synchronisation and data
exchanges between the applications.
Lucian Anton 2012-05-31