Actively adding features to support improved science or performance by community contributors.
19 commits this past month, 176 commits this past year.
Github Issue Tracker
GNU Public License
SW4 implements substantial capabilities for 3-D seismic modeling, with a free surface condition on the top boundary, absorbing super-grid conditions on the far-field boundaries, and an arbitrary number of point force and/or point moment tensor source terms. Each source time function can have one of many predefined analytical time dependencies, or interpolate a user defined discrete time series.
SW4 supports a fully 3-D heterogeneous material model that can be specified in several formats. It uses a curvilinear mesh near the free surface to honor the free surface boundary condition on a realistic topography. The curvilinear mesh is automatically generated from the description of the topography. To make SW4 more computationally efficient, the seismic wave equations are discretized on a Cartesian mesh below the curvilinear grid. The Cartesian mesh, which extends to the bottom of the computational domain, is also generated automatically.
SW4 solves the seismic wave equations in Cartesian coordinates. It is therefore appropriate for local and regional simulations, where the curvature of the earth can be neglected. Locations can be specified directly in Cartesian coordinates, or through geographic (latitude, longitude) coordinates. SW4 can be built to use the Proj.4 library for calculating the mapping between geographic and Cartesian coordinates, or use an approximate spheroidal mapping. SW4 can output synthetic seismograms in an ASCII text format, or in the SAC format . It can also present simulation information as GMT scripts, which can be used to create annotated maps. SW4 can output the solution, derived quantities of the solution, as well as the material model along 2-D grid planes. Furthermore, SW4 can output the 3-D volumetric solution, or material model, in a binary file format.
Visco-elastic behavior can be important when modeling the dissipative nature of realistic materials, especially for higher frequencies. SW4 uses the rheological model of standard linear solid (SLS) elements, coupled in parallel. The coefficients in each SLS are determined such that the resulting quality factors Qp and Qs, for the attenuation of P- and S-waves, become approximately constant as function of frequency. These quality factors can vary from grid point to grid point over the computational domain and are read in the same way as the elastic properties of the material model.
While most of the SW4 code is written in C++, almost all numerical computations are implemented in Fortan-77. SW4 uses a distributed memory programming model, implemented with the C-bindings of the MPI library. Compatible versions of the C++ and Fortran-77 compilers as well as the MPI library must be available to build the code. We have built and tested SW4 on a variety of machines, ranging from single processor laptops to large super-computers with O(100,000) cores.
For source installation instructions, please refer to the SW4 Installation Guide.
Version 2.0 of SW4 implements mesh refinement with hanging nodes. Mesh refinement is currently supported in the Cartesian portion of the mesh, but can be used together with realistic topography and heterogeneous isotropic visco-elastic material models.
The SW4 user manual is available online.
Visit the SW4 Wiki page for additional support with building, using, or modifying SW4.
SW4 Publications List
If you are interested in getting the development version of this code from the CIG repository, use the following git command:
git clone --recursive https://github.com/geodynamics/sw4.git
You can also browse the history of modifications in the Git repository.
Issue/Bug Tracker on Github
Browse and/or submit new issues at our Github Issues Tracker.
Shows location of all users who downloaded SW4 in the past year (image updated daily.)