Last data update: 2014.03.03

R: Model Luminescence Signals
model_LuminescenceSignalsR Documentation

Model Luminescence Signals

Description

This function models luminescence signals for quartz based on published physical models. It is possible to simulate TL, (CW-) OSL, RF measurements in a arbitrary sequence. This sequence is definded as a list of certain abrivations. Furthermore it is possible to load a sequence direct from the Riso Sequence Editor. The output is an RLum.Analysisobject and so the plots are done by the plot_RLum.Analysis function. If a SAR sequence is simulated the plot output can be disabled and SAR analyse functions can be used.

Usage

model_LuminescenceSignals(model, sequence, lab.dose_rate = 1,
  simulate_sample_history = FALSE, plot = TRUE, verbose = TRUE,
  show.structure = FALSE, ...)

Arguments

model

character (required): set model to be used. Available models are: "Bailey2001", "Bailey2002", "Bailey2004", "Pagonis2007", "Pagonis2008"

sequence

list (required): set sequence to model as list or as *.seq file from the Riso sequence editor. To simulate SAR measurements there is an extra option to set the sequence list (cf. details).

lab.dose_rate

numeric (with default): laboratory dose rate in XXX Gy/s for calculating seconds into Gray in the *.seq file.

simulate_sample_history

logical (with default): FALSE (with default): simulation begins at laboratory conditions, TRUE: simulations begins at crystallization (all levels 0) process

plot

logical (with default): Enables or disables plot output

verbose

logical (with default): Verbose mode on/off

show.structure

logical (with default): Shows the structure of the result. Recommended to show record.id to analyse concentrations.

...

further arguments and graphical parameters passed to plot.default. See details for further information.

Details

Defining a sequence

Arguments Description Sub-arguments
TL thermally stimulated luminescence 'temp begin', 'temp end', 'heating rate'
OSL optically stimulated luminescence 'temp', 'duration','optical_power'
ILL illumination 'temp', 'duration','optical_power'
LM_OSL linear modulated OSL 'temp', 'duration', optional: 'start_power', 'end_power'
RL/RF radioluminescence 'temp','dose', 'dose_rate'
IRR irradiation 'temp','dose', 'dose_rate'
CH cutheat 'temp', optional: 'duration', 'heating_rate'
PH preheat 'temp', 'duration' optional: 'heating_rate'
PAUSE pause 'temp', 'duration'

Note: 100 % illumination power equates 20 mW/cm^2

Defining a SAR-sequence

Abrivation Description examples
RegDose Dose points of the regenerative cycles c(0, 80, 140, 260, 320, 0, 80)
TestDose Test dose for the SAR cycles 50
PH Temperature of the preheat 240
CH Temperature of the cutheat 200
OSL_temp Temperature of OSL read out 125
OSL_duration Duration of OSL read out default: 40
Irr_temp Temperature of irradiation default: 20
PH_duration Duration of the preheat default: 10
dose_rate Dose rate of the laboratory irradiation source default: 1
optical_power Percentage of the full illumination power default: 90
Irr_2recover Dose to be recovered in a dose-recovery-test 20

Value

This function returns an RLum.Analysis object with all TL, (LM-) OSL and RF/RL steps in the sequence. Every entry is an RLum.Data.Curve object and can be plotted, analysed etc. with further RLum-functions.

Function version

0.1.0

Author(s)

Johannes Friedrich, University of Bayreuth (Germany), Sebastian Kreutzer, IRAMAT-CRP2A, Universite Bordeaux Montaigne (France)

References

Bailey, R.M., 2001. Towards a general kinetic model for optically and thermally stimulated luminescence of quartz. Radiation Measurements 33, 17-45.

Bailey, R.M., 2002. Simulations of variability in the luminescence characteristics of natural quartz and its implications for estimates of absorbed dose. Radiation Protection Dosimetry 100, 33-38.

Bailey, R.M., 2004. Paper I-simulation of dose absorption in quartz over geological timescales and it simplications for the precision and accuracy of optical dating. Radiation Measurements 38, 299-310.

Pagonis, V., Chen, R., Wintle, A.G., 2007: Modelling thermal transfer in optically stimulated luminescence of quartz. Journal of Physics D: Applied Physics 40, 998-1006.

Pagonis, V., Wintle, A.G., Chen, R., Wang, X.L., 2008. A theoretical model for a new dating protocol for quartz based on thermally transferred OSL (TT-OSL). Radiation Measurements 43, 704-708.

Soetaert, K., Cash, J., Mazzia, F., 2012. Solving differential equations in R. Springer Science & Business Media.

See Also

plot, RLum, read_SEQ2R

Examples



##================================================================##
## Example 1: Simulate sample history of Bailey2001
## (cf. Bailey, 2001, Fig. 1)
##================================================================##

