preCICE Source Code Documentation
contains the sources of preCICE. The library API of preCICE is contained in the directory
, which brings together the functionalities contained in the other components of preCICE. Every component has its own directory, and the following components exist currently:
utils contains functionality serving as technical basis for all other components.
mesh holds the coupling mesh and coupling data classes, which form the base of all othe components.
geometry provides functionality to create coupling mesh geometries.
io implements import and export of the coupling mesh and data.
query holds classes to perform geometrical queries on geometries.
mapping defines data mapping from points to meshes by using geometrical queries.
spacetree implements data structures to speed up the geometrical queries that involve neighborhood information.
com defines a data communication abstraction layer and implementations for it to communicate coupling data.
cplscheme takes coupling data and communication objects and implements coupling schemes for coupled simulations.
program_options is a library taken from the Boost libraries and used to read command line parameters. Currently, this is only used for running the automated tests of preCICE.
performance-tests contains test cases measuring the computational performance of certain features implemented in other components. It is rather empty yet.
drivers holds classes for building preCICE executables, for running test cases e.g.
Additionally, preCICE uses components which are contained in the source code repository of Peano. These components are also implemented into separate directories
utils contains Logging functionality.
plotter contains vtk and txt plotting functionalities.
la contains linear algebra vector and matrix functionalities.
The components of preCICE have some common subdirectory structure. Some typical directories appearing are
holds classes for automated testing of the corresponding component.
provides functionality to configure the classes of a component from xml
contains implementation of a component which is not part of its interface and used only internally.
The hierarchical dependencies of different components is as follows: