Code Structure#

In the VirtualLab directory you will find a number of sub-directories used to run the package. Input, Scripts and Materials are essential for any analysis performed. In addition to these you will find RunFiles and docs. Results generated by VirtualLab are written to the Output directory, which is created when the first analysis is performed.

Input#

Input contains the parameters which will be used for running simulations, such as dimensions to create meshes and boundary conditions and materials for FE simulations.

Input has a sub-directory for each simulation type, and within those are sub-directories for each Project, e.g. Input/$SIMULATON/$PROJECT.

Here you will find $PARAMETERS_MASTER.py and $PARAMETERS_VAR.py files, which are explained in more detail in Running a Simulation.

For the example of Input/Tensile/Tutorials:

  • $PARAMETERS_MASTER.py = TrainingParameters.py

  • $PARAMETERS_VAR.py = Parametric_1.py

Scripts#

This directory includes the scripts required to install and launch VirtualLab.

The directory Install contains the scripts used by the non-interactive installation, which will install and configure VirtualLab and its dependencies such as python, Code_Aster, SALOME and ERMES.

Common contains scripts used by VirtualLab for any type of experiment. These includes setting up the environment through creating directories and inerfacing with the various packages incorporated, such as SALOME and Code_Aster.

Alongside these are directories containing simulation-specific scripts for each experiment available, which currently are Tensile, LFA and HIVE.

Inside the simulation directories are sub-directories containing the relevant files required to run that specific virtual experiment. In Mesh you will find SALOME python scripts which create the mesh of the testpiece, while in Sim you will find the Code_Aster command scripts which outline the steps followed to setup the FE simulation. Alongside these files used for PreAster and PostAster can be found. DA contains scripts used for data analysis.

Other simulation-specific sub-directories may also be included here, such as Laser for the LFA simulation which contains different laser pulse profiles measured experimentally.

Materials#

This directory contains the material properties used for FE simulations. Each sub-directory contains properties for different materials.

Material properties can be set to be linear or non-linear (e.g. temperature dependence).

The structure of the contents of this directory will be updated soon.

RunFiles#

This directory contain the driver files to launch virtual experiments, referred to as a RunFile.

This directory contains a number of templates which the user may customise for their own applications, including ones specifically for each of the tutorials in RunFiles/Tutorials. A detailed template file Run.py is also included in the top level directory of VirtualLab i.e. the installation location.

docs#

The files required to create this documentation.

Output#

This directory will be created when the first VirtualLab analysis is performed.

This directory is structured similarly to the Input directory, where you will find a directory for the Simulation type followed by one of the Project name.

The ‘project directory’ (Output/$SIMULATON/$PROJECT) will hold all data generated for the Project, such as: meshes; simulation results; visualisation images; analysis reports. The structure of the project directory is detailed here.