Status:
Actively adding features to support improved science or performance by community contributors.
Code changes:
Community:
Geodynamics Forum
Bug reports:
Github Issue Tracker
License:
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 [7]. 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.01 of SW4 fixes a bug in the python testing script. It is in all other aspects identical to version 2.0, which 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.
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.
Version 1.1.
User Manual
The SW4 user manual is available online.
Community Wiki
Visit the SW4 Wiki page for additional support with building, using, or modifying SW4.
SW4 Publications List
Research publications using SW4.
Community Discussion
Browse the CIG Mailing List Archive to find past discussions and previous troubleshooting help, or post to the CIG forum with questions or comments.
Development Version
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.
Doxygen Documentation
Auto-generated Doxygen documentation is available for the Development and Release codebases.
Shows location of all users who downloaded SW4 in the past year (image updated daily.)