# 3.1. Introduction

This introduction aims at **exposing an overview of what SesamX is made of**. The goal is not to provide every detail about each topic mentioned, but instead, it summarizes the main features and conventions behind SesamX. If you are looking for more precise information, do not hesitate to refer to the SesamX functions description.

## What is SesamX?

SesamX is a **finite element analysis software** that addresses the physical simulation of structural products. It allows engineers that use it to efficiently predict the behavior of products they are designing.

Among the various kinds of finite element software, **SesamX is positioned as a high level solution**. It is designed to be used by engineers. Instead of exposing the underlying equations to the user, it focuses on providing pre-built components that are relevant at an engineering level (for instance shell elements, loading conditions an so on).

## How to drive SesamX?

Currently, the preferred way to command SesamX is through the submission of **structured input files**. In order to write proper input files, you can follow the guidelines given in the SesamX input file description page.

However, **SesamX aims at being integrated easily into existing workflows**. Indeed, in a near future SesamX will expose an API allowing you to perform every action you could otherwise manage with an input file.

## Data management

SesamX applies a **database-oriented data management**. A single file contains all your model data. Besides, this file is encoded using the **HDF5 open format**.

## Parallelization

Whenever appropriate, SesamX relies on **parallelization** to improve performance. At a low level, shared memory parallelization is used to speed up elements computation (stiffness matrix and so on) as well as the stiffness inversion. And later on, at a higher level SesamX will propose distributed memory parallelization through subdomain decomposition techniques.

## Units

**SesamX is units aware**. You can define the units used on the input data as well as the units desired on the output. Besides, SesamX allows you to specify the unit system (relevant to your application) used to store the data and **avoid round-off errors**.

## Features covered

Currently, SesamX covers the following features. As time goes on, we will embellish this list with new ones.

### Mesh input format

There are **3 alternatives to input mesh data into SesamX**:

- write the mesh data directly into the SesamX input file,
- import a Salome mesh (.med format),
- or import an Abaqus mesh (.inp format).

The first one is more convenient for simple geometries while the others can be used for complicated parts.

### Elements

SesamX provides **linear truss, beam, shell and 3D solid elements, as well as quadratic tetrahedron element**. Only isotropic material is covered. For the full details, please refer to the elements properties descriptions.

### Loads and boundary conditions

Concentrated and distributed loads and moments are supported. And boundary conditions can be defined node-wise by specifying a displacement value in whatever direction. You can refer to the exhaustive documentation for more details: loads and constraints.

### Resolution procedure

Linear static resolution is available for every element mentioned above. Besides SesamX proposes non linear static resolution taking into account **geometric** (currently, tetrahedron element only) and **contact non linearities**.

Furthermore, to improve its usability, SesamX proposes an **automatic management of nodal singularities** in the stiffness matrix.

### Output

SesamX is able to write visualization data for most of the model components (loading case, constraints, elements characteristics, …) and also for the solutions: displacement field (translations and rotations), strain, stress. Similarly to the SesamX model database, the visualization data is written to a HDF5 file. More details are given on the output description page.

## SesamX conventions

### Mathematical notations

Through this documentation:

- vectors are denoted with an underline $\underline{u}$ and tensors with a double underline $\underline{\underline{\varepsilon}}$.
- matrices are represented with brackets, as well as vector and tensor components$\lbrack \ \rbrack$,
- Einstein summation convention is used on repeated indices,
- partial derivatives are denoted with the comma notation $u_{,x}$,

### Coordinate systems

In SesamX, the user is free to define and use its own coordinate systems. And when appropriate, SesamX can define additional coordinate systems. For instance, SesamX defines a local coordinate system on each element (you can check the SesamX coordinate systems management for more information).

Throughout this documentation, you will find the details relevant to the coordinate system used for every data mentioned. However, we can already provide 2 basic rules:

- Every data related to a node is expressed in
**the global coordinate system**(nodes position, nodes displacement, …), unless otherwise specified. - Every data related to an element is expressed in
**the element local coordinate system**(beam inertia, stress, strain, …), unless otherwise specified.

From a notation point a view:

- the global Cartesian basis is always denoted $(\underline{u_{g_1}}, \underline{u_{g_2}}, \underline{u_{g_3}})$.
- a vector basis related to an element (for instance the element local basis) is always denoted starting with $\underline{e_{...}}$.
- other basis are denoted starting with $\underline{u_{...}}$, unless otherwise specified.

### Strain tensor

SesamX outputs strain tensor (as **engineering strains**) and stress tensor components in the following order:

$$ \lbrack \varepsilon \rbrack = \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\ \gamma_{12} \\ \gamma_{23} \\ \gamma_{13} \end{bmatrix} \lbrack \sigma \rbrack = \begin{bmatrix} \sigma_{11} \\ \sigma_{22} \\ \sigma_{33} \\ \sigma_{12} \\ \sigma_{23} \\ \sigma_{13} \end{bmatrix} $$

Besides, SesamX always provides the **full tensor components** compatible with the element property. For instance, a shell subjected to in plane loading (along the plane $(x, y)$) will showcase a non zero normal deformation $\varepsilon_{zz}$ (due to Poisson's effect).

## Final word

Do not hesitate to check the specific documentation for further explanations. If you are interested in our vision and motivation, you can read our SesamX manifesto.