Forward Modelling
SNMRForward defines functions and objects to be used for forward modelling of surface NMR free-induction decay (FID) experiments.
SNMRForward.ConductivityModel — TypeA data type for a layered-earth conductivity model.
Members:
σ::Vector{<:Real}: conductivity of each layerd::Vector{<:Real}: thickness (not depth) of each layer. Length must be one less than length ofσ, as the bottom layer is an infinite half-space.
SNMRForward.MRSForward — TypeData type for forward modelling 1D magnetic resonance sounding (MRS) experiments.
Members: -kernel::Matrix{<:Number}: pre-computed linear kernel matrix for the forward problem. May be complex. -qgrid::AbstractVector{<:Real}: pulse moments used in the experiment. -zgrid::AbstractVector{<:Real}: depth grid for forward modelling (as cell boundaries). -dz::AbstractVector{<:Real}: cell thickness of the depth grid.
SNMRForward.MRSForward — MethodMRSForward(R::Real, zgrid::AbstractVector{<:Real},
qgrid::AbstractVector{<:Real}, ϕ::Real, Be::Real,
condLEM::ConductivityModel; nrvals = 200, temp=300.0,
qwe=true)Returns an MRSForward forward modelling object, with the kernel computed for a circular loop.
Parameters:
R: loop radius in metreszgrid: depth cell boundaries, in metres below surface.qgrid: pulse moments used for the experiment, in Ampere-seconds.ϕ: magnetic field inclination in radians.Be: Earth field magnitude in Tesla.condLEM: layered-earth conductivity model, as aConductivityModelobject.
Optional parameters:
nrvals: number of radial points to use to evaluate the horizontal integration of the kernel.temp: temperature in Kelvin, affects the magnitude of equilibrium magnetisation.qwe: whether to use quadrature with extrapolation (QWE) to evaluate Hankel transforms for the kernel.
This is slower, but more accurate at shallower depths, than the alternative 801-point digital filter.
SNMRForward.MRSForward_square — FunctionMRSForward_square(L::Real, zgrid::AbstractVector{<:Real},
qgrid::AbstractVector{<:Real}, ϕ::Real, θ::Real, Be::Real,
condLEM::ConductivityModel; nxpoints = 128, temp=300.0)Returns an MRSForward forward modelling object, with the kernel computed for a square loop.
Parameters:
L: loop radius in metreszgrid: depth cell boundaries, in metres below surface.qgrid: pulse moments used for the experiment, in Ampere-seconds.ϕ: magnetic field inclination in radians.θ: horizontal angle between loop orientation and magnetic north, in radians.Be: Earth field magnitude in Tesla.condLEM: layered-earth conductivity model, as aConductivityModelobject.
Optional parameters:
nxpoints: number of points to use in each dimension for the horizontal integration of the kernel.temp: temperature in Kelvin, affects the magnitude of equilibrium magnetisation.
SNMRForward.forward — Functionforward(F::MRSForward, m::Vector{<:Real})Computes the complex response amplitude of a water content model for a given FID experiment setup, described by an MRSForward object. Returns response as a complex vector, in units of volts, one element per pulse moment.
Parameters:
F: anMRSForwardobject containing the kernel for modellingm: a vector containing water saturation at each depth inF.zgrid.