Skip to content

wangyf/SORDlatest

Repository files navigation

SORDlatest

3D Support Operator Rupture Dynamics


SORD latest version maintained by Yongfei Wang

Functional feature

Materials:

  • Viscoelastic
  • Plastoelastic
  • Frequency-dependent Anelastic

Constitutive law

  • Slip weakening
  • Regularized rate and state
  • Rate strengthening Slip weakening
  • Thermal and porelastic response

Geometric structure

  • Nonplanar fault
  • Topographic effect
  • Multiple-fault system

New branch

Since Zheqiang Shi, Brittany Erickson, Qian Yao and Yongfei Wang joined Steven Day's rupture dynamics group, a new branch of SORD has been developed. Currently, Yongfei Wang is the chief maintainer who uses it as a simulator of a physically plausible earthquake to study earthquake parameters and its evolution. This github repository stores this branch.

Publications

  1. Ben-Zion, Y., Rockwell, T. K., Shi, Z. Q., and Xu, S. Q. (2012), Reversed-polarity secondary deformation structures near fault stepovers, J. Appl. Mech., 79(3), 031025
  2. Shi, Z. Q., and Day, S. M. (2013), Rupture dynamics and ground motion from 3-D rough-fault simulations, J. Geophys. Res., 118(3), 1122-1141
  3. Wang, Y., and Day, S. M. (2017), Seismic source spectral properties of crack-like and pulse-like modes of dynamic rupture, J. Geophys. Res., 122(8), 6657-6684
  4. Wang, Y., Day, S. M. and Denolle, M. A. (2018), Geometric Controls on Pulse-like Rupture in a Dynamic Model of the 2015 Gorkha Earthquake, J. Geophys. Res., 124(2), 1544–1568

Installation

##SORD installation instructions

Obtain Source Code Clone the code: git clone --recursive https://github.com/billtr0n/sord Configure installation Create machine configuration directory in conf, by copying default to your machine name. here its called example_machine; (Hint: You might have to enter -o on the very for x86-compilers) Edit example_machine/conf.py with your machine information. you can also add scripts in templates that you want added to the rundir. Go to dir conf/ and execute python conf.py example_machine Go to root directory Run python configure.py example_machine, example out output might look like SDSC Comet

dtype = '<f4' email = 'wsavran@gmail.com' fortran_flags = {'O': '-O3 -qstrict', 'p': '-O3 -qstrict', 't': '-O3 -qstrict', 'g': '-O3 -qstrict'} fortran_mpi = ('mpifort',) fortran_serial = ('ifort',) host = 'comet-ln2.sdsc.edu' hosts = ('miralac1',) infiles = () itbuff = 10 login = 'miralac1.fst.alcf.anl.gov' machine = 'comet' maxcores = 24 maxnodes = 1944 maxram = 131072 maxtime = (24, 0) minnodes = 1 mode = None optimize = 'O' os_ = ('Linux', 'comet-ln2.sdsc.edu', '2.6.32-573.12.1.el6.x86_64', '#1 SMP Tue Dec 15 21:19:08 UTC 2015', 'x86_64') post = '' pre = '' prepare = True queue = None rate = 600000.0 run = False rundir = 'run' user = 'breuera'

#####Build Code

Automatic build: Run python setup.py in the root dir Manual build: Go to src, edit the makefile according to your machine and execute make. #####Install Python interface

Run python setup.py install, example output (Hint: Don't rename your git-repo name for the installation): Installing /oasis/projects/nsf/sds143/breuera/software/build/lib/python2.6/site-packages/sord.pth for path /oasis/projects/nsf/sds143/breuera/sord Note: On Linux Mint 18, sord was installed in /usr/bin/python2.7/dist-packages with incorrect permissions. If you are unable to import sord in a python interpreter after running python setup.py install try checking permissions and running chmod -R o+rx sord before you install the python interface.

Running an example #####Configure Job

Go to scripts/example Change sim.py and add your work-directory for this run. Run python sim.py, use python sim.py --force if you want to overwrite an already existing directory. #####Launch Job

Execute simulation. example mpirun -np 2 ./sord-mO #####Visualize Results

Plot results using python plot.py Requirements Python, Numpy

Original SORD

The Support Operator Rupture Dynamics (SORD) code simulates spontaneous rupture within a 3D isotropic viscoelastic solid. Wave motions are computed on a logically rectangular hexahedral mesh, using the generalized finite difference method of support operators. Stiffness and viscous hourglass corrections are employed to suppress suppress zero-energy grid oscillation modes. The fault surface is modeled by coupled double nodes, where the strength of the coupling is determined by a linear slip-weakening friction law. External boundaries may be reflective or absorbing, where absorbing boundaries are handled using the method of perfectly matched layers (PML). The hexahedral mesh can accommodate non-planar ruptures and surface topography SORD simulations are configured with Python scripts. Underlying computations are coded in Fortran 95 and parallelized for multi-processor execution using Message Passing Interface (MPI). The code is portable and tested with a variety of Fortran 95 compilers, MPI implementations, and operating systems (Linux, Mac OS X, IBM AIX, SUN Solaris). The source code is stored in Ely's github

Publications

  1. Ely, G. P., Day, S. M., and Minster, J.-B. (2008), A support-operator method for viscoelastic wave modelling in 3-D heterogeneous media, Geophys. J. Int., 172(1), 331-344
  2. Ely, G. P., Day, S. M., and Minster, J.-B. (2009), A support-operator method for 3-D rupture dynamics, Geophys. J. Int., 177(3), 1140-1150
  3. Ely, G. P., Day, S. M., and Minster, J.-B. (2010), Dynamic Rupture Models for the Southern San Andreas Fault, Bull. Seismol. Soc. Am., 100(1), 131-150

Publications in which SORD is used

Development logs

  • Aug 21, 2018 Add frequency-dependent attenuation (to be checked by AWP benchmark)
  • Aug 23, 2018 Add a function to exert a point source by setting strike, dip, rake and moment.

Bug found and fixed

  • Bug in computing radiated energy, negative value (change temporal integral of fracture (+frictional) energy from rectangular to trapezoidal shape.)
  • Bug in applying -R for reading initial stress tensor or bulk materials of cells (small variations after reading in) and may affect elastoplastic rupture dynamics
  • Bug in PML zone when plasticity and rate and state law are applied. (Perhaps the rupture occures in PML zone)
  • Bug found when in plasticity large stress drop are used ->(NAN wavefields). (will check from boundary or somewhere else)

legend

  • means bug found
  • means bug found has been fixed

If you found a bug in this program, you are so welcome to report it.

About

SORD latest version maintained by Yongfei Wang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published