SALOME8_2016_HD_a 16/11/16 16:12 Page1

SALOME8 THE OPEN SOURCE INTEGRATION PLATFORM FOR NUMERICAL SIMULATION SALOME8_2016_HD_a 16/11/16 16:12 Page2

SALOME8 PLATFORM

The SALOME platform is an open source software framework for the integration of numerical solvers in various scientific domains. CEA and EDF are using SALOME to perform a wide range of simulations, which are typically related to industrial equipment in power plants (nuclear power plants, wind turbines, dams... ). Among primary concerns are the design of new-generation reactor types, nuclear fuel management and transport, material ageing for the life-cycle management of equipment, and the reliability and safety of the nuclear facilities. To address these challenges, SALOME is integrating a CAD/CAE modelling tool, industrial mesh generators, and advanced 3D visualization features.

KEY FEATURES MODEL OF SERVICE AND SUPPORT In order to accurately simulate com- DEVELOPMENT OPEN CASCADE provides a whole plex industrial systems, scientists The SALOME platform is actively range of services around SALOME, and engineers need to integrate developed by CEA and EDF, two for professional end-users, such as most fields of physics such as key players in the French energy technical support and specific material science, solid mechanics, industry, and with the support of training. structural dynamics, fluid physics, the Capgemini subsidiary OPEN The “à-la-carte” support program thermohydraulics, nuclear physics, CASCADE, one of the leaders in is particularly suited for universities radiations or electromagnetism. The software development for scientific and academic organizations, as well SALOME platform gathers all these computing. This 15 years old part- as industrial companies: fields in one single simulation envi- nership provides SALOME project Helpdesk & technical support for ronment. with a very committed and dedi- expert needs concerning a one- cated team specialized in scientific Figure 1: Screenshots of the The main features of the SALOME shot technical issue, delivered by public web site of SALOME. are: computing. www.salome-platform.org mail or by phone within a guar- Design of the geometric Moreover, the SALOME platform anteed time frame. heavily relies on the integration of representation for physical sys- Expert consulting delivered on cutting edge third party software tems (CAD modelling) and its the end-user premises by one of programs: the commercial associated discretized model the SALOME experts. (meshing functions for finite ele- advanced and robust meshing pro- Bug corrections & improvements ments or finite volumes solvers). grams MeshGems-CADSurf and MeshGems-Tetra (by DISTENE for specific needs or complex Ability to integrate domain S.A.S.) and ParaView including the problem solving. specific solvers into normalized VTK 3D visualisation toolkit (by the Creation of Geometries and software components with stan- Kitware Inc.). Meshes (geometric modelling, dard interfaces to facilitate the Meshing, data input) for the exe- coupling of different physical DOWNLOAD THE cution of numerical simulation domains. SALOME PLATFORM studies. Supervision of computation The SALOME platform is available SALOME Training allows most of workflows defined as graphs under LGPL licence and can be fundamental and advanced func- of distributed software compo- downloaded from the web site: tionalities of the platform to be nents, including CAD modelling, http://www.salome-platform.org for mastered. domain specific solvers and data several distributions and For more details, consult: processing components. Windows. The site provides tutorials, http://www.salome- Analysis of simulation a forum section and gives access to platform.org/service-and-support output, in particular using visu- the user documentation and the alizations of physical fields . resulting from computation workflows in 3D views or in plot charts In this context, one of the key points of the platform is the usage of stan- DEVELOPMENT FACT SHEET dardized data models to describe Project kick off: 2001 physical concepts for numerical Development team: 20 engineers analysis, and to ensure interope- rability between software compo- Licence: LGPL nents. For instance, the MED data Distribution: Most Linux distributions and Windows® operating systems model is used for meshes and fields Bug tracking: 500 fixes and improvements per year descriptions. Verification & Validation: automated test procedure with 6000 tests Users: 300 users at EDF and CEA, 50000 downloads this year 2 SALOME8_2016_HD_a 16/11/16 16:12 Page3

DEVELOPING DOMAIN SPECIFIC APPLICATIONS

The SALOME platform allows the integration of specific solvers and graphical user interfaces to create engineering- specific simulation applications. For example, SALOME-MECA provides a simulation environment for solid and structure mechanics, based on the Code_Aster solvers. At EDF, this application is used to study ageing equipments, reliability and safety issues of nuclear vessels, turbine vibrations and much more.

Analysis of the rotor of a power generator (EDF/&D) The SALOME-HYDRO platform is an example of application dedicated to free-surface hydraulic analysis. The screenshot (see Figure 2) illustrates modeling of a river from bathymetric data using the platform.

Figure 2: River model from bathymetric data using SALOME-HYDRO (EDF/R&D)

The last example (see Figure 3) is a SALOME based application named ALAMOS, which is dedicated to the modelling of nuclear reactor for thermo-nuclear analysis.

In this context, SALOME is dis- tributed with the same Quality Assurance as any industrial process, including Verification and Validation. The development team provides top-level services and support to build dedicated applications. Figure 3: Illustration of the ALAMOS application dedicated to the modelling of nuclear reactors (CEA/DEN) 3 SALOME8_2016_HD_a 16/11/16 16:12 Page4

