Skip to main content
Version: v1.0.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 system,

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(definitions 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 definitions.
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 definitions.
HAVE_DUNE_COPASI_CONFIG_HWhether the dune/copasi/config.h header must be included
DUNE_USE_FALLBACK_FILESYSTEMWhether dune-copasi is using ghc::filesystem