##set sequence with the following steps
## (1) Irradiation at 20 deg. C with a dose of 10 Gy and a dose rate of 1 Gy/s
## (2) TL from 20-400 deg. C with a rate of 5 K/s

sequence <-
  list(
    IRR = c(20, 10, 1),
    TL = c(20, 400, 5)
  )

##model sequence
model.output <- model_LuminescenceSignals(
  sequence = sequence,
  model = "Bailey2001"
)

## Not run: 
##============================================================================##
## Example 2: Simulate sequence at labour without sample history
##============================================================================##

##set sequence with the following steps
## (1) Irraditation at 20 deg. C with a dose of 100 Gy and a dose rate of 1 Gy/s
## (2) Preheat to 200 deg. C and hold for 10 s
## (3) LM-OSL at 125 deg. C. for 100 s
## (4) Cutheat at 200 dec. C.
## (5) Irraditation at 20 deg. C with a dose of 10 Gy and a dose rate of 1 Gy/s
## (6) Pause at 200 de. C. for 100 s
## (7) OSL at 125 deg. C for 100 s with 90 % optical power
## (8) Pause at 200 deg. C for 100 s
## (9) TL from 20-400 deg. C with a heat rate of 5 K/s
## (10) Radiofluorescence at 20 deg. C with a dose of 200 Gy and a dose rate of 0.01 Gy/s

sequence <-
 list(
   IRR = c(20, 100, 1),
   PH = c(200, 10),
   LM_OSL = c(125, 100),
   CH = c(200),
   IRR = c(20, 10, 1),
   PAUSE = c(200, 100),
   OSL = c(125, 100, 90),
   PAUSE = c(200, 100),
   TL = c(20, 400, 5),
   RF = c(20, 200, 0.01)
)

# call function "model_LuminescenceSignals", set sequence = sequence,
# model = "Pagonis2008" (palaeodose = 200 Gy) and simulate_sample_history = FALSE (default),
# because the sample history is not part of the sequence

model.output <- model_LuminescenceSignals(
   sequence = sequence,
   model = "Pagonis2008"
   )



##============================================================================##
## Example 3: Simulate SAR sequence
##============================================================================##

##set SAR sequence with the following steps
## (1) RegDose: set regenerative dose [Gy] as vector
## (2) TestDose: set test dose [Gy]
## (3) PH: set preheat temperature in deg. C
## (4) CH: Set cutheat temperature in deg. C
## (5) OSL_temp: set OSL reading temperature in deg. C
## (6) OSL_duration: set OSL reading duration in s

sequence <- list(
 RegDose = c(0,10,20,50,90,0,10),
 TestDose = 5,
 PH = 240,
 CH = 200,
 OSL_temp = 125,
 OSL_duration = 70)

# call function "model_LuminescenceSignals", set sequence = sequence,
# model = "Pagonis2007" (palaeodose = 20 Gy) and simulate_sample_history = FALSE (default),
# because the sample history is not part of the sequence

 model.output <- model_LuminescenceSignals(

 sequence = sequence,
 model = "Pagonis2007",
 plot = FALSE
 )

# in environment is a new object "model.output" with the results of
# every step of the given sequence.
# Plots are done at OSL and TL steps and the growth curve

# call "analyse_SAR.CWOSL" from RLum package
 results <- analyse_SAR.CWOSL(model.output,
                            signal.integral.min = 1,
                            signal.integral.max = 15,
                            background.integral.min = 601,
                            background.integral.max = 701,
                            fit.method = "EXP",
                            dose.points = c(0,10,20,50,90,0,10))


##============================================================================##
## Example 4: generate sequence from *.seq file and run SAR simulation
##============================================================================##

# load example *.SEQ file and construct a sequence.
# call function "model_LuminescenceSignals", load created sequence for sequence,
# set model = "Bailey2002" (palaeodose = 10 Gy)
# and simulate_sample_history = FALSE (default),
# because the sample history is not part of the sequence

path <- system.file("extdata", "example_SAR_cycle.SEQ", package="RLumModel")

sequence <- read_SEQ2R(file = path)

model.output <- model_LuminescenceSignals(
  sequence = sequence,
  model = "Bailey2001",
  plot = FALSE
)


## call RLum package function "analyse_SAR.CWOSL" to analyse the simulated SAR cycle

results <- analyse_SAR.CWOSL(model.output,
                             signal.integral.min = 1,
                             signal.integral.max = 10,
                             background.integral.min = 301,
                             background.integral.max = 401,
                             dose.points = c(0,8,14,26,32,0,8),
                             fit.method = "EXP")

print(get_RLum(results))


##============================================================================##
## Example 5: compare different optical powers of stimulation light
##============================================================================##

# call function "model_LuminescenceSignals", model = "Bailey2004"
# and simulate_sample_history = FALSE (default),
# because the sample history is not part of the sequence
# the optical_power of the LED is varied and then compared.

