Skip to content

Commit

Permalink
Add citation of Ketcham, 2005
Browse files Browse the repository at this point in the history
  • Loading branch information
brenhinkeller committed Dec 1, 2022
1 parent 34d1ec3 commit ac01750
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@

Open-source time-Temperature inversion of thermochronometric data.

Implements a transdimensional Markov chain Monte Carlo (MCMC) time-Temperature inversion with optional Simulated Annealing (e.g., [1](https://en.wikipedia.org/wiki/Simulated_annealing), [2](https://doi.org/10.1007/978-94-015-7744-1_2)).
Currently supports zircon helium data with the damage and annealing model of [Guenthner et al., 2013](https://doi.org/10.2475/03.2013.01), with additional systems and models expected to be added in future releases.
Implements a transdimensional Markov chain Monte Carlo (MCMC) time-Temperature inversion with optional Simulated Annealing (e.g., [1](https://en.wikipedia.org/wiki/Simulated_annealing), [2](https://doi.org/10.1007/978-94-015-7744-1_2)) using a Crank-Nicholson diffusion model following the equations of [Ketcham, 2005](https://doi.org/10.2138/rmg.2005.58.11).

This package currently supports zircon helium data with the damage and annealing model of [Guenthner et al., 2013](https://doi.org/10.2475/03.2013.01), with additional systems and models expected to be added in future releases.

## Installation
Thermochron.jl can be installed in the same ways you would install any other registered Julia package, i.e.
Expand Down
15 changes: 11 additions & 4 deletions src/zirconhelium.jl
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,16 @@ export anneal!
```julia
HeAge = HeAgeSpherical(zircon::Zircon, Tsteps::Vector, ρᵣ::Matrix, diffusionmodel)
```
Calculate the precdicted U-Th/He age of a zircon that has experienced a given t-T path
(specified by `zircon.agesteps` for time and `Tsteps` for temperature, at a time resolution of `zircon.dt`)
using a Crank-Nicholson diffusion solution for a spherical grain of radius `zircon.r` at spatial resolution `zircon.dr`.
Calculate the precdicted U-Th/He age of a zircon that has experienced a given t-T
path (specified by `zircon.agesteps` for time and `Tsteps` for temperature, at a
time resolution of `zircon.dt`) using a Crank-Nicholson diffusion solution for a
spherical grain of radius `zircon.r` at spatial resolution `zircon.dr`.
Implemented based on the the Crank-Nicholson solution for diffusion out of a
spherical zircon or apatite crystal in:
Ketcham, Richard A. (2005) "Forward and Inverse Modeling of Low-Temperature
Thermochronometry Data" Reviews in Mineralogy and Geochemistry 58 (1), 275–314.
https://doi.org/10.2138/rmg.2005.58.11
"""
function HeAgeSpherical(zircon::Zircon{T}, Tsteps::StridedVector{T}, ρᵣ::StridedMatrix{T}, diffusionmodel) where T <: AbstractFloat

Expand Down Expand Up @@ -215,7 +222,7 @@ function HeAgeSpherical(zircon::Zircon{T}, Tsteps::StridedVector{T}, ρᵣ::Stri
y[nrsteps] = u[nrsteps,i-1]

# RHS of tridiagonal Crank-Nicholson equation for regular grid cells.
# From Ketcham, 2005
# From Ketcham, 2005 https://doi.org/10.2138/rmg.2005.58.11
@turbo for k = 2:nrsteps-1
𝑢ⱼ, 𝑢ⱼ₋, 𝑢ⱼ₊ = u[k, i-1], u[k-1, i-1], u[k+1, i-1]
y[k] = (2.0-β[k])*𝑢ⱼ - 𝑢ⱼ₋ - 𝑢ⱼ₊ - alphaDeposition[i, k-1]*rsteps[k-1]*β[k]
Expand Down

0 comments on commit ac01750

Please sign in to comment.