Assemble
The assemble function aims to provide an ODEProblem encapsulating all the necessary information for modeling earthquake cycles. It will automatically generate caches based on given mesh sizes aiming to minimize allocation during solving. The full functionality of ODEProblem as well as solving interface can be viewed at documents of DifferentialEquations.jl.
Also, please checkout RecursiveArrayTools.jl for usage of ArrayPartition which is adopted by default for multiple variables in this package.
Public Interface
Quaycle.assemble — Methodassemble(gf::AbstractArray, p::RateStateQuasiDynamicProperty,
u0::AbstractArray, tspan::NTuple{2};
flf::FrictionLawForm=RForm(), se::StateEvolutionLaw=DieterichStateLaw(), kwargs...)Assemble the ODEProblem for elastic fault.
Extra Arguments
gf::AbstractArray: green's function associated withfs.meshandp.λ&p.μp::RateStateQuasiDynamicProperty: all system propertiesu0::ArrayPartition: initial condition. By rule of order in this package:- velocity
- state
tspan::NTuple: time span for simulationflf::FrictionLawForm: form of friction law, eitherCFormorRFormse::StateEvolutionLaw: state evolutional law, seeStateEvolutionLaw
Quaycle.assemble — Methodassemble(gf::ViscoelasticCompositeGreensFunction, p::ViscoelasticMaxwellProperty,
u0::ArrayPartition, tspan::NTuple{2};
flf::FrictionLawForm=RForm(), se::StateEvolutionLaw=DieterichStateLaw(),)Assemble the ODEProblem for elastic fault plus viscoelastic relaxation.
Arguments
gf::ViscoelasticCompositeGreensFunction: green's function associated with the composite spacefasp::ViscoelasticCompositeGreensFunction: all system propertiesu0::ArrayPartition: initial condition. By rule of order in this package:- velocity
- state
- strain
- stress
tspan::NTuple: time span for simulationflf::FrictionLawForm: form of friction law, eitherCFormorRFormse::StateEvolutionLaw: state evolutional law, seeStateEvolutionLaw
Quaycle.assemble — Methodassemble(p::SingleDofRSFProperty, u0::AbstractArray, tspan::NTuple;
flf::FrictionLawForm=CForm(), se::StateEvolutionLaw=DieterichStateLaw())Assemble the ODEProblem for single degree of freedom system.
Arguments
p::SingleDofRSFProperty: all system propertiesu0::AbstractArray: initial conditiontspan::NTuple: time span for simulationflf::FrictionLawForm: form of friction law, eitherCFormorRFormse::StateEvolutionLaw: state evolutional law, seeStateEvolutionLaw
References
Rice, J. (1993). Spatio-temporal complexity of slip on a fault. Journal of Geophysical Research: Solid Earth, 98(B6), 9885–9907. https://doi.org/10.1029/93JB00191
Liu, Y., McGuire, J. J., & Behn, M. D. (2012). Frictional behavior of oceanic transform faults and its influence on earthquake characteristics. Journal of Geophysical Research: Solid Earth, 117(B4). https://doi.org/10.1029/2011JB009025
Barbot, S. (2018). Asthenosphere Flow Modulated by Megathrust Earthquake Cycles. Geophysical Research Letters, 45(12), 6018–6031. https://doi.org/10.1029/2018GL078197