Tutorial Introduction
Start Options
Users who want to jump straight to a minimally functional simulation workflow with native SCons can start with the SCons Quickstart. The WAVES Quickstart has the same features but uses the WAVES extension to SCons.
For a detailed discussion of recommended best practices for SCons and MODSIM-TEMPLATE project setup, meta data,
and features, start with Tutorial 00: SConstruct. Most of the SContruct
file introduced in
Tutorial 00: SConstruct is boilerplate code, so users may want to skip straight to the workflow task definitions in
Tutorial 01: Geometry. An optional waves fetch
command is included in Tutorial 01: Geometry to help users
create the content of Tutorial 00: SConstruct. The WAVES Command Line Utility fetch subcommand may also be used
to create a local copy of any tutorial file.
Users who are are ready to create their own modsim repository can use the WAVES Command Line Utility fetch subcommand to access the project ModSim Templates. The template files include project documentation built with SCons and Sphinx and two simulation configurations for the rectangle project developed in the tutorials: nominal and mesh convergence. The fetch subcommand may be used to recursively fetch directories or to fetch individual files from both the ModSim Templates and the tutorials.
Prerequisites
Software Carpentry: GNU Make - https://swcarpentry.github.io/make-novice/ [1, 9, 30]
Software Carpentry: Python - https://swcarpentry.github.io/python-novice-inflammation/ [1, 8]
Quickstart
Time to complete (HH:MM) |
Tutorial |
Summary |
00:10 |
Minimally functional simulation build system workflow using pure SCons |
|
00:10 |
Minimally functional simulation build system workflow using SCons and WAVES |
Core Lessons
Time to complete (HH:MM) |
Tutorial |
Summary |
01:00 |
SCons project configuration and meta data |
|
01:00 |
Hierarchical SCons builds, task creation, Abaqus journal files as small utility software |
|
00:45 |
Dependent tasks and execution order |
|
00:20 |
Copying files into the build directory |
|
00:20 |
Abaqus solver execution |
|
00:20 |
Parameterized builds and substituting parameter values into copied files |
|
00:20 |
Including files that can be re-used in more than one workflow |
|
00:30 |
Parameter study introduction using a cartesian product |
|
00:20 |
Abaqus data extraction |
|
00:30 |
Example solution to parameter study results concatenation with the parameter study definition |
|
00:20 |
Unit testing |
|
00:10 |
Alias for partial simulation verification and regression testing |
|
00:10 |
Archive simulation files for reproducibility and reporting |
Supplemental Lessons
Time to complete (HH:MM) |
Tutorial |
Summary |
00:10 |
Execute multiple actions on the same target file |
|
00:20 |
Add input verification to workflow parameters |
|
00:20 |
Geometry, partition, and mesh examples with Cubit replicating Tutorial 04: Simulation |
|
00:20 |
Side-by-side Abaqus and Sierra workflows complementing Tutorial: Cubit+Abaqus |
|
00:10 |
Changing task actions without re-building the task |
|
00:30 |
Parameter study introduction using a latin hypercube |
|
00:30 |
Parameter study introduction using a Sobol sequence |
|
00:30 |
Mesh convergence parameter study that uses common Geometry and Partition tasks. |
Work-in-progress Lessons
Warning
The lessons in this section represent WAVES features in the “alpha” development stage or draft solutions to common problems that require additional user testing to better define the user story, needs, and desired behavior.
Time to complete (HH:MM) |
Tutorial |
Summary |
00:30 |
Run the simulation on a remote server via SSH |
|
00:30 |
Run the simulation with the SLURM workload manager |
|
00:30 |
Automatically extending and re-executing a parameter study |
|
00:30 |
Re-use task definitions |
|
00:10 |
Dynamic version number from git tags |