Skip to content

Latest commit

 

History

History
113 lines (81 loc) · 3.82 KB

File metadata and controls

113 lines (81 loc) · 3.82 KB

Strata

License: GPL v3 Build Status Build status DOI

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.

Binaries

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.

Citation

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.

Building

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.

Prerequisites

  • 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)

Linux System Dependencies

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-config

macOS System Dependencies

brew install ninja autoconf autoconf-archive automake libtool pkg-config

Windows System Dependencies

choco install ninja

MSVC must be available on the PATH (e.g., use the Visual Studio Developer Command Prompt).

Build Workflow

The following steps will automatically fetch and build all dependencies (GSL, Qwt, and Qt6) using the included vcpkg submodule.

  1. Clone the repository with submodules:

    git clone --recursive https://github.com/arkottke/strata.git
    cd strata
  2. Bootstrap vcpkg (one-time setup):

    # Linux/macOS
    ./vcpkg/bootstrap-vcpkg.sh
    # Windows
    .\vcpkg\bootstrap-vcpkg.bat
  3. Configure and Build: Choose the preset corresponding to your OS: linux-release, macos-release, or windows-release.

    cmake --preset <preset-name>
    cmake --build --preset <preset-name>
  4. 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.

Testing

Examples for testing are located in the example/ directory. Regression tests can be run via CMake:

cd build/<preset-name>
ctest