OpenSees is a software framework for developing applications to simulate the performance of structural and geotechnical systems subjected to earthquakes. We have all three executables for version 3.2.0 installed on Shamu:
OpenSees,
OpenSeesSP, and
OpenSeesMP. To use the software, please use the following command to load the module on a compute node interactively or load the module in a SLURM script for a batch job.
abc123@shamu ~]$ module load opensees/3.2.0
To use the non-parallel program
OpenSees, simple type in the following command in an interactive session terminal or put the command in a SLURM script for a batch job:
abc123@shamu ~]$ OpenSees example.tcl
OpenSeesSP and
OpenSeesMP are the parallel versions of the program.
OpenSeesSP is designed for performing analysis of very large models,
OpenSeesMP is designed for performing parameter studies or analysis of large models with user defined partitions. They are both MPI enabled applications. The corresponding MPI package is loaded together with the opensees/3.2.0 module. Users can find the detailed document about how to build a parallelizable model with the parallel
OpenSees at
https://opensees.berkeley.edu/OpenSees/parallel/parallel.php.
Although the models for
OpenSeeSP and
OpenSeesMP are built differently, the way to run the models in a multiple-core computer or an HPC cluster are the same:
abc123@shamu ~]$ mpirun -n 5 OpenSeesMP model_for_MP.tcl
abc123@shamu ~]$ mpirun -n 5 OpenSeesSP model_for_SP.tcl
The performance can be improved significantly by parallelization. The performance benchmarks of the two programs on Shamu are shown in the following plots:
![](data:image/png;base64,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)
-- Zhiwei - 10 Dec 2020