optical_power <- seq(from = 0,to = 100,by = 20)

model.output <- lapply(1:length(optical_power), function(x){

 sequence <- list(IRR = c(20, 50, 1),
                  PH = c(220, 10, 5),
                  OSL = c(125, 50, optical_power[x])
                  )

 data <- model_LuminescenceSignals(
           sequence = sequence,
           model = "Bailey2004",
           plot = FALSE
           )

 return(get_RLum(data, recordType = "OSL$", drop = FALSE))
})

##combine output curves
model.output.merged <- merge_RLum(model.output)

##plot
plot_RLum(
 object = model.output.merged,
 xlab = "Illumination time [s]",
 ylab = "OSL signal [a.u.]",
 main = "OSL signal dependency on optical power of stimulation light",
 legend.text = paste("Optical power density", 20*optical_power/100, "mW/cm^2"),
 combine = TRUE)


## End(Not run)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(RLumModel)
Loading required package: Luminescence
Welcome to the R package Luminescence version 0.6.0 [Built: 2016-05-30 16:47:30 UTC]
The NSA: 'O'zapft is.'

Attaching package: 'RLumModel'

The following object is masked from 'package:Luminescence':

    model_LuminescenceSignals

> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/RLumModel/model_LuminescenceSignals.Rd_%03d_medium.png", width=480, height=480)
> ### Name: model_LuminescenceSignals
> ### Title: Model Luminescence Signals
> ### Aliases: model_LuminescenceSignals
> 
> ### ** Examples
> 
> 
> 
> ##================================================================##
> ## Example 1: Simulate sample history of Bailey2001
> ## (cf. Bailey, 2001, Fig. 1)
> ##================================================================##
> 
> ##set sequence with the following steps
> ## (1) Irradiation at 20 deg. C with a dose of 10 Gy and a dose rate of 1 Gy/s
> ## (2) TL from 20-400 deg. C with a rate of 5 K/s
> 
> sequence <-
+   list(
+     IRR = c(20, 10, 1),
+     TL = c(20, 400, 5)
+   )
> 
> ##model sequence
> model.output <- model_LuminescenceSignals(
+   sequence = sequence,
+   model = "Bailey2001"
+ )

[.translate_Sequence()] 
	>> Simulate sequence 
   |                                                                               |                                                                      |   0%   |                                                                               |===================================                                   |  50%   |                                                                               |======================================================================| 100%
> 
> ## Not run: 
> ##D ##============================================================================##
> ##D ## Example 2: Simulate sequence at labour without sample history
> ##D ##============================================================================##
> ##D 
> ##D ##set sequence with the following steps
> ##D ## (1) Irraditation at 20 deg. C with a dose of 100 Gy and a dose rate of 1 Gy/s
> ##D ## (2) Preheat to 200 deg. C and hold for 10 s
> ##D ## (3) LM-OSL at 125 deg. C. for 100 s
> ##D ## (4) Cutheat at 200 dec. C.
> ##D ## (5) Irraditation at 20 deg. C with a dose of 10 Gy and a dose rate of 1 Gy/s
> ##D ## (6) Pause at 200 de. C. for 100 s
> ##D ## (7) OSL at 125 deg. C for 100 s with 90 % optical power
> ##D ## (8) Pause at 200 deg. C for 100 s
> ##D ## (9) TL from 20-400 deg. C with a heat rate of 5 K/s
> ##D ## (10) Radiofluorescence at 20 deg. C with a dose of 200 Gy and a dose rate of 0.01 Gy/s
> ##D 
> ##D sequence <-
> ##D  list(
> ##D    IRR = c(20, 100, 1),
> ##D    PH = c(200, 10),
> ##D    LM_OSL = c(125, 100),
> ##D    CH = c(200),
> ##D    IRR = c(20, 10, 1),
> ##D    PAUSE = c(200, 100),
> ##D    OSL = c(125, 100, 90),
> ##D    PAUSE = c(200, 100),
> ##D    TL = c(20, 400, 5),
> ##D    RF = c(20, 200, 0.01)
> ##D )
> ##D 
> ##D # call function "model_LuminescenceSignals", set sequence = sequence,
> ##D # model = "Pagonis2008" (palaeodose = 200 Gy) and simulate_sample_history = FALSE (default),
> ##D # because the sample history is not part of the sequence
> ##D 
> ##D model.output <- model_LuminescenceSignals(
> ##D    sequence = sequence,
> ##D    model = "Pagonis2008"
> ##D    )
> ##D 
> ##D 
> ##D 
> ##D ##============================================================================##
> ##D ## Example 3: Simulate SAR sequence
> ##D ##============================================================================##
> ##D 
> ##D ##set SAR sequence with the following steps
> ##D ## (1) RegDose: set regenerative dose [Gy] as vector
> ##D ## (2) TestDose: set test dose [Gy]
> ##D ## (3) PH: set preheat temperature in deg. C
> ##D ## (4) CH: Set cutheat temperature in deg. C
> ##D ## (5) OSL_temp: set OSL reading temperature in deg. C
> ##D ## (6) OSL_duration: set OSL reading duration in s
> ##D 
> ##D sequence <- list(
> ##D  RegDose = c(0,10,20,50,90,0,10),
> ##D  TestDose = 5,
> ##D  PH = 240,
> ##D  CH = 200,
> ##D  OSL_temp = 125,
> ##D  OSL_duration = 70)
> ##D 
> ##D # call function "model_LuminescenceSignals", set sequence = sequence,
> ##D # model = "Pagonis2007" (palaeodose = 20 Gy) and simulate_sample_history = FALSE (default),
> ##D # because the sample history is not part of the sequence
> ##D 
> ##D  model.output <- model_LuminescenceSignals(
> ##D 
> ##D  sequence = sequence,
> ##D  model = "Pagonis2007",
> ##D  plot = FALSE
> ##D  )
> ##D 
> ##D # in environment is a new object "model.output" with the results of
> ##D # every step of the given sequence.
> ##D # Plots are done at OSL and TL steps and the growth curve
> ##D 
> ##D # call "analyse_SAR.CWOSL" from RLum package
> ##D  results <- analyse_SAR.CWOSL(model.output,
> ##D                             signal.integral.min = 1,
> ##D                             signal.integral.max = 15,
> ##D                             background.integral.min = 601,
> ##D                             background.integral.max = 701,
> ##D                             fit.method = "EXP",
> ##D                             dose.points = c(0,10,20,50,90,0,10))
> ##D 
> ##D 
> ##D ##============================================================================##
> ##D ## Example 4: generate sequence from *.seq file and run SAR simulation
> ##D ##============================================================================##
> ##D 
> ##D # load example *.SEQ file and construct a sequence.
> ##D # call function "model_LuminescenceSignals", load created sequence for sequence,
> ##D # set model = "Bailey2002" (palaeodose = 10 Gy)
> ##D # and simulate_sample_history = FALSE (default),
> ##D # because the sample history is not part of the sequence
> ##D 
> ##D path <- system.file("extdata", "example_SAR_cycle.SEQ", package="RLumModel")
> ##D 
> ##D sequence <- read_SEQ2R(file = path)
> ##D 
> ##D model.output <- model_LuminescenceSignals(
> ##D   sequence = sequence,
> ##D   model = "Bailey2001",
> ##D   plot = FALSE
> ##D )
> ##D 
> ##D 
> ##D ## call RLum package function "analyse_SAR.CWOSL" to analyse the simulated SAR cycle
> ##D 
> ##D results <- analyse_SAR.CWOSL(model.output,
> ##D                              signal.integral.min = 1,
> ##D                              signal.integral.max = 10,
> ##D                              background.integral.min = 301,
> ##D                              background.integral.max = 401,
> ##D                              dose.points = c(0,8,14,26,32,0,8),
> ##D                              fit.method = "EXP")
> ##D 
> ##D print(get_RLum(results))
> ##D 
> ##D 
> ##D ##============================================================================##
> ##D ## Example 5: compare different optical powers of stimulation light
> ##D ##============================================================================##
> ##D 
> ##D # call function "model_LuminescenceSignals", model = "Bailey2004"
> ##D # and simulate_sample_history = FALSE (default),
> ##D # because the sample history is not part of the sequence
> ##D # the optical_power of the LED is varied and then compared.
> ##D 
> ##D optical_power <- seq(from = 0,to = 100,by = 20)
> ##D 
> ##D model.output <- lapply(1:length(optical_power), function(x){
> ##D 
> ##D  sequence <- list(IRR = c(20, 50, 1),
> ##D                   PH = c(220, 10, 5),
> ##D                   OSL = c(125, 50, optical_power[x])
> ##D                   )
> ##D 
> ##D  data <- model_LuminescenceSignals(
> ##D            sequence = sequence,
> ##D            model = "Bailey2004",
> ##D            plot = FALSE
> ##D            )
> ##D 
> ##D  return(get_RLum(data, recordType = "OSL$", drop = FALSE))
> ##D })
> ##D 
> ##D ##combine output curves
> ##D model.output.merged <- merge_RLum(model.output)
> ##D 
> ##D ##plot
> ##D plot_RLum(
> ##D  object = model.output.merged,
> ##D  xlab = "Illumination time [s]",
> ##D  ylab = "OSL signal [a.u.]",
> ##D  main = "OSL signal dependency on optical power of stimulation light",
> ##D  legend.text = paste("Optical power density", 20*optical_power/100, "mW/cm^2"),
> ##D  combine = TRUE)
> ##D 
> ## End(Not run)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>