Salomé is a platform for pre and post-processing of numerical simulation. Salomé is built with C++ and Python. It has chosen a modular design based on CORBA (Common Object Request Broker Architecture) for distributing the work during conception but also at runtime. For a daily use, an important benefit is also the ability to select modules for custom sessions.
When beginning, the most attractive modules should be:
- GEOM for CAD (Computer-Aided Design) by using OpenCascade building 3D geometries.
- SMESH for creating 2D and 3D meshes rendered by VTK. Many algorithms are available and third part can be used as Netgen.
- VISU for visualizing results by using functionalities on the top of VTK. Results are usually loaded from a file and interesting parts can be selected from an object browser.
If you are going to use that complete suite of 3D tools from the GUI (Graphical User Interface), Salomé does not have any free software competitor. Moreover many others modules can be added. For example the YACS module allows to program graphically interactions between services. Several examples are also provided for helping new comers to build their own module.
The core functionalities are written in C++ for speed and every module can be accessed through a CORBA interface in C++ or Python. The glue code is provided by the Omniorb CORBA implementation. Moreover the GEOM and SMESH modules provide a specific Python interface for easier services accesses than the CORBA layer.
The Python scripting offers several advantages:
- an interactive work between a Python console and a 3D scene
- operations can be gathered in a script for easier and faster reproducible results than manipulating GUI actions. Thus you can have scripts for building geometrical parts, meshes, visualizing or even animating specific results.
- services can be controlled trough a clean syntax. It can also ease operations that are difficult to achieve through GUI menus (for example making gears).
This presentation will illustrate how to use the modules for building a geometry, a mesh and visualize results. Moreover some notes will be given on the recently published Salome-Meca package which brings the finite element solver Code Aster to Salome.