3.2. Model and data persistence

The efficient model management is a major SesamX feature. SesamX stores the model data into a database file with relational links between its various components. Unlike many simulation software, you do not have to feed the solver with the complete model definition each time you want to run an analysis. Instead, you can first concentrate on setting up the model and store the result in the database. And later, you can use this database to run your analysis. Your model data as well as the analysis results will persist in the database as long as you wish them to. Besides, this database file is encoded with an open data format (HDF5) enabling model manipulation even outside SesamX.

This architecture has multiple advantages from a user point of view:

  • It makes model management and organization easier while avoiding endless and error prone input files.
  • It enables earlier error detection. You can check your model definition step by step before performing an analysis. For instance, you can visualize how a load is applied right after its definition.
  • You can easily manipulate SesamX data into your own custom scripts.

Let's dive into the details you need to know to make an efficient use of your SesamX models.

The SesamX model aims to represent the physical model you want to simulate. From the SesamX solver point of view, a model is a set of abstract objects, related to each other.

Let's dive deeper into this simple definition.

The best way to illustrate this definition is to work on an example. Let's start from the following warped beam model, meshed using hexahedron elements.

At this stage, the model is composed solely of a mesh object. This mesh object holds the data that defines it: the nodes positions and the elements connectivity.

Then, we would like to assign a material and elements properties. There are 3 steps here. First we need to define the material characteristics, then we need to assign this material on a property, and finally we need to apply this property to the elements.

By doing so, we have introduced 2 new objects to the model: the material and the property, each containing the data that defines them. And we have also created 2 relations: the property depends on the material and on the mesh.

To go one step further, we can also define a load case and a constraint case on our model. Each of these objects depends on the mesh and the property defined previously.

And finally, let's compute the linear static response of a such a model. The result is a solution object depending on everything previously defined (the mesh, the material, the property, the load case and the constraint case).

This whole picture with objects and dependencies is what makes a SesamX model. We are talking about a load object to mean a loading case definition, we are talking about load object data to mean the load values at each degree of freedom of the model, and so on for the other kinds of objects.

Remark: the truth about the SesamX model is a bit more involved than what is introduced in this example. However this example is enough to understand what is going on.

First of all, the SesamX database is encoded using the HDF5 file format. Besides being open, this format enables efficient storage of large numeric data. This file structure is made of groups and datasets. Each group or dataset can carry attributes used to qualify the data.

The SesamX database relies on this group and dataset structure to organize the data. A model is represented as a group in the database. Inside this model's group, there is one group per object composing the model. Eventually, each object's group contains datasets describing the object data.

Off course a SesamX database can contain multiple models.


  • user_manual/sesamx/data_persistence.txt
  • Last modified: 2023/01/28 13:37
  • by Ali Baba