shipengcheng1230 / quaycle.jl Goto Github PK
View Code? Open in Web Editor NEWEarthquake Sequences Simulator
License: GNU General Public License v3.0
Earthquake Sequences Simulator
License: GNU General Public License v3.0
Implementation based on
Liu, Yajing, and James R. Rice. 2005. “Aseismic Slip Transients Emerge Spontaneously in Three-Dimensional Rate and State Modeling of Subduction Earthquake Sequences.” Journal of Geophysical Research: Solid Earth 110 (B8). https://doi.org/10.1029/2004JB003424.
Reference:
Erickson, B.A., Dunham, E.M., 2014. An efficient numerical method for earthquake cycles in heterogeneous media: Alternating subbasin and surface-rupturing events on faults crossing a sedimentary basin. Journal of Geophysical Research: Solid Earth 119, 3290–3316. https://doi.org/10.1002/2013JB010614
Line 52 in 157f75f
Given BP1:
on 1.1
julia> @time sol = solve(prob, TsitPap8(), reltol=1e-6, abstol=1e-6);
1.411736 seconds (1.55 M allocations: 78.117 MiB, 6.79% gc time)
on 1.2-rc2
julia> @time sol = solve(prob, TsitPap8(), reltol=1e-6, abstol=1e-6);
5.128751 seconds (7.36 M allocations: 675.122 MiB, 6.69% gc time)
One key issue is how to assign arbitrary Dirichlet boundary. A potential solution is seeking a mapping from vertex to dof.
Various utils function dealing with velocity, stress drop, catalog.
Integrate with plotting lib for basic quick visualization.
Use set_dims!
.
Line 20 in 94d79a1
Might need additional attributes in property struct to indicate velocity direction and slip type.
Quaycle.jl/src/tools/h5solution.jl
Line 200 in c1e5448
A number of features for analyzing results:
A number of features for usage:
This may cause a problem if only diffusional creep is considered.
Triangle
https://www.sciencedirect.com/science/article/pii/S0098300407000593
Better alternative:
https://academic.oup.com/gji/article/201/2/1119/572006#86405621
Polygon & Transversely isotropic
https://pubs.geoscienceworld.org/ssa/bssa/article-abstract/104/6/2698/331796/elastic-deformation-due-to-polygonal-dislocations?redirectedFrom=fulltext
Need benchmark against use of Strided.jl.
Need to rewrite dθ_dt
, dμ_dvdθ
and their in-place version
New modeling API to accommodate various input type
Distributed BLAS using COSMA
CUDA integration
New solution saving interface
Remove Green's function API
No mixed stress/strain components in 3D
Quaycle.jl/src/tools/h5getstore.jl
Line 15 in 4342b3b
Would cause problem if embeded in functional call with argument named as names
.
Potential references are here.
Strain green's function isn't right:
Quaycle.jl/src/tools/gmshtools.jl
Lines 320 to 335 in c1e5448
Some breaking changes in HDF5 need to be fixed.
Line 86 in 9b5779e
By using Luxor.jl.
Quaycle.jl/src/tools/gmshtools.jl
Line 248 in c1e5448
Need to decouple mesh
, assemble
, greens_function
etc.
There is a problem when assembling the stiffness tensor when adding a buffer zone. It violates the basic FFT procedure if not extending the fault length accordingly.
It is possible to organize all target solution into one vector by a proper handler. For now, ArrayPartition
does not work with all the ODE algorithm.
Line 127 in 4342b3b
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.