isotopylog.fit_Hea14

isotopylog.fit_Hea14(he, logy=True, p0=[-10.0, -10.0, -10.0])

Fits D evolution data using the transient defect/equilibrium model of Henkes et al. (2014) (Equation 5).

Parameters:
  • he (isotopylog.HeatingExperiment) – ipl.HeatingExperiment instance containing the D data to be modeled.
  • logy (Boolean) – Tells the function whether or not to calculate fits using the natural logarithm of reaction progress as the y axis. If True, results should be in closer alignment with PH12 and Hea14 literature values.
  • p0 (array-like) – Array of paramter guess to initialize the fitting algorithm, in the order [ln(kc), ln(kd), ln(k2)]. Defaults to [-10, -10, -10].
Returns:

  • params (np.ndarray) – Array of resulting parameter values, in the order [ln(kc), ln(kd), ln(k2)].
  • params_cov (np.ndarray) – Covariance matrix associated with the resulting parameter values, of shape [3 x 3]. The +/- 1 sigma uncertainty for each parameter can be calculated as np.sqrt(np.diag(params_cov))
  • rmse (float) – Root Mean Square Error (in D47 permil units) of the model fit. Includes model fit to all data points.
  • npt (int) – Number of data points included in the model solution.

Notes

Results are bounded to be non-negative. All calculations are done in lnG space and thus only depend on relative changes in D47.

If logy = True, note that fits are subject to high uncertainty when approaching equilibrium, so ensure that HeatingExperiment data are culled.

See also

isotopylog.fit_HH21()
Method for fitting heating experiment data using the distributed activation energy model of Hemingway and Henkes (2021).
isotopylog.fit_PH12()
Method for fitting heating experiment data using the pseudo first- order method of Passey and Henkes (2012). Called to determine linear region.
isotopylog.fit_SE15()
Method for fitting heatinge experiment data using the paird diffusion model of Stolper and Eiler (2015).
kDistribution.invert_experiment()
Method for generating a kDistribution instance from experimental data.

Examples

Basic implementation, assuming a ipl.HeatingExperiment instance he exists:

#import modules
import isotopylog as ipl

#assume he is a HeatingExperiment instance
results = ipl.fit_Hea14(he, p0 = [-7., -7., -7.])

References

[1] Henkes et al. (2014) Geochim. Cosmochim. Ac., 139, 362–382.