Skip to main content

Basis infrastructure for all Dune modules

Project description

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

  • CMake >= 3.16
  • Compiler (C, C++): GNU >= 10 or Clang >= 13
  • Library: GNU libstdc++ >= 10 or Clang libc++ >= 13

Other compilers may also work, but they must support C++20 to the same extent as the above. For an overview of the C++20 features supported by these versions, see https://en.cppreference.com/w/cpp/compiler_support. For compiling the Python bindings, libc++ is not currently supported.

The following software is recommended but optional:

  • pkg-config
  • MPI (either OpenMPI, lam, or mpich suffice)
  • Python >= 3.7 (interpreter and development kit for building the python bindings)

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 the 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 license clones the one of the libstdc++ library. For further implications of this library please see their license 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/installation/installation-faq/
  2. https://dune-project.org/releases/
  3. https://dune-project.org/doc/buildsystem/
  4. https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license

git-76e906b84a55e73394b5d3173f3ace41276c9140

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dune-common-2.11.dev20250113.tar.gz (926.6 kB view details)

Uploaded Source

File details

Details for the file dune-common-2.11.dev20250113.tar.gz.

File metadata

  • Download URL: dune-common-2.11.dev20250113.tar.gz
  • Upload date:
  • Size: 926.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for dune-common-2.11.dev20250113.tar.gz
Algorithm Hash digest
SHA256 0b9c4fd4becbe76c55d50ff64e0a98fb14b40beaa5fc139be46a63f35b18495e
MD5 27040136069efa1c35d1cc492e463eac
BLAKE2b-256 d73676eb1c462519cca0a697938ff44cfe252cd68fcd20bfb26d971d667914b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page