Skip to main content
Version: v1.1.0

Application Programming Interface

Work In Progress

Doxygen Documentation#

The C++ classes are documented in the C++ source code and may be visualized with Doxygen. To locally have the doxygen html documentation, build dune-copasi manually and use the make doc target in the build directory. For this, you need to have doxygen on your syste,

Preprocessor Definitions#

There are two sources of preprocessor definitions:

  • CMake targets: These are transsitively passed together with the dune-copas::dune-copasi target. These are stored on the INTERFACE_COMPILE_DEFINITIONS property of the target.

    CMakeLists.txt
    get_target_property(definitons dune-copasi::dune-copasi INTERFACE_COMPILE_DEFINITIONS)
    message("dune-copasi cmake compile definitions: '${definitions}'")
  • Config header: We inherit a config header from the dune build system. It's installed under include/dune/copasi/config.h on the cmake install prefix (e.g. /opt/dune/).

The following is a list of useful definitions:

DefinitionUsage
DUNE_COPASI_SD_LIBRARYInspect if the precompiled instantiations for single domain models are present. If so, you may skip inclusion of dune/copasi/model/multidomain_diffusion_reaction.cc template defintions.
DUNE_COPASI_MD_LIBRARYInspect if the precompiled instantiations for multiple domain models are present. If so If so, you may skip inclusion of dune/copasi/model/diffusion_reaction.cc template defintions.
HAVE_DUNE_COPASI_CONFIG_HWhether the dune/copasi/config.h header must be included
DUNE_USE_FALLBACK_FILESYSTEMWhether dune-copasi is using ghc::filesystem