SALOME: An Open-source Simulation Platform Integrating ParaView

Over the last decade, improvements in computer hardware and software have significantly changed the capabilities of simulation technology. New computer power has resulted in the emergence of simulations that are more realistic (treating three-dimensional (3D) geometries instead of two-dimensional (2D) ones), more complex (taking multiphysics and multiscale modeling into account), and more meaningful (calculating the propagation of uncertainties). As a result, simulations produce larger data.

In 2001, the French Alternative Energies and Atomic Energy Commission (CEA) and Electricity of France (EDF) began developing an open-source software platform named SALOME that provides tools for building complex and integrated applications in the context of numerical simulations. SALOME makes it easy to plug in core numerical code, define and mesh problem geometry, define boundary conditions, run solvers on a supercomputer, visualize results, and analyze data. SALOME offers an integrated and coherent environment for performing these actions.

By combining SALOME modules and services, it is possible to create applications that make scientific code easier to use. SALOME contains computer-aided design (CAD) modules and visualization tools. SALOME also contains tools that generate input/output files or produce meshes from CAD models. The only requirement to benefit from these tools is to write code to plug into the interface of a numerical solver (e.g., a finite element method solver for mechanical stress computations).

SALOME can deal with large numerical simulations like the ones found in multiphysics and/or parametric studies. For example, research and industrial studies performed by the CEA and EDF use SALOME in the fields of nuclear reactor physics, structural mechanics, thermal hydraulics, nuclear  fuel physics, materials science, geology and waste management simulation, electromagnetism, and industrial radiation protection.

The CEA and EDF have built SALOME using a collaborative development approach. The platform is available under Lesser General Public License (LGPL) at http://www.salome-platform.org. SALOME is actively developed with the support of Open CASCADE. Recently, the SALOME development team integrated ParaView with the SALOME platform. The integration enables SALOME to benefit from the capability of ParaView to visualize large models. ParaView is currently the main visualization tool of the platform.

Overview of SALOME Platform

SALOME uses two languages, Python and C++. The platform has two main parts, a kernel and a set of standard modules. The main functionalities of these parts are accessible by scripting languages and/or the graphical user interface (GUI). Accordingly, those with various levels of expertise can employ SALOME in different situations (e.g., batch mode and interactive mode).

User Interface

The platform provides an environment that covers a complete study, from defining the geometry with a CAD component to visualizing the results. SALOME couples different codes through a common data exchange model and a supervision and coupling tool. The platform systematically delivers two different modes for interacting with its components. The first mode contains a graphic interface and 3D graphic interaction capabilities based on Qt 5 and the Visualization Toolkit (VTK). The second mode contains a text interface based on the Python language. Both modes present the same set of functionalities, and SALOME offers easy shortcuts to switch from one mode to the other.

Embedded Components and Solver Integration

As a platform for numerical simulation, SALOME has a modular architecture. Additional Python or C++ commands or modules can extend this architecture. SALOME can also integrate Python, C++, C, or Fortran code ranging from legacy to state-of-the-art. Furthermore, SALOME has component wrapper generators to facilitate the process of integrating code.

Workflow Supervision

The supervisor of the platform aids in defining and controlling the execution of complex, interconnected, scientific applications on computer networks and clusters. SALOME can run these applications either interactively or in batch mode. Figure 1 shows an example workflow.

Mesh and Field Management

SALOME relies on the Modèle d’Exchange de Données (MED), or the Model for Exchanging Data, format [4]. The MED format is an internal data model format, which describes meshes and fields stored as sequences of Hierarchical Data Format 5 (HDF5) structures.

The platform also takes distributed meshes into account, thus facilitating parallel computations. Moreover, the platform handles interpolations in order to manage different meshes, which it adapts to each simulation. This proves especially helpful when dealing with coupled simulations in which two different codes rely on two different spatial discretizations.

Figure 1: Illustration of SALOME performing a complex multiphysics simulation.

Figure 1: Illustration of SALOME performing a complex multiphysics simulation.

Large Simulations in SALOME/ParaView

The increasing need for multidisciplinary multi-run simulations represents a trend in various research and engineering domains. Fluid-structure interaction and thermal coupling are two examples. The software strategy at the CEA and EDF is to develop numerical solvers for their own domains, and then execute multi-domain simulations by coupling the existing solvers.

The SALOME platform provides a set of services for creating a simulation workflow that connects different units for computation and then executes the workflow on a distributed network of computers and/or high-performance computing resources. Numerical simulations like the one shown in Figure 1 produce an increasingly large volume of data for analysis and visualization. Having an integrated environment for managing this workflow offers real added value.

Furthermore, conducting a multi-run study involves repeating a simulation N times with one or several varying parameters and then performing some kind of statistical study. Consequently, the already large amount of data that a single simulation run produces multiplies by N. SALOME provides a complete simulation workbench for parametric studies and analyses based on tools such as OpenTURNS [3].

Integration of ParaView

The SALOME application integrates ParaView visualization capabilities in the form of a dedicated module. ParaView handles large data sets and efficiently integrates with a parallel/cluster-type environment. An example is the use of ParaView in a client/server mode, where a server deploys in a visualization cluster.

The integration of ParaView with the SALOME platform consists of the following:

  • a reader for the simulation results based on the MED format [4], i.e., the standard exchange format of simulation data in the SALOME platform;
  • additional ParaView filters to deal with specific visualizations; and
  • a modified ParaView architecture, which Kitware completed in 2012 to better fit the integration.

The modified architecture allows ParaView servers to accept multi-client connections. In addition, it enables unique clients to connect to several servers. Ultimately, such developments will allow for more complex uses of the SALOME module (e.g., visualizing the results of a Python script as it runs).

Figure 2 shows an example use of ParaView inside the SALOME platform. In the figure, SALOME realizes a front-tracking computation with the computational fluid dynamics code Trio_U at the CEA (from the doctoral thesis of Benoit Mathieu). As depicted, a drop of fluid in free fall hits the surface of another rotating fluid. The figure exhibits both the streamlines (left) and the pressure isosurfaces (right).

Figure 2: Post-processing of a diphasic simulation (two air bubbles in a liquid with a magnetic agitator).

Figure 2: Post-processing of a diphasic simulation (two air bubbles in a liquid with a magnetic agitator).

Concerning large models [5], EDF research and development (R&D) uses visualization servers (parallel pvservers of ParaView) for SALOME on the graphic sub-cluster of its PORTHOS corporate supercomputer. PORTHOS ranked 123rd on the TOP500 list of the world’s most powerful supercomputers in November 2014. It ranked 171st on the list in November 2015.

In 2013, Benjamin Lorendeau, Yvan Fournier, and Alejandro Ribés successfully performed a study on the use of in situ visualization techniques. The study integrated ParaView Catalyst with the computational fluid mechanics solver Code_Saturne [6], which couples to the SALOME platform. The use of SALOME to provide generic in situ visualization techniques is an on-going project. This project will allow for the management of even larger amounts of data.

Conclusion

This article briefly presents the visualization capabilities of the SALOME platform for numerical simulations. The visualization module of this platform integrates with ParaView. The platform deals with large volumes of data at simulation time. It can also handle such data for complex post-processing and/or visualization efforts.

References

[1] Open CASCADE. “SALOME: The Open Source Integration Platform for Numerical Simulation.” http://www.salome-platform.org.

[2] Ribes, André and Christian Caremoli. “Salome platform component model for numerical simulation.” Proceedings COMPSAC 2007 2 (2007): 553-564.

[3] Airbus Group, Électricité de France, Ingénierie Mathématique et Calcul Scientifique, and PHIMECA. “OpenTURNS.” http://www.openturns.org.

[4] Open CASCADE. “Med.” http://www.salome-platform.org/user-section/about/med.

[5] Ribes, Alejandro, and Adrien Bruneton. “Visualizing results in the SALOME platform for large numerical simulations: an integration of ParaView.” Poster presented at the 4th IEEE Symposium on Large Data Analysis and Visualization, Paris, France, November 9–10, 2014.

[6] Lorendeau, Benjamin, Yvan Fournier, and Alejandro Ribes. “In-Situ visualization in fluid mechanics using Catalyst: a case study for Code Saturne.” Paper presented at IEEE Symposium on Large Scale Data Analysis and Visualization (LDAV), Atlanta, Georgia, October 13-14, 2013.

ribes_headshotAlejandro Ribés received his doctoral degree in image processing and signal treatment from École Nationale Supérieure des Télécommunications in Paris, France. After completing a postdoctoral position and lecturing at different universities, he joined EDF R&D in 2008. There, he works in scientific visualization and focuses on large numerical simulations.

hadrien_headshotAdrien Bruneton studied applied mathematics and computer science in France. He worked for five years in the banking sector in London and then moved to Germany, where he worked on the design of freeform optics. Three years ago, he joined the CEA, where he mainly concentrates on the development of the SALOME simulation platform.

geay_headshotAnthony Geay is a designer and developer of MEDCoupling, which is the SALOME tool for mesh/field handling; the engine of the MED reader plug-in, which ParaVis hosts; and YACS, which is the SALOME tool for mesh/field handling; the engine of the MED reader plug-in, which ParaVis hosts; and YACS, which is the engine of the workflow supervisor.

2 Responses to SALOME: An Open-source Simulation Platform Integrating ParaView

  1. Anand says:

    Kudos to all Authors of this Open-source software.

  2. Roman says:

    It seems there is a typo: “and YACS, which is the SALOME tool for mesh/field handling” especially taking into account the rest of the sentence.

Questions or comments are always welcome!