Skip to content
Snippets Groups Projects
dedner's avatar
Andreas Dedner authored
been constructed.
The __init__.py file in dune.grid uses 'haveAssert' to check if 'AlbertaGrid'
is available. This checks 'config.h' in dune-py which caused an error.
The fix here simply return 'False' in case dune-py/config.h is not available.

correctly use the tagfile '.noconfigure' to make sure dune-py is rebuild
each time a new dune module is installed.
To avoid a 'recursive include' issue moved the generation of dune-py based on the
'template' to the 'Builder' (where it was before).

Also fixed a bug (which was partially a feature avoiding recursive includes up until now):
there was a script dune/generator/builder.py which contained the 'Builder' class and
in dune/generator/__init__.py we setup a variable 'builder' which then shadowed the script.
This did then cause problems in one place. Renaming the 'builder.py' script then demonstrated
the issue with the recursive import.

use *.template for dune-py template files which should be copied without
the ending, e.g., CMakeLists.txt (now CMakeLists.txt.template)
Also renamed dune.module to dune.module.template to be certain that it will
not be picked up by mistake

add cmake install command for the cmake_metadata files and the files in the
dune-py template to make sure that skbuild adds them correctly to the wheel

check for matplotlib in dune.plotting

Partial fix for export of build dirs for all deps modules to metadat file.
In previous version only first builddir was written.
Issue with this version: space is used to separate the directories.
Also make dune-py depend on modules without their own python package if another module
(with bindings) depends on it.

minor fixes
29a86282
History

DUNE-library

DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations with grid-based methods.

The main intention is to create slim interfaces allowing an efficient use of legacy and/or new libraries. Using C++ techniques DUNE allows one to use very different implementation of the same concept (i.e. grid, solver, ...) under a common interface with a very low overhead.

DUNE was designed with flexibility in mind. It supports easy discretization using methods, like Finite Elements, Finite Volume and also Finite Differences. Through separation of data structures DUNE allows fast Linear Algebra like provided in the ISTL module, or usage of external libraries like blas.

This package contains the basic DUNE common classes.

Dependencies

dune-common depends on the following software packages

  • pkg-config

  • Compiler (C, C++): GNU >=7 or Clang >= 5

    Other compilers might work too, they need to support C++17 to the extend the ones above do.

The following software is recommended but optional:

  • MPI (either OpenMPI, lam, or mpich suffice)

For a full explanation of the DUNE installation process please read the installation notes. The following introduction is meant for the impatient.

License

The DUNE-library and headers are licensed under version 2 of the GNU General Public License, with the so-called "runtime exception", as follows:

As a special exception, you may use the DUNE source files as part of a software library or application without restriction. Specifically, if other files instantiate templates or use macros or inline functions from one or more of the DUNE source files, or you compile one or more of the DUNE source files and link them with other files to produce an executable, this does not by itself cause Athe resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License.

This licence clones the one of the libstc++ library. For further implications of this library please see their licence page

See the file COPYING for full copying permissions.

Installation

Short installation instructions can be found in file INSTALL. For the full instructions please see here.

Links

  1. https://www.dune-project.org/doc/installation
  2. https://dune-project.org/releases/
  3. https://dune-project.org/buildsystem/
  4. http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license