Since Zheqiang Shi, Brittany Erickson, Qian Yao , Willian Savran 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. The original 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
23 single precision (four-byte) memory variables are required per mesh point. On current hardware, computation time is on the order of the one second per time step per one million mesh points. SORD scalability has been benchmarked up to 131 thousand processors at Theta (ALCF) and Fronteta (TACC).
Simulation examples
1992 Landers Earthquake Scenario
Fault roughness + off-fault plasticity
Ground-motion sanity check
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.