Tools (CSMP++)


What is CSMP++?

CSMP++ is a C++14 ANSI / ISO standard-compliant application programmer interface (API).

It is a library of numerical methods for the combined simulation of thermal–hydrological–mechanical–chemical (THMC) processes, and has been designed for complex geologic models, spanning a range of length scales.

CSMP++ contains implementations of the finite-element- (FEM) and finite volume (FVM) methods and combinations thereof.

In addition to solution methods for elliptic-parabolic and hyberbolic partial differential equations, it provides implementations of:

  • Constitutive relationships for THMC processes
  • Equations of state
  • Property modeling and simulation analysis functionality

CSMP++ is based on a unique data model: There are no arrays nor cell numbers.

Material properties and dependent variables are stored directly on a hierarchical tree structures representing the mesh.

This implementation supports local time-stepping methods, and dynamic mesh adaptivity, facilitating goal-based simulation.

Computational domains can evolve in shape and properties over time, and multi-domain simulations, where different physics are modelled in different regions, are easy to implement.

CSMP++ forms the basis of a wide variety of simulation programs, including discrete fracture and matrix modelling, upscaling and reservoir simulation. Publications on these applications are furnished upon request.

Ownership and development

CSMP++ is owned and developed in its entirety by the following institutions:

  • ETH Zuerich, Switzerland
  • Montanuniversitaet Leoben, Austria
  • Heriot Watt University, Edinburgh, UK
  • The University of Melbourne, Australia (together “Owning Institutions”).

Contributions are made also by universities that are not (or no longer) members of this group, such as Imperial College London.

  • The Owning Institutions have formed the “Originators Group” which is steering the development and licensing of CSMP++
  • This Originators Group is represented by the “Board of Originators”
  • Each of the Owning Institutions is authorized to conclude commercial license agreements for CSMP++ to interested parties, acting on behalf of the Owning Institutions.
  • Subject to unanimous vote of the Board, and “Terms and Conditions”, the Owning Institutions can grant exclusive/non-exclusive distribution licenses for commercial applications based on the CSMP++ API.


CSMP++ does not contain any third-party software nor source code that is under GNU public license.

For the solution of large systems of algebraic equations, it relies on the algebraic multigrid method for systems, as implemented in the serial and parallel versions of SAMG from Fraunhofer Gesellschaft, St. Augustin, Germany.


Exclusive / non-exclusive distribution licenses for CSMP-based applications must be negotiated with the Board of Originators.

Standard academic and commercial licenses are described in the CSMP++ Licensing and Pricelist document that is updated annually.


Board of Originators contact:

S.K. Matthai
Department of Infrastructure Engineering
The University of Melbourne
Parkville, Vic 3010 Australia.

Telephone: +61 8344 6084


View video seminar: Multiphysics complex geometry reservoir simulation with CSMP++

What shortcomings does CSMP address and how?