CRN tracer particle object, a particle that contains nuclide information. More...
#include <LSDParticle.hpp>
Public Member Functions | |
LSDCRNParticle () | |
default constructor | |
LSDCRNParticle (int startType, double startxLoc, double startdLoc, double start_effdloc, double startzloc) | |
@ brief constructor with starting x location, depth and z location | |
LSDCRNParticle (int startType, double startxLoc, double startyLoc, double startdLoc, double start_effdloc, double startzloc) | |
@ brief constructor with starting location information | |
LSDCRNParticle (int startType, double startxLoc, double startzeta_Loc) | |
LSDCRNParticle (int startType, int startGSDType, double startxLoc, double startdLoc, double start_effdloc, double startzLoc, double startMass, double startSurfaceArea) | |
a create function for a volume particle | |
LSDCRNParticle (int startType, int startGSDType, double startxLoc, double startyLoc, double startdLoc, double start_effdloc, double startzLoc, double startMass, double startSurfaceArea) | |
a create function for a volume particle with y loc | |
LSDCRNParticle (int startType, double startxLoc, double startzeta_Loc, double startdLoc, double start_effdLoc, double start_C10Be, double start_C14C) | |
constructor that includes some CRN information | |
LSDCRNParticle (int startType, double startxLoc, double startzeta_Loc, double startdLoc, double start_effdLoc, double start_C10Be, double start_C14C, double start_21Ne) | |
constructor that includes CRN information with many nuclides | |
LSDCRNParticle (int startType, int startGSDType, int startCellIndex, double startAge, double startOSLAge, double startxLoc, double startyLoc, double startdLoc, double startefdLoc, double startzLoc, double start_C10Be, double start_C26Al, double start_C36Cl, double start_C14C, double start_C21Ne, double start_C3He, double start_Cf7Be, double start_Cf10Be, double start_Cf210Pb, double start_Cf137Cs, double start_Mass, double start_StartingMass, double start_SurfaceArea) | |
constructor that retains all data | |
LSDCRNParticle (const LSDCRNParticle &tP) | |
The copy constructor. More... | |
LSDCRNParticle (LSDCRNParticle &tP) | |
The copy constructor. More... | |
LSDCRNParticle & | operator= (const LSDCRNParticle &tP) |
the copy constructor for constant LSDCRNParticle objects | |
LSDCRNParticle & | operator= (LSDCRNParticle &tP) |
the copy constructor | |
void | setConc_10Be (double new_10BeConc) |
this sets 10Be conc More... | |
void | setConc_26Al (double new_26AlConc) |
this sets 26Al conc More... | |
double | getConc_10Be () const |
Retrieves the concentration of 10Be. More... | |
double | getConc_26Al () const |
Retrieves the concentration of 26Al. More... | |
double | getConc_36Cl () const |
Retrieves the concentration of 36Cl. More... | |
double | getConc_14C () const |
Retrieves the concentration of 14C. More... | |
double | getConc_21Ne () const |
Retrieves the concentration of 21Ne. More... | |
double | getConc_3He () const |
Retrieves the concentration of 3He. More... | |
double | getConc_f7Be () const |
Retrieves the concentration of fallout 7Be. More... | |
double | getConc_f10Be () const |
Retrieves the concentration of fallout 10Be. More... | |
double | getConc_f210Pb () const |
Retrieves the concentration of 201Pb. More... | |
double | getConc_f137Cs () const |
Retrieves the concentration of 137Cs. More... | |
double | geteffective_dLoc () const |
Retrieves the effective depth. More... | |
double | get_zetaLoc () const |
Retrieves the zeta location. More... | |
double | getMass () const |
returns the mass of the particle More... | |
double | getStartingMass () const |
returns the starting mass of the particle More... | |
double | getSurfaceArea () const |
returns the surface area of the particle More... | |
int | getGSDType () const |
returns the GSDType of the particle, which is an index into a LSDVolumeParticleInfo object More... | |
double | convert_m_to_gpercm2 (double l_in_m, double rho) |
a utility function to convert between metres and g/cm^2 More... | |
double | convert_gpercm2_to_m (double l_in_gpercm2, double rho) |
a utility function to convert between metres and g/cm^2 More... | |
void | update_10Be_conc (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 10Be concentration based on a constant erosion rate using the full production range, including muons. More... | |
void | update_26Al_conc (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 26Al concentration based on a constant erosion rate using the full production range, including muons. More... | |
void | update_14C_conc (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 14C concentration based on a constant erosion rate using the full production range, including muons. More... | |
void | update_36Cl_conc (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 36Cl concentration based on a constant erosion rate using the full production range, including muons. More... | |
void | update_21Ne_conc (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 21Ne concentration based on a constant erosion rate using the full production range, including muons. More... | |
void | update_3He_conc (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 3He concentration based on a constant erosion rate using the full production range, including muons. More... | |
void | update_10Be_conc_linear_increase (double dt, double erosion_rate, double alpha, LSDCRNParameters &CRNp) |
This updates 10Be nuclide concentration if erosion is increasing (or decreasing) linearly alpha is the change in erosion rate–do not set alpha to zero! More... | |
void | update_10Be_conc_neutron_only (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 10Be concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow More... | |
void | update_26Al_conc_neutron_only (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 26Al concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow More... | |
void | update_14C_conc_neutron_only (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 14C concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow More... | |
void | update_36Cl_conc_neutron_only (double dt, double erosion, LSDCRNParameters &CRNp) |
update the 36Cl concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow More... | |
void | update_cosmo_conc_const (double C_10Be, double C_26Al, double C_36Cl, double C_14C, double C_21Ne, double C_3He) |
This assigns nuclide concentrations with constant values. More... | |
void | update_10Be_SSfull (double erosion, LSDCRNParameters &CRNp) |
Bring the 10Be concentration to steady state based on a constant erosion rate using full muogenic production. More... | |
void | update_10Be_SSfull_depth_integrated (double erosion_rate, LSDCRNParameters &CRNp, double top_eff_depth, double bottom_eff_depth) |
Bring the 10Be concentration to steady state based on a constant erosion rate using full muogenic production. This version is for a DEPTH INTEGRATED concentration and as such should only be used for basinwide calculations. More... | |
void | update_26Al_SSfull (double erosion, LSDCRNParameters &CRNp) |
Bring the 26Al concentration to steady state based on a constant erosion rate using full muogenic production. More... | |
void | update_26Al_SSfull_depth_integrated (double erosion_rate, LSDCRNParameters &CRNp, double top_eff_depth, double bottom_eff_depth) |
Bring the 26Al concentration to steady state based on a constant erosion rate using full muogenic production. This version is for a DEPTH INTEGRATED concentration and as such should only be used for basinwide calculations. More... | |
void | update_14C_SSfull (double erosion, LSDCRNParameters &CRNp) |
Bring the 14C concentration to steady state based on a constant erosion rate using full muogenic production. More... | |
void | update_36Cl_SSfull (double erosion, LSDCRNParameters &CRNp) |
Bring the 36Cl concentration to steady state based on a constant erosion rate using full muogenic production. More... | |
void | update_21Ne_SSfull (double erosion, LSDCRNParameters &CRNp) |
Bring the 21Ne concentration to steady state based on a constant erosion rate using full muogenic production. More... | |
void | update_3He_SSfull (double erosion, LSDCRNParameters &CRNp) |
Bring the 3He concentration to steady state based on a constant erosion rate using full muogenic production. More... | |
void | update_all_CRN (double dt, double erosion, LSDCRNParameters &CRNp) |
A wrapper function to update all the nuclide concentrations in one go. It uses full muogenic production. More... | |
void | update_all_CRN_neutron_only (double dt, double erosion, LSDCRNParameters &CRNp) |
A wrapper function to update all the nuclide concentrations in one go. It uses NEUTRON PRODUCTION ONLY to save computational expense. This is a reasonable approximation in slowly eroding landscapes. More... | |
void | update_all_CRN_SSfull (double erosion_rate, LSDCRNParameters &CRNp) |
A wrapper function to update all the nuclide concentrations to steady state using full muon production. More... | |
vector< double > | apparent_erosion_10Be_COSMOCALC (double rho, LSDCRNParameters &CRNp, double scaling_factor, string Muon_scaling, double top_eff_depth, double bottom_eff_depth) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and for full muon production based on COSMOCALC scaling. More... | |
double | apparent_erosion_10Be_neutron_only (double rho, LSDCRNParameters &CRNp) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 10Be. More... | |
vector< double > | apparent_erosion_26Al_COSMOCALC (double rho, LSDCRNParameters &CRNp, double scaling_factor, string Muon_scaling, double top_eff_depth, double bottom_eff_depth) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and for full muon production based on COSMOCALC scaling. More... | |
double | apparent_erosion_26Al_neutron_only (double rho, LSDCRNParameters &CRNp) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 26Al. More... | |
double | apparent_erosion_14C_neutron_only (double rho, LSDCRNParameters &CRNp) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 14C. More... | |
double | apparent_erosion_36Cl_neutron_only (double rho, LSDCRNParameters &CRNp) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density abouve the sampling depth and if the production was assumed to be from neutrons only. More... | |
double | apparent_erosion_21Ne (double rho, LSDCRNParameters &CRNp) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 21Ne. More... | |
double | apparent_erosion_3He (double rho, LSDCRNParameters &CRNp) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density aboue the sampling depth and if the production was assumed to be from neutrons only for 3He. More... | |
void | update_fallout10Be_simple_density (double dt, double M_supply_surface, double rho_s, double k_f10Be, double deltad, LSDCRNParameters &CRNp) |
functions for dealing with fallout nuclides | |
void | update_fallout10Be_simple_density_2exp (double dt, double M_supply_surface, double rho_skg, double k1_f10Be, double k2_f10Be, double chi_f10Be, double deltad_m, LSDCRNParameters &CRNp) |
void | update_depths (double delta_d, double delta_ed) |
This assignes depths. Note: it does not check if the effective depth is compatible with the depth! More... | |
void | calculate_effective_depth_one_layer (double d, double rho) |
Updates the depth and calculates and updates the effective depth for a one layer density model (that is, all material has the same density) More... | |
void | update_zetaLoc (double new_zeta) |
This assigns a new value for zeta. More... | |
void | update_zetaLoc_with_new_surface (double new_zeta) |
void | erode_mass_only (double dt, double mass_erosion_rate) |
void | erode_mass_only_linear_increase (double dt, double mass_erosion_rate, double alpha) |
double | intOfBeta (double x, double Rc) |
This integrates over beta for Deselits scaling (see the paper) Modified from Greg Balco's code: http://hess.ess.washington.edu/math. More... | |
double | desilets2006sp (double h, double Rc) |
This gets the deselits 2006 scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math. More... | |
double | dunai2001sp (double h, double Rc) |
This gets the Dunai Scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math. More... | |
double | lifton2006sp (double h, double Rc, double S) |
This gets the Stone scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math. More... | |
double | stone2000sp (double lat, double P, double Fsp) |
This gets the Lifton Scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math. More... | |
double | stone2000Rcsp (double h, double Rc) |
This implements a cutoff-rigidity rather than latitude based scaling scheme based on the Lal spallation polynomials. For use in paleomagnetically-corrected exposure-age calculations. Original version Written by Greg Balco – UW Cosmogenic Nuclide Lab balcs March, 2007 Part of the CRONUS-Earth online calculators: @u.w ashin gton .eduhttp://hess.ess.washington.edu/math. More... | |
double | thickness_scaling_factor (LSDCRNParameters &LSDCRNP, bool use_CRONUS) |
this calculates a thickness scaling factor that is used in the CRONUS calculator calculations More... | |
vector< double > | CRONUS_initial_guess (LSDCRNParameters &LSDCRNP, double pressure, double lat, double N_10Be, double N_26Al, double topo_scale, double snow_scale) |
This function is the initial guess of erosion rate that repicates the initial guesss component of the CRONUS erosion rate function This replicates the 'initial guess' stage in Greg Balco's CRONUS calculator code get_al_be_erosion.m. More... | |
vector< double > | CRONUS_get_Al_Be_erosion (LSDCRNParameters &LSDCRNP, double pressure, double lat, double rho, double N_10Be, double N_26Al, double sample_del10, double sample_del26, double topo_scale, double snow_scale) |
This function wraps the functions for getting the erosion rate from Al and Be data. The function emulates the get_al_be_erosion.m from the CRONUS calculator, written by Greg Balco. More... | |
vector< double > | CRONUS_get_Al_Be_erosion_modified_production (LSDCRNParameters &LSDCRNP, double pressure, double lat, double rho, double N_10Be, double N_26Al, double sample_del10, double sample_del26, double topo_scale, double snow_scale, double Spallation_frac, double P_mu_frac) |
This function wraps the functions for getting the erosion rate from Al and Be data. Similar to above but modifies production rates The function emulates the get_al_be_erosion.m from the CRONUS calculator, written by Greg Balco. More... | |
void | CRONUS_screen_report (vector< double > erate_consts) |
This produces a screen report that replicates the CRONUS calculator screen report. More... | |
void | CRONUS_calculate_N_forward (double effective_erosion_rate, LSDCRNParameters &LSDCRNP, vector< double > &z_mu, vector< double > &P_mu_z_10Be, vector< double > &P_mu_z_26Al, double thickSF, double P_sp_10Be, double P_sp_26Al, double &N_Be10, double &N_Al26) |
This function returns the number of atoms given an effective erosion rate (this is the erosion rate in g/cm^2/yr) It is used in an optimisation loop (equivalent to fzero in matlab) More... | |
void | CRONUS_calculate_N_forward (double effective_erosion_rate, LSDCRNParameters &LSDCRNP, vector< double > &z_mu, vector< double > &P_mu_z_10Be, vector< double > &P_mu_z_26Al, double thickSF, double P_sp_10Be, double P_sp_26Al, double &N_Be10, double &N_Al26, double &Be10_mu_N, double &Al26_mu_N, double &Be10_sp_N, double &Al26_sp_N) |
This function returns the number of atoms given an effective erosion rate (this is the erosion rate in g/cm^2/yr) It is used in an optimisation loop (equivalent to fzero in matlab) this is an overloaded version that returns the atoms from the two production mechanisms. More... | |
vector< double > | CRONUS_error_propagation (double pressure, LSDCRNParameters &LSDCRNP, double thickSF, double rho, double sample_N10, double sample_N26, double sample_del10, double sample_del26, vector< double > &z_mu, vector< double > &P_mu_z_10Be, vector< double > &P_mu_z_26Al, double P_sp_10Be, double P_sp_26Al, double eff_e_10, double eff_e_26) |
This function returns the number of atoms given an effective erosion rate (this is the erosion rate in g/cm^2/yr) It is used in an optimisation loop (equivalent to fzero in matlab) More... | |
double | CRONUS_simple_N_findroots (double inital_erate, double target, double Psp, double Pmu, double GammaSp, double GammaMu, double decay) |
This finds the roots of a simple version of the number of atoms given an effective erosion rate This function is used by the CRONUS calculator to determine uncertanties. More... | |
double | CRONUS_simple_N_forward (double eff_eros, double Psp, double Pmu, double GammaSp, double GammaMu, double decay) |
This calculates a simple version of the number of atoms given an effective erosion rate This function is used by the CRONUS calculator to determine uncertanties. More... | |
Public Member Functions inherited from LSDParticle | |
LSDParticle () | |
default constructor. Makes a particle with type 0, age 0, and no data for other parameters | |
LSDParticle (int StartType) | |
Constructor. Similar to default, but assignes type. More... | |
LSDParticle (int StartType, double StartAge) | |
Constructor. Similar to default, but assignes type and age. More... | |
LSDParticle (int StartType, int StartCI, double StartAge, double StartOSLage, double StartxLoc, double StartdLoc) | |
Constructor. Assignes all data members except yLoc. More... | |
LSDParticle (int StartType, int StartCI, double StartAge, double StartOSLage, double StartxLoc, double StartyLoc, double StartdLoc) | |
Constructor. Assignes all data members. More... | |
LSDParticle (int StartType, double StartxLoc, double StartdLoc) | |
Constructor. Assignes type, x location and d location. other parameters are default. More... | |
int | getType () const |
Get the type. More... | |
int | getCellIndex () const |
Get the CellIndex. More... | |
double | getAge () const |
Get the Age. More... | |
double | getOSLage () const |
Get the OSLage. More... | |
double | getxLoc () const |
Get the xLoc. More... | |
double | getyLoc () const |
Get the yLoc. More... | |
double | getdLoc () const |
Get the dLoc. More... | |
LSDParticle (const LSDParticle &tP) | |
const reference operator | |
LSDParticle (LSDParticle &tP) | |
const reference operator | |
LSDParticle & | operator= (const LSDParticle &tP) |
copy constructor | |
std::ostream & | operator<< (std::ostream &) |
outstream operator | |
void | incrementAge (double dt) |
Increase the age of the particle. More... | |
void | setCellIndex (int CI) |
Change the cell index. Used for referencing where the particle is this could be changed in the future to an octree structure. More... | |
void | OSLexpose () |
This 'exposes' the particle to light and resets the OSL age. | |
void | SoilAgeExpose () |
This 'exposes' the particle and resets its soil age to zero. | |
void | update_xLoc (double new_xLoc) |
Allows the user to update the horizontal location (dangerous!) | |
void | update_yLoc (double new_yLoc) |
Allows the user to update the horizontal location (dangerous!) | |
void | displaceReflect (double dx, double dd, double h, double dt) |
this changes a particles horizontal and vertical position. If the particle reaches the surface it 'reflects' back into the soil layer IMPORTANT: this increments the OSL age but not the soil age!! More... | |
int | test_domain (double lambda) |
this function test to see if the particle is within a hillslope, and if not sets the data to no data values More... | |
Protected Attributes | |
double | effective_dLoc |
The effective depth of the particle in g/cm^2. | |
double | zetaLoc |
double | Conc_10Be |
concentration of 10Be in atoms/g | |
double | Conc_26Al |
concentration of 26Al in atoms/g | |
double | Conc_36Cl |
concentration of 36Cl in atoms/g | |
double | Conc_14C |
concentration of 14C in atoms/g | |
double | Conc_21Ne |
concentration of 21Ne in atoms/g | |
double | Conc_3He |
concentration of 3He in atoms/g | |
double | Conc_f7Be |
concentration of fallout 7Be in units tba | |
double | Conc_f10Be |
concentration of fallout 10Be in units a/g | |
double | Conc_f210Pb |
concentration of fallout 210Pb in units tba | |
double | Conc_f137Cs |
concentration of fallout 137Cs in units tba | |
double | Mass |
the mass of the particle. Default units kg | |
double | StartingMass |
Starting mass of the particle. Default units kg. | |
double | SurfaceArea |
Surface area in m^2. | |
int | GSDType |
Protected Attributes inherited from LSDParticle | |
int | Type |
The type: used to identify, generally, what mineral the particle is. | |
int | CellIndex |
double | Age |
Age the particle has spent in the soil. | |
double | OSLage |
Optically stimulated luminescence age. | |
double | xLoc |
Horizontal location of the particle. | |
double | yLoc |
Other coordinate, used in 3D simulations. | |
double | dLoc |
Depth of the particle. | |
CRN tracer particle object, a particle that contains nuclide information.
|
inline |
|
inline |
vector< double > LSDCRNParticle::apparent_erosion_10Be_COSMOCALC | ( | double | rho, |
LSDCRNParameters & | CRNp, | ||
double | scaling_factor, | ||
string | Muon_scaling, | ||
double | top_eff_depth, | ||
double | bottom_eff_depth | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and for full muon production based on COSMOCALC scaling.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
muon_string | a string containting the muon scaling can be Schaller, Granger or Braucher. Default is Braucher |
top_eff_depth | the effective depth g/cm^2 at the top of the section being depth-integrated |
bottom_eff_depth | the effective depth g/cm^2 at the bottom of the section being depth-integrated |
double LSDCRNParticle::apparent_erosion_10Be_neutron_only | ( | double | rho, |
LSDCRNParameters & | CRNp | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 10Be.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
double LSDCRNParticle::apparent_erosion_14C_neutron_only | ( | double | rho, |
LSDCRNParameters & | CRNp | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 14C.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
double LSDCRNParticle::apparent_erosion_21Ne | ( | double | rho, |
LSDCRNParameters & | CRNp | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 21Ne.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
vector< double > LSDCRNParticle::apparent_erosion_26Al_COSMOCALC | ( | double | rho, |
LSDCRNParameters & | CRNp, | ||
double | scaling_factor, | ||
string | Muon_scaling, | ||
double | top_eff_depth, | ||
double | bottom_eff_depth | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and for full muon production based on COSMOCALC scaling.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
muon_string | a string containting the muon scaling can be Schaller, Granger or Braucher. Default is Braucher |
top_eff_depth | the effective depth g/cm^2 at the top of the section being depth-integrated |
bottom_eff_depth | the effective depth g/cm^2 at the bottom of the section being depth-integrated |
double LSDCRNParticle::apparent_erosion_26Al_neutron_only | ( | double | rho, |
LSDCRNParameters & | CRNp | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density above the sampling depth and if the production was assumed to be from neutrons only for 26Al.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
double LSDCRNParticle::apparent_erosion_36Cl_neutron_only | ( | double | rho, |
LSDCRNParameters & | CRNp | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density abouve the sampling depth and if the production was assumed to be from neutrons only.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
double LSDCRNParticle::apparent_erosion_3He | ( | double | rho, |
LSDCRNParameters & | CRNp | ||
) |
This returns the 'apparent' erosion rate that one would calcualte based on an assumed density aboue the sampling depth and if the production was assumed to be from neutrons only for 3He.
rho | the density in kg/m^3 above the 'sampling' point |
CRNp | a CRN parameters object that stores the coefficients |
void LSDCRNParticle::calculate_effective_depth_one_layer | ( | double | d, |
double | rho | ||
) |
Updates the depth and calculates and updates the effective depth for a one layer density model (that is, all material has the same density)
d | the depth of the particle in metres |
rho | the density of the material in kg/m^3 |
double LSDCRNParticle::convert_gpercm2_to_m | ( | double | l_in_gpercm2, |
double | rho | ||
) |
a utility function to convert between metres and g/cm^2
l_in_gpercm2 | the length in g per cm^2 |
rho | the density in kg/m^3 |
double LSDCRNParticle::convert_m_to_gpercm2 | ( | double | l_in_m, |
double | rho | ||
) |
a utility function to convert between metres and g/cm^2
l_in_m | the length in metres |
rho | the density in kg/m^3 |
void LSDCRNParticle::CRONUS_calculate_N_forward | ( | double | effective_erosion_rate, |
LSDCRNParameters & | LSDCRNP, | ||
vector< double > & | z_mu, | ||
vector< double > & | P_mu_z_10Be, | ||
vector< double > & | P_mu_z_26Al, | ||
double | thickSF, | ||
double | P_sp_10Be, | ||
double | P_sp_26Al, | ||
double & | N_Be10, | ||
double & | N_Al26 | ||
) |
This function returns the number of atoms given an effective erosion rate (this is the erosion rate in g/cm^2/yr) It is used in an optimisation loop (equivalent to fzero in matlab)
effective_erosion_rate | erosion rate in g/cm^2/yr |
LSDCRNP | and LSDCRNParameters object |
z_mu | a vector of depths for muon flux. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_mu_z_10Be | a vector of production of muons for 10Be. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_mu_z_26Al | a vector of production of muons for 26Al. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
thickSF | the thickness scaling factor, generated by LSDCRNParticle::thickness_scaling_factor |
P_sp_10Be | an adjusted production rate that takes into account scaling, snow and topo shielding (stoneP*toposhield*snowshield) |
P_sp_26Al | an adjusted production rate that takes into account scaling, snow and topo shielding (stoneP*toposhield*snowshield) |
N_10Be | the number of 10Be atoms. Replaced in this function. |
N_26 | the number of 26Al atoms. Replaced in this function. |
void LSDCRNParticle::CRONUS_calculate_N_forward | ( | double | effective_erosion_rate, |
LSDCRNParameters & | LSDCRNP, | ||
vector< double > & | z_mu, | ||
vector< double > & | P_mu_z_10Be, | ||
vector< double > & | P_mu_z_26Al, | ||
double | thickSF, | ||
double | P_sp_10Be, | ||
double | P_sp_26Al, | ||
double & | N_Be10, | ||
double & | N_Al26, | ||
double & | Be10_mu_N, | ||
double & | Al26_mu_N, | ||
double & | Be10_sp_N, | ||
double & | Al26_sp_N | ||
) |
This function returns the number of atoms given an effective erosion rate (this is the erosion rate in g/cm^2/yr) It is used in an optimisation loop (equivalent to fzero in matlab) this is an overloaded version that returns the atoms from the two production mechanisms.
effective_erosion_rate | erosion rate in g/cm^2/yr |
LSDCRNP | and LSDCRNParameters object |
z_mu | a vector of depths for muon flux. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_mu_z_10Be | a vector of production of muons for 10Be. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_mu_z_26Al | a vector of production of muons for 26Al. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
thickSF | the thickness scaling factor, generated by LSDCRNParticle::thickness_scaling_factor |
P_sp_10Be | an adjusted production rate that takes into account scaling, snow and topo shielding (stoneP*toposhield*snowshield) |
P_sp_26Al | an adjusted production rate that takes into account scaling, snow and topo shielding (stoneP*toposhield*snowshield) |
N_10Be | the number of 10Be atoms. Replaced in this function. |
N_26 | the number of 26Al atoms. Replaced in this function. |
Be10_mu_N | atoms of 10Be from muons |
Al26_mu_N | atoms of 26Al from muons |
Be10_sp_N | atoms of 10Be from spallation |
Al26_sp_N | atoms of 26Al from spallation |
vector< double > LSDCRNParticle::CRONUS_error_propagation | ( | double | pressure, |
LSDCRNParameters & | LSDCRNP, | ||
double | thickSF, | ||
double | rho, | ||
double | sample_N10, | ||
double | sample_N26, | ||
double | sample_del10, | ||
double | sample_del26, | ||
vector< double > & | z_mu, | ||
vector< double > & | P_mu_z_10Be, | ||
vector< double > & | P_mu_z_26Al, | ||
double | P_sp_10Be, | ||
double | P_sp_26Al, | ||
double | eff_e_10, | ||
double | eff_e_26 | ||
) |
This function returns the number of atoms given an effective erosion rate (this is the erosion rate in g/cm^2/yr) It is used in an optimisation loop (equivalent to fzero in matlab)
pressure | atmospgeric pressure in HPa |
LSDCRNP | and LSDCRNParameters object |
thickSF | the thickness scaling factor, get from LSDCRNParticle::thickness_scaling_factor |
rho | the sample density in kg/m^3 |
sample_N10 | The number of 10Be atoms in the sample |
sample_N26 | The number of 26Al atoms in the sample |
sample_del10 | The accelerator uncertanty in the number of 10Be atoms |
sample_del26 | The accelerator uncertanty in the number of 26Al atoms |
z_mu | a vector of depths for muon flux. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_mu_z_10Be | a vector of production of muons for 10Be. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_mu_z_26Al | a vector of production of muons for 26Al. Generated by LSDCRNParameters::get_CRONUS_P_mu_vectors |
P_sp_10Be | an adjusted production rate that takes into account scaling, snow and topo shielding (stoneP*toposhield*snowshield) |
P_sp_26Al | an adjusted production rate that takes into account scaling, snow and topo shielding (stoneP*toposhield*snowshield) |
eff_e_10 | effective erosion rate from 10Be in g/cm^2/yr |
eff_e_26 | effective erosion rate from 26Al in g/cm^2/yr |
vector< double > LSDCRNParticle::CRONUS_get_Al_Be_erosion | ( | LSDCRNParameters & | LSDCRNP, |
double | pressure, | ||
double | lat, | ||
double | rho, | ||
double | N_10Be, | ||
double | N_26Al, | ||
double | sample_del10, | ||
double | sample_del26, | ||
double | topo_scale, | ||
double | snow_scale | ||
) |
This function wraps the functions for getting the erosion rate from Al and Be data. The function emulates the get_al_be_erosion.m from the CRONUS calculator, written by Greg Balco.
LSDCRNP | and LSDCRNParameters object |
pressure | the atmospheric pressure in hPa |
lat | the latitude |
rho | the density in kg/m^3 |
N_10Be | the number of 10Be atoms |
N_26 | the number of 26Al atoms |
sample_del10 | The accelerator uncertanty in the number of 10Be atoms |
sample_del26 | The accelerator uncertanty in the number of 26Al atoms |
topo_scale | the topographic scaling (between 0 and 1) |
snow_scale | the snow scaling (between 0 and 1) |
vector< double > LSDCRNParticle::CRONUS_get_Al_Be_erosion_modified_production | ( | LSDCRNParameters & | LSDCRNP, |
double | pressure, | ||
double | lat, | ||
double | rho, | ||
double | N_10Be, | ||
double | N_26Al, | ||
double | sample_del10, | ||
double | sample_del26, | ||
double | topo_scale, | ||
double | snow_scale, | ||
double | Spallation_frac, | ||
double | P_mu_frac | ||
) |
This function wraps the functions for getting the erosion rate from Al and Be data. Similar to above but modifies production rates The function emulates the get_al_be_erosion.m from the CRONUS calculator, written by Greg Balco.
LSDCRNP | and LSDCRNParameters object |
pressure | the atmospheric pressure in hPa |
lat | the latitude |
rho | the density in kg/m^3 |
N_10Be | the number of 10Be atoms |
N_26 | the number of 26Al atoms |
sample_del10 | The accelerator uncertanty in the number of 10Be atoms |
sample_del26 | The accelerator uncertanty in the number of 26Al atoms |
topo_scale | the topographic scaling (between 0 and 1) |
snow_scale | the snow scaling (between 0 and 1) |
Spallation_frac | fraction change in the default spallation |
P_mu_frac | fraction change in the default muon production |
vector< double > LSDCRNParticle::CRONUS_initial_guess | ( | LSDCRNParameters & | LSDCRNP, |
double | pressure, | ||
double | lat, | ||
double | N_10Be, | ||
double | N_26Al, | ||
double | topo_scale, | ||
double | snow_scale | ||
) |
This function is the initial guess of erosion rate that repicates the initial guesss component of the CRONUS erosion rate function This replicates the 'initial guess' stage in Greg Balco's CRONUS calculator code get_al_be_erosion.m.
LSDCRNP | and LSDCRNParameters object |
pressure | the atmospheric pressure in hPa |
lat | the latitude |
N_10Be | the number of 10Be atoms |
N_26 | the number of 26Al atoms |
topo_scale | the topographic scaling (between 0 and 1) |
snow_scale | the snow scaling (between 0 and 1) |
void LSDCRNParticle::CRONUS_screen_report | ( | vector< double > | erate_consts | ) |
This produces a screen report that replicates the CRONUS calculator screen report.
erate_consts | the vector that is returned by the function LSDCRNParticle::CRONUS_get_Al_Be_erosion |
double LSDCRNParticle::CRONUS_simple_N_findroots | ( | double | inital_erate, |
double | target, | ||
double | Psp, | ||
double | Pmu, | ||
double | GammaSp, | ||
double | GammaMu, | ||
double | decay | ||
) |
This finds the roots of a simple version of the number of atoms given an effective erosion rate This function is used by the CRONUS calculator to determine uncertanties.
intial_erate | the first guess of erosion rate in g/cm^2/yr. |
target | the target number of atoms |
Psp | production from spallation |
Pmu | production from muons |
GammaSp | effective attenuation length for spallation (g/cm^2) |
GammaMu | effective attenuation length for muons (g/cm^2) |
GammaMu | effective attenuation length for muons (g/cm^2) |
decay | The decay coefficient of this nuclide |
double LSDCRNParticle::CRONUS_simple_N_forward | ( | double | eff_eros, |
double | Psp, | ||
double | Pmu, | ||
double | GammaSp, | ||
double | GammaMu, | ||
double | decay | ||
) |
This calculates a simple version of the number of atoms given an effective erosion rate This function is used by the CRONUS calculator to determine uncertanties.
eff_eros | erosion rate in g/cm^2/yr. |
Psp | production from spallation |
Pmu | production from muons |
GammaSp | effective attenuation length for spallation (g/cm^2) |
GammaMu | effective attenuation length for muons (g/cm^2) |
GammaMu | effective attenuation length for muons (g/cm^2) |
decay | The decay coefficient of this nuclide |
double LSDCRNParticle::desilets2006sp | ( | double | h, |
double | Rc | ||
) |
This gets the deselits 2006 scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math.
h | is atmospheric pressure (hPa) |
Rc | is cutoff rigidity (GV) |
double LSDCRNParticle::dunai2001sp | ( | double | h, |
double | Rc | ||
) |
This gets the Dunai Scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math.
h | is atmospheric pressure (hPa) |
Rc | is cutoff rigidity (GV) |
|
inline |
Retrieves the zeta location.
|
inline |
Retrieves the concentration of 10Be.
|
inline |
Retrieves the concentration of 14C.
|
inline |
Retrieves the concentration of 21Ne.
|
inline |
Retrieves the concentration of 26Al.
|
inline |
Retrieves the concentration of 36Cl.
|
inline |
Retrieves the concentration of 3He.
|
inline |
Retrieves the concentration of fallout 10Be.
|
inline |
Retrieves the concentration of 137Cs.
|
inline |
Retrieves the concentration of 201Pb.
|
inline |
Retrieves the concentration of fallout 7Be.
|
inline |
Retrieves the effective depth.
|
inline |
returns the GSDType of the particle, which is an index into a LSDVolumeParticleInfo object
|
inline |
returns the mass of the particle
|
inline |
returns the starting mass of the particle
|
inline |
returns the surface area of the particle
double LSDCRNParticle::intOfBeta | ( | double | x, |
double | Rc | ||
) |
This integrates over beta for Deselits scaling (see the paper) Modified from Greg Balco's code: http://hess.ess.washington.edu/math.
x | integrating variable |
Rc | is cutoff rigidity (GV) |
double LSDCRNParticle::lifton2006sp | ( | double | h, |
double | Rc, | ||
double | S | ||
) |
This gets the Stone scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math.
h | is atmospheric pressure (hPa) |
Rc | is cutoff rigidity (GV) |
S | solar modulation factor (nondimensional, see source paper) |
|
inline |
this sets 10Be conc
the | new 10Be conc in atoms per gram |
|
inline |
this sets 26Al conc
the | new 26Al conc in atoms per gram |
double LSDCRNParticle::stone2000Rcsp | ( | double | h, |
double | Rc | ||
) |
This implements a cutoff-rigidity rather than latitude based scaling scheme based on the Lal spallation polynomials. For use in paleomagnetically-corrected exposure-age calculations. Original version Written by Greg Balco – UW Cosmogenic Nuclide Lab balcs March, 2007 Part of the CRONUS-Earth online calculators: @u.w ashin gton .eduhttp://hess.ess.washington.edu/math.
h | = tmospheric pressure (hPa) |
Rc | cutoff rigidity (GV) |
double LSDCRNParticle::stone2000sp | ( | double | lat, |
double | P, | ||
double | Fsp | ||
) |
This gets the Lifton Scaling Modified from Greg Balco's code: http://hess.ess.washington.edu/math.
latitude | in decimal degrees |
pressure | in hPa |
fsp | is the fraction (between 0 and 1) of production at sea level and high latitude due to spallation (as opposed to muons). This argument is optional and defaults to 0.978, which is the value used by Stone (2000) for Be-10. The corresponding value for Al-26 is 0.974. Note that using 0.844 for Be-10 and 0.826 for Al-26 will closely reproduce the Lal, 1991 scaling factors as long as the standard atmosphere is used to convert sample elevation to atmospheric pressure. Also note that this function will yield the scaling factor for spallation only when fsp=1, and that for muons only when fsp=0. |
double LSDCRNParticle::thickness_scaling_factor | ( | LSDCRNParameters & | LSDCRNP, |
bool | use_CRONUS | ||
) |
this calculates a thickness scaling factor that is used in the CRONUS calculator calculations
LSDCRNP | an LSDCRNParameters object |
use_CRONUS | a boolean that if true uses the attenuation depth of the CRONUS calculator (at the moment this makes no difference) |
void LSDCRNParticle::update_10Be_conc | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 10Be concentration based on a constant erosion rate using the full production range, including muons.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_10Be_conc_linear_increase | ( | double | dt, |
double | erosion_rate, | ||
double | alpha, | ||
LSDCRNParameters & | CRNp | ||
) |
This updates 10Be nuclide concentration if erosion is increasing (or decreasing) linearly alpha is the change in erosion rate–do not set alpha to zero!
This solves an analytical solution for cosmo concertration with a linear increase in cosmo concentration
dt | time step to calculate next cosmo concetration |
erosion_rate | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
alpha | the increase in erosion rate (in g/cm^2/yr^2) |
CRNp | a CRN parameters object |
void LSDCRNParticle::update_10Be_conc_neutron_only | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 10Be concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_10Be_SSfull | ( | double | erosion, |
LSDCRNParameters & | CRNp | ||
) |
Bring the 10Be concentration to steady state based on a constant erosion rate using full muogenic production.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_10Be_SSfull_depth_integrated | ( | double | erosion_rate, |
LSDCRNParameters & | CRNp, | ||
double | top_eff_depth, | ||
double | bottom_eff_depth | ||
) |
Bring the 10Be concentration to steady state based on a constant erosion rate using full muogenic production. This version is for a DEPTH INTEGRATED concentration and as such should only be used for basinwide calculations.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
top_eff_depth | the effective depth g/cm^2 at the top of the section being depth-integrated |
bottom_eff_depth | the effective depth g/cm^2 at the bottom of the section being depth-integrated |
void LSDCRNParticle::update_14C_conc | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 14C concentration based on a constant erosion rate using the full production range, including muons.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_14C_conc_neutron_only | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 14C concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_14C_SSfull | ( | double | erosion, |
LSDCRNParameters & | CRNp | ||
) |
Bring the 14C concentration to steady state based on a constant erosion rate using full muogenic production.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_21Ne_conc | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 21Ne concentration based on a constant erosion rate using the full production range, including muons.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_21Ne_SSfull | ( | double | erosion, |
LSDCRNParameters & | CRNp | ||
) |
Bring the 21Ne concentration to steady state based on a constant erosion rate using full muogenic production.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_26Al_conc | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 26Al concentration based on a constant erosion rate using the full production range, including muons.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_26Al_conc_neutron_only | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 26Al concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_26Al_SSfull | ( | double | erosion, |
LSDCRNParameters & | CRNp | ||
) |
Bring the 26Al concentration to steady state based on a constant erosion rate using full muogenic production.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_26Al_SSfull_depth_integrated | ( | double | erosion_rate, |
LSDCRNParameters & | CRNp, | ||
double | top_eff_depth, | ||
double | bottom_eff_depth | ||
) |
Bring the 26Al concentration to steady state based on a constant erosion rate using full muogenic production. This version is for a DEPTH INTEGRATED concentration and as such should only be used for basinwide calculations.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
top_eff_depth | the effective depth g/cm^2 at the top of the section being depth-integrated |
bottom_eff_depth | the effective depth g/cm^2 at the bottom of the section being depth-integrated |
void LSDCRNParticle::update_36Cl_conc | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 36Cl concentration based on a constant erosion rate using the full production range, including muons.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_36Cl_conc_neutron_only | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 36Cl concentration based on a constant erosion rate using the ONLY NEUTRON porduction. It is less computationally expensive than calcualting the full production and is a good approximation of the erosion rates are slow
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_36Cl_SSfull | ( | double | erosion, |
LSDCRNParameters & | CRNp | ||
) |
Bring the 36Cl concentration to steady state based on a constant erosion rate using full muogenic production.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_3He_conc | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
update the 3He concentration based on a constant erosion rate using the full production range, including muons.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr) over a duration of dt
dt | the timestep over which erosion occurs |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_3He_SSfull | ( | double | erosion, |
LSDCRNParameters & | CRNp | ||
) |
Bring the 3He concentration to steady state based on a constant erosion rate using full muogenic production.
This function solves for the updated concentration assuming a constant erosion rate (in g/cm^2/yr). It is an analytical steady state solution
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients to approximate production from the different production mechanisms |
void LSDCRNParticle::update_all_CRN | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
A wrapper function to update all the nuclide concentrations in one go. It uses full muogenic production.
dt | the timestep over which the concetrations are updated |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients |
void LSDCRNParticle::update_all_CRN_neutron_only | ( | double | dt, |
double | erosion, | ||
LSDCRNParameters & | CRNp | ||
) |
A wrapper function to update all the nuclide concentrations in one go. It uses NEUTRON PRODUCTION ONLY to save computational expense. This is a reasonable approximation in slowly eroding landscapes.
dt | the timestep over which the concetrations are updated |
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients |
void LSDCRNParticle::update_all_CRN_SSfull | ( | double | erosion_rate, |
LSDCRNParameters & | CRNp | ||
) |
A wrapper function to update all the nuclide concentrations to steady state using full muon production.
erosion | the erosion rate in g/cm^2/yr POSITIVE FOR EROSION |
CRNp | a CRN parameters object that stores the coefficients |
void LSDCRNParticle::update_cosmo_conc_const | ( | double | C_10Be, |
double | C_26Al, | ||
double | C_36Cl, | ||
double | C_14C, | ||
double | C_21Ne, | ||
double | C_3He | ||
) |
This assigns nuclide concentrations with constant values.
C_10Be | the 10Be concentration |
C_26Al | the 26Al concentration |
C_36Cl | the 36Cl concentration |
C_14C | the 14C concentration |
C_21Ne | the 21Ne concentration |
C_3He | the 3He concentration |
void LSDCRNParticle::update_depths | ( | double | delta_d, |
double | delta_ed | ||
) |
This assignes depths. Note: it does not check if the effective depth is compatible with the depth!
delta_d | the new depth (in metres) |
delta_ed | the new effective depth in g/cm^2 |
void LSDCRNParticle::update_zetaLoc | ( | double | new_zeta | ) |
This assigns a new value for zeta.
new_zeta | the new zeta, which is elevation above an arbitrary datum |
|
protected |
an integer used to denote the GSD type this is an INDEX into a vector in the LSDVolumeParticleInfo object
|
protected |
the elevation (in metres) relative to an arbitrary datum (used to interface with landscape evolution)