Back to Search
Start Over
libmpdata++ 0.1: a library of parallel MPDATA solvers for systems of generalised transport equations
- Publication Year :
- 2014
-
Abstract
- This paper accompanies first release of libmpdata++, a C++ library implementing the Multidimensional Positive-Definite Advection Transport Algorithm (MPDATA). The library offers basic numerical solvers for systems of generalised transport equations. The solvers are forward-in-time, conservative and non-linearly stable. The libmpdata++ library covers the basic second-order-accurate formulation of MPDATA, its third-order variant, the infinite-gauge option for variable-sign fields and a flux-corrected transport extension to guarantee non-oscillatory solutions. The library is equipped with a non-symmetric variational elliptic solver for implicit evaluation of pressure gradient terms. All solvers offer parallelisation through domain decomposition using shared-memory parallelisation. The paper describes the library programming interface, and serves as a user guide. Supported options are illustrated with benchmarks discussed in the MPDATA literature. Benchmark descriptions include code snippets as well as quantitative representations of simulation results. Examples of applications include: homogeneous transport in one, two and three dimensions in Cartesian and spherical domains; shallow-water system compared with analytical solution (originally derived for a 2D case); and a buoyant convection problem in an incompressible Boussinesq fluid with interfacial instability. All the examples are implemented out of the library tree. Regardless of the differences in the problem dimensionality, right-hand-side terms, boundary conditions and parallelisation approach, all the examples use the same unmodified library, which is a key goal of libmpdata++ design. The libmpdata++ library is implemented in C++, making use of the Blitz++ multi-dimensioanl array containers, and is released as free/libre and open-source software.<br />Among the changes are: new chapter 5.4, updated presentation in chapter 6.3 and editorial corrections
- Subjects :
- business.industry
Interface (Java)
Computer science
FOS: Physical sciences
Domain decomposition methods
Computational Physics (physics.comp-ph)
law.invention
Tree (data structure)
Software
law
Benchmark (computing)
Applied mathematics
Cartesian coordinate system
Boundary value problem
business
Physics - Computational Physics
Curse of dimensionality
Subjects
Details
- Language :
- English
- Database :
- OpenAIRE
- Accession number :
- edsair.doi.dedup.....7958d85dd47526256185dd67b601f80d