Personal tools
You are here: Home User Section About SALOME Architecture

Architecture

General architecture of the platform

Salome Architecture
SALOME is based on the model of distributed components built on CORBA as a distributed objects architecture. Two main levels can be distinguished:
  • Lower layer: embeds core functionalities of the kernel (communication between distributed modules), graphical user interface and management of the studies. These services are handled by the following components:
  • Modules layer: higher level components built on the services provided by the lower layer. Modules perform dedicated services that are needed to reach the general objective of SALOME. The main modules involved in this layer are:

    Furthermore, this layer can be enhanced by a number of dedicated end-user modules that can, for example, encapsulate a numerical solver behavior, simplify input of initial condition for a computation, etc. Any additional and specific module will be automatically:
    • Able to share its data with other modules through the study
    • Usable in the python console (all available services are bounded as python functions)
    • Supported and managed by the supervisor

In addition, the SALOME platform is based on two notions which are linked together: the module and the SALOME component.

  • The module should be understood as a kind of development space attached to a defined domain (for example, the GEOM module gathers the components of SALOME which are relative to the geometrical domain). A module can be made of several components that perform various levels of services.

  • Besides, a SALOME component is a software entity which is integrated in the SALOME platform. Hence, it has to conform to the defined rules, in particular to be able to use the services of the KERNEL and be itself 'usable' by the KERNEL as well as by other components.

SALOME platform base

The SALOME base platform is composed of the following standard modules:

  • Kernel: Distributed components management, graphical user interface, multi-study architecture and general services

  • Geometry: basic functionalities to create, import and correct any CAD models (IGES, STEP, BRep)
  • Mesh: provides capabilities to mesh a CAD model using a standard meshing algorithm or any external mesher (as a plugin)
  • Data: description and management of physical properties and boundary conditions
  • Post-processor: dedicated viewer to analyse the results of solver computations (scalar, vectorial)
  • Supervisor: an easy way to describe a computational schema involving multi-solver coupling

This base platform can be extended by creating an unlimited number of additional modules, implementing such features as: meshing algorithms, standard or specific solvers, pre-processing module, etc.

Typical structure of a SALOME component

Architecture of the Component

A component is organized in three main sub-items:

  • User Interface: which implements the dialogs with the end-user either via a graphical input (menus, buttons, etc.) or via the python console (command language or script)
  • Engine: which implements the services of the component
  • Data Model: which implements the internal data structure produced by the engine and by all mechanisms attached to the transfer of objects between memory (transient) and saved objects (persistent). This Data Model provides an API compliant with the rules established at the KERNEL level, which allows sharing objects with other SALOME components.
Document Actions