Equivalent linear site response with random vibration theory, site property randomization, and a graphical user interface.
The Strata GUI simplifies the process for performing site response analysis, but limits the flexibility and requires extensive coding to add features. To help address these shortcomings, I have written pyStrata, which is a Python library for performing site response. With pyStrata, complicated customized workflows can be developed, or examples using Jupyter notebooks can be used to aid in understanding of the process.
Pre-built binaries for Windows are available from the Github releases page.
When installing from the Windows .zip archive, the executable is located at bin/strata.exe.
When citing Strata, refer to either the technical manual:
Kottke, Albert R., and Ellen M. Rathje. (2008). "Technical manual for Strata." Report No.: 2008/10. Pacific Earthquake Engineering Research Center, University of California, Berkeley.
or the DOI of the release and this website.
Strata uses a modernized build system based on CMake Presets and vcpkg for dependency management. This ensures a consistent, reproducible build environment across Windows, macOS, and Linux.
- CMake (version 3.21 or later)
- A C++17 compatible compiler (MSVC 2022, GCC 11+, or Clang 13+)
- Ninja (recommended and used by default in presets)
On Ubuntu/Debian, install the required system packages:
sudo apt-get install -y \
ninja-build libgl1-mesa-dev libxkbcommon-dev libxcb-cursor0 \
"^libxcb.*-dev" libx11-xcb-dev libglu1-mesa-dev libxrender-dev \
libxi-dev libxkbcommon-x11-dev libegl1-mesa-dev libsm-dev \
autoconf autoconf-archive automake libtool libltdl-dev pkg-configbrew install ninja autoconf autoconf-archive automake libtool pkg-configchoco install ninjaMSVC must be available on the PATH (e.g., use the Visual Studio Developer Command Prompt).
The following steps will automatically fetch and build all dependencies (GSL, Qwt, and Qt6) using the included vcpkg submodule.
-
Clone the repository with submodules:
git clone --recursive https://github.com/arkottke/strata.git cd strata -
Bootstrap vcpkg (one-time setup):
# Linux/macOS ./vcpkg/bootstrap-vcpkg.sh # Windows .\vcpkg\bootstrap-vcpkg.bat
-
Configure and Build: Choose the preset corresponding to your OS:
linux-release,macos-release, orwindows-release.cmake --preset <preset-name> cmake --build --preset <preset-name>
-
Create Installer (Optional): To generate a platform-native installer (NSIS on Windows, DMG on macOS, or Tarball on Linux), run:
cmake --build --preset <preset-name> --target package
The compiled executable will be located in build/<preset-name>/source/strata.
Examples for testing are located in the example/ directory. Regression tests can be run via CMake:
cd build/<preset-name>
ctest