Thrase is a GPU-enabled, high-order accurate SBP-SAT finite difference code on unstructured meshes for SEAS (Sequences of Earthquakes and Aseismic Slip) problems written entirely in Julia.
- high-order accurate finite difference spatial discretizations featuring provably stability
- direct and matrix-free iterative solvers for static problems via Julia
- non-stiff methods for fully-dynamic (wave propagation) problems involving rate-and-state friction
- high-order accurate, adaptive time-stepping via Julia
- unstructured hexahedral meshes
- non-planar boundaries and interfaces
- Thrase is written entirely in Julia
- Download the latest release of Julia
- Clone the repository
git clone https://github.com/Thrase/Thrase.jl.git
- Activate the project and download and compile dependencies
cd Thrase.jl
julia --project=.
] activate .
- Install any dependencies (only necessary the first time)
] instantiate
- Test the installation
include("test/runtests.jl");
To run the code for the first SEAS benchmark problem (BP1-QD) on an equally spaced mesh (the stripped code is for training purposes)
localARGS = ["examples/bp1-qd.dat"]
include("src/2D_antiplane/2D_stripped/stripped_BP1-QD_driver.jl");
To run the code for the first SEAS benchmark problem (BP1-QD) on a structured, unequal mesh
localARGS = ["examples/bp1-qd_structured.dat"]
include("src/2D_antiplane/2D_structured/BP1-QD_structured_driver.jl");
To run the code for the first SEAS benchmark problem (BP1-QD) on an unstructured mesh
localARGS = ["examples/bp1-qd_unstructured.dat"]
include("src/2D_antiplane/2D_unstructured/BP1-QD_unstructured_driver.jl");
To run the code for BP6
localARGS = ["examples/bp6.dat"]
include("src/2D_antiplane/2D_structured/BP6_driver_dispBC.jl");
To run the code for a simplified version (full version coming soon) of BP3 - 30 degree dipping fault:
localARGS = ["examples/bp3-qd-unstructured.dat"]
include("src/2D-planestrain/2D_unstructured/BP3-QD_2block_driver.jl");
- Erickson, B. A., Kozdon, J. E., and Harvey, T. (2022), A non-stiff summation-by-parts finite difference method for the wave equation in second order form: Characteristic boundary conditions and nonlinear interfaces, Journal of Scientific Computing, doi: 10.1007/s10915-022-01961-1.
- Kozdon, J. E., Erickson, B. A., and Wilcox, L. C. (2020), Hybridized summation-by-parts finite difference methods, Journal of Scientific Computing, doi: 10.1007/s10915-021-01448-5.
- Erickson, B. A. and Dunham, E. M. (2014), An efficient numerical method for earthquake cycles in heterogeneous media: Alternating sub-basin and surface-rupturing events on faults crossing a sedimentary basin, Journal of Geophysical Research, doi:10.1002/2013JB010614.
- Distributed under the MIT License. See LICENSE.txt for more information.
Thrase is an open-source project and welcomes:
- contributions via forks and pull requests
- questions, feature requests, or bug reports via issues
- Brittany A. Erickson (bae@uoregon.edu)
