SALOME provides two libraries for uncertainties studies:
OpenTURNS is a computational library for implementing the uncertainty quantification methodology. It offers a large set of methods to quantify, propagate and prioritize uncertainties. The community gathers several thousands of users in the world, mainly in France. OpenTURNS can propagate uncertainties through a large variety of models: these can be written in almost any language and be of any complexity. Thus, very simple models can be written directly in the python language. OpenTURNS can also interface with business codes written in C, C++, FORTRAN or other languages. The library provides thousands of classes, and that is why OpenTURNS offers the user a detailed documentation with many examples, a documentation of the programming interface and the presentation of its theoretical principles
OpenTURNS can be used in different ways:
- as a Python module
- as a C++ library
- using the graphical interface PERSALYS
Uranie is a software framework, which can also be seen as a set of libraries, allowing to dive into the VVUQ approach (standing for Validation Verification and Uncertainty Quantification).
It offers a wide set of methods granting access to quantification, propagation, prioritisation of uncertainties, along with validation or calibration method that can be applied to analytical models, functions, codes, and to surrogate-models, generated by Uranie or not. Communication with other software frameworks can be done through various protocols such as XML, PMML, JSON, FMI library, etc.
Uranie can be broadcast on clusters with various architectures (SLURM, SGE, etc.) in order to use them to distribute computations with different parallelisation techniques (shared memory, split-memory, GPU, etc.). Such a framework also allows Uranie to communicate with large scale code (through files, SSH, Sockets, etc.).
The recommended ways to interact with the Uranie framework are its C++ on-the-flight compilation interface provided by ROOT and through its Python interface by importing the libraries as modules. To facilitate its integration and to know more, Uranie provides different level of documentation – methodological, example-based approach in the user manuals, developer’s documentation, etc.