MODELLING PHYSICAL SYSTEMS

SALOME provides several modules to create complex geometrical models. These include high level meshing functionalities to prepare numerical models that fit the solver requirements.

GEOMETRIC MESHING MODELLING THE GEOMETRY The CAD module (known as The meshing module known as GEOM) provides a rich set of func- SMESH provides a wide range of tionalities to create, edit, import or algorithms particularly suited for modify CAD models. The geometric finite-element and finite-volume shapes may be designed interac- methods. A mesh can be divided tively using the Graphical User into groups to segregate different Interface (GUI) or the Text User regions of the geometry. It allows Interface (TUI) through Python differentiation between mesh scripts. All GEOM functionalities are properties or even between mesh available in both GUI and TUI. This types (hexahedral or tetrahedral). allows complex shapes or several Group naming provides the identi- configurations of a shape with fication of local boundaries and different values of its parameters initial conditions, and facilitates the to be built. This enables the user to mesh visualization or other post- parameterize its geometry and play processing operations (see Figure different scenarios without any 4). effort. Mesh module The geometric kernel of GEOM is A complete toolbox enables the based on Open CASCADE user to check the mesh quality and Technology which provides a to perform local modification or boundary representation of the adjustment. Transformation oper- model (BRep) and maintains the ations can be used to produce topological structure required by complex meshes or compounds. the subsequent meshing operations. Like the CAD process, the meshing SALOME is capable exchanging process can be entirely handled geometry with other CAD systems Figure 4: Modelling of the rotor of a power generator (EDF/R&D) by Python scripting to ensure full using formats such as STEP, IGES, reproducibility and parameterization BREP (the Open CASCADE native of the simulation workflow. format) and XAO (to deal with groups and fields on geometry).

Figure 5: Modelling of the volume around a circular singularity for fluid flow analysis (CEA/DEN) 4 SALOME8_2016_HD_a 16/11/16 16:13 Page5

Catalog of meshing algorithms Hybrid meshes The SALOME platform integrates SALOME provides a specific mesh either open-source meshing tools algorithm to create hydrid meshes such as NETGEN (https://source- (see Figure 6), mixing tetrahedra forge.net/projects/netgen-mesher) and hexaedra. This tool is based on and (http://gmsh.info), or the MeshGems-Hybrid component commercial ones such as (from DISTENE S.A.S.). MeshGems-CADSurf and Mesh MeshGems-Hybrid is generalizing Gems-Tetra edited by DISTENE S.A.S the automatic conformal volume (www.distene.fr). filling for all closed tri-quad surfaces These powerful meshing tools are given as an input, by mixing based on different algorithms and together the methods of properties (local size, growth rate, MeshGems-Tetra and MeshGems- enforced vertices... ) that can be Hexa in addition to an Extrusion adjusted to get the best mesh method. And, as a subset of the quality for each specific numerical whole set of MeshGems-Hybrid simulation. capabilities, Boundary Layers can These different meshing algorithms be generated automatically can be combined in SALOME. (www.meshgems.com/volume- For example, the 2D trans-patch meshing-meshgems-hybrid.html). meshing algorithm from GMSH can Optimization and refinement be used for the boundary surface SMESH is completed with the mesh together with the 3D HOMARD® module that per- MeshGems-Hybrid algorithm for forms local mesh adaptations the internal volume (see illustration required by numerical codes to below). meet accuracy and performance. Hexahedral meshes To improve the quality of the SALOME provides specific mesh simulations, local mesh adaptations algorithms that help to create com- offer an efficient compromise plex models with hexahedral mesh between a fine mesh and a low representations. This kind of mesh computational cost. HOMARD® is specifically required for some allows refinement and coarsening numerical solvers, for example operations to adapt the mesh, studies involving fluid dynamics according to the numerical error of solvers. the simulation. SALOME provides several tools to solve this problem. The HEXA- BLOCK module can be used to define a topological description iso- morphic to the real geometry and from which a hexahedral mesh can be automatically generated. The MeshGems-Hexa SMESH plugin is a wrapper of the commercial mesh program edited by the DISTENE Figure 6: SALOME can combine different meshing algorithms. In S.A.S. This function can create auto- this example, the 2D trans-patch meshing algorithm from GMSH is matically a hexahedral mesh of a used for the boundary surface mesh while the 3D MeshGems- complex geometry without any Hybrid algorithm is used for the internal volume to get a globally hexahedral mesh. partition of the solids. 5 SALOME8_2016_HD_a 16/11/16 16:13 Page6

SUPERVISION OF COMPUTATION WORKFLOWS

There is an increasing need for SALOME provides a set of services The supervision of a compu- The design of numeric multidisciplinary parametric to create a simulation workflow that tation workflow defined as a experimental plans. SALOME simulations in various research connects different computation graph of connected SALOME provides you with a scheduler and engineering domains. units. Then it executes this workflow components, including CAD that helps the user to manage Fluid-structure interaction and on a distributed network of modelling, meshing, domain the parametric computation (see thermal coupling are two exam- computers and HPC resources. specific solvers and data Figure 8). The input data are the ples. The software strategy in The main features are: processing components (see experimental plan (typically csv many contexts of simulation (at Figure 7). The graph can be data) and the computation unit The possibility to integrate least at CEA and EDF) is to edited using a graphical user (deterministic function). It can be domain specific solvers as develop numerical solvers dedi- interface (GUI) or the Python Text used together with advanced normalized components with cated to their own domain, and User Interface (TUI) to handle modules such as OPENTURNS standard interfaces to ease the then to execute multi-domains complex workflow into scripts. that helps you design the coupling of different physical simulation by coupling these input experimental plan and the domains. These SALOME The distribution on HPC specific solvers. analysis of output results (meta- components can be used as the resources. SALOME contains a modelling, statistical analysis, computational units of a simula- job manager that can be used to uncertainty quantification). tion process. Some tools are define a computation job provided to automatize this (including either a simple integration for standard configu- SALOME component or a com- rations (integration of executable plete workflow) and to drive the programs, functions of a library submission of the job to a dis- or python scripts). tributed set of computers or HPC resources. The job manager can handle many batch systems like PBS, LSF, SGE, LOADLEVELER or SLURM through a normalized generic interface. It comes with a GUI but can be used at a pro- gramming level using a C++ or Python interface to create simple scripts or domain specific tools.

Figure 7: Typical example of a simple computing data flow including CAD, mesh, physical solver and data postprocessing (EDF/R&D)

Figure 8: Design of numeric experimental plans and distribution of computation units on HPC with failover management (EDF/R&D

6 SALOME8_2016_HD_a 16/11/16 16:13 Page7

ANALYSIS OF SIMULATION DATA

PROCESSING FIELDS VISUALIZATION OF AND MESHES SIMULATION RESULTS Inside SALOME, the MED data Physical solvers generate results that model defines a normalized repre- can be analysed within the ParaViS sentation to describe meshes of the module. This module has been geometry and fields of the physical developed to integrate ParaView values of the simulation. This data (third party software edited by model is a key feature that helps Kitware and based on the VTK specific solvers to take advantage toolkit) into SALOME, and to offer of SALOME services. all the functionalities of this award- It comes with a software implemen- winning post-processor tool. tation (the MED-file library) for file A wide range of representations are Figure 10: Crystal growth simulation using Lattice Boltzmann persistence and serialization in available to explore the datasets: equation (CEA/DEN) memory for inter-communication surface, volume, points... The of simulation data between data can then be analysed using components. many filters to extract significant Based on concepts from MED data data: clip, threshold, iso-surface, PROCESSING model, the MED module provides stream lines, elevation surfaces (see SIMULATION DATASET a full set of services for high per- Figure 9). Beyond the processing and visuali- formance data processing. Quantitative information can be zation of meshes and data fields, It includes the MEDCoupling extracted using the data analysis the SALOME platform contains package which implements meshes tools: taking a selection of the data, additional modules dedicated to and fields C++ classes fully wrapped histograms, plots over time or curvi- advanced data analysis: in python. MEDCoupling also linear abscissa are one click away. Data assimilation and opti- provides a large set of methods to All these features can be animated misation environment, for handle efficiently in memory all within the module to analyse time- example to recalibrate the fields and meshes objects (interpo- varying data, sweep a cutting plane parameters of a model by lation, algebraic operations, field through the dataset, or animate the comparison of the simulation extractions, integration,…) and deflection shapes of a modal data to experimental measures allows to easily exchange fields and analysis (see Figure 10). (modules ADAO, URANIE) meshes between processes (directly This module is fully scriptable in in memory or using files). Propagation of uncertainties Python to create visualizations in in the simulation workflow, for batch when necessary or to repeat example to evaluate the uncer- analysis on parametric runs. It is tainty of the resulting data used on remote visualization clusters considering a given uncertainty to interactively analyse large on the input parameters datasets (see Figure 11). (modules OPENTURNS, URANIE).

Figure 9: Visualization of the fluid flow around a circular singularity (CEA/DEN)

Figure 11: Visualization of thermohydraulics results using PARAVIS in remote mode (EDF/R&D) 7 SALOME8_2016_HD_a 16/11/16 16:13 Page8

2016

salome-platform.org

CONTACT US: Francis Kloss [email protected] Guillaume Boulant [email protected] Mikhail Kazakov [email protected] @ R.C.S. Paris 552 081 317 - D & COM PHOTO © EDF ALEXIS MORN DR - Commissariat à l’Energie Atomique EDF - R&D Open Cascade et aux Energies Alternatives, EDF Lab Paris-Saclay groupe Capgemini, CEA-Saclay, DEN, DM2S, 7, boulevard Gaspard Monge 1 place des frères Montgolfier 91191 Gif-sur-Yvette Cedex, France 91120 PALAISEAU, France 78044 Guyancourt Cedex, France www.cea.fr www.edf.com www.opencascade.com Novembre 2016 Novembre