Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations

Installation of SVL requires a python3 environment to execute the Pre-Analysis. In particular, libraries such as:

must be installed to have full availability of all features implemented in the Pre-Analysis.

Once the previous modules are available in python, it is useful to export (before) SVL path as follows:

  • For Linux and Mac operating systems:
    export PYTHONPATH="/path/to/SeismoVLAB/01-Pre_Process"
  • For Windows operating systems:
    Advanced System Setting -> Environment Variables -> New

    Then, under system variables: type PYTHONPATH under Variable name, and provide the 01-Pre_Process folder location under Variable value as shown in figure below


This will allow the user to import SeismoVLAB as a normal python module (in a Python script) as

from Core import SeismoVLAB as SVL

In general, in Linux and Unix based system (MacOS) the package installation is straightforward, since they can be installed using the command line. In windows system we recommend to watch this video ( for a detailed explanation on how to install python modules.

In addition, a C++ compiler with Message Passage Interface (MPI) is required for the Run-Analysis. Additionally, installation of SVL on Linux/MacOSX/Windows requires Eigen C++ library, MUMPS Library, and PETSc Library to be installed:

After all previous libraries are present, compile the 02-Run_Analysis folder by executing make DEBUG=False in a terminal or command prompt. Further details on how to compile the Run-Analysis can be found at:

Once Run-Analysis is successfully compiled, write in a terminal (Linux/MacOSX) or command prompt (cmd in Windows),

/path/to/SeismoVLAB.exe -help

and the following message will be printed:

       _____      _                    _    ____          __            
      / ___/___  (_)________ ___  ____| |  / / /   ____  / /_           
      \__ \/ _ \/ / ___/ __ `__ \/ __ \ | / / /   / __ `/ __ \    
     ___/ /  __/ /__  / / / / / / /_/ / |/ / /___/ /_/ / /_/ /          
    /____/\___/_/____/_/ /_/ /_/\____/|___/_____/\__,_/_.___/
               (Seismo)s (V)irtual (Lab)oratory                         
        Module for Serial and Parallel analysis of seismic              
   wave propagation and soil-structure interaction simulation           
   Copyright (C) 2020, The California Institute of Technology 
                     All Rights Reserved.
 Written by:                                         
   Danilo S. Kusanovic (                           
   Elnaz E. Seylabi    (
 Supervised by:                                      
   Domniki M. Asimaki  (
 COMMAND LINE FLAGS TO PROVIDE:                                  
     -dir  : Location of the working directory.                  
     -file : Name of the SeismoVLAB input file to be loaded.      

Then, we can run a serial/parallel Seismo-VLAB in the following manner:

  • For a single-core execution,
    /path/to/SeismoVLAB.exe -dir /path/to/simulation/directory -file model.$.json
  • For a multiple-core execution,
    mpirun -np n /path/to/SeismoVLab.exe -dir /path/to/simulation/directory -file model.$.json
the flag -np = n specifies that the number of processors are n, this requieres the mesh and simulation files to be partitioned in such number of files. The latter explains the .$. token which internally is replaced by the processor number.