knitr::opts_chunk$set(fig.pos = 'H', fig.align = 'center')

This vignette describes the usage of the **R**-package 'RLumModel' for simulating Al_{2}O_{3} behaviour. In literature a lot of parameters for describing the thermoluminescence (TL) and/or optical stimulated luminescence (OSL) are given. We give same examples for simulating different phenomena of luminescence in Al_{2}O_{3}. Note that most of the model do not support TL **and** OSL simulations. So please be careful when creating sequences. The models presented in Sec. 2.1 and 2.2 support TL simulations, but no OSL because parameters for `E_th`

(Thermal assistance energy) and `Th`

(Photo-eviction constant or photoionisation cross section).

All examples need the **R** package RLumModel, so let's load it!

```
library(RLumModel)
```

@Akselrod_1998 presented parameters for modelling the effect of quenching TL signals. This model was built for Al_{2}O_{3}, but the rate equations are identical with describing electron movements in quartz. Below is a step-by-step introduction for involving these parameters in 'RLumModel' and re-calculating the simulationa from Figure 9 in @Akselrod_1998.

For a detailed introduction to own parameter sets in RLumModel, see vignette RLumModel - Using own parameter sets.

As a next step it is possible to set own starting-parameters, also called state parameters. In the case of @Akselrod_1998 they submitted initial concentrations of electrons and holes. This can be done via:

own_state_parameters <- c(0, 0, 1e11)

Here the first entry is the first electron trap, the second entry the second electron trap and the third entry the luminescence centre responsible for the TL signal.
The vector `own_state_parameters`

needs as much entries as energy levels used in the model.

The effect of quenching luminescence signals will be simulated. In RLumModel it is possible to submit the parameter `K`

as an indicator for recognising thermal quenching or not. If the parameter is set to `0`

thermal quenching will be neglected. Otherwise it wil be calculated.

W <- c(0, 1.05) TL_Akselrod_1998 <- lapply(W, function(W){ own_parameters <- list( N = c(1e18, 1e17, 1e18), E = c(1.25, 0, 0), s = c(1e13, 0, 0), A = c(1e-16, 1e-16, 2e-17), B = c(0, 0, 1e-16), K = ifelse(W == 0, 0, 1e12), W = W, model = "customized", R = 1e13) sequence <- list( IRR = c(20, 0.225, 0.01), TL = c(20, 300, 1)) model_output <- model_LuminescenceSignals( model = "customized", sequence = sequence, own_parameters = own_parameters, own_state_parameters = own_state_parameters, verbose = FALSE, plot = FALSE) return(get_RLum(model_output, recordType = "TL$", drop = FALSE)) }) merge_results <- merge_RLum.Analysis(TL_Akselrod_1998) plot_RLum.Analysis( merge_results, legend.text = c("Unquenched", "Quenched"), combine = T)

@Pagonis_2007b published three different parameter sets for Al_{2}O_{3} chips. Here we analyse 'Chip101' and show how to re-calculate the results presented in the publication.

own_parameters <- list( N = c(2e15, 2e15, 2.4e16, 1e17), E = c(1.3,0, 0, 0), s = c(1e13, 0, 0, 0), A = c(2e-8, 2e-9, 4e-9, 1e-8), B = c(0, 0, 5e-11, 4e-8), K = 1e11, W = 1.1, model = "customized", R = 1.7e15) own_state_parameters <- c(0, 0, 0, 9.4e15)

We now have to define the sequence for simulating the TL behaviour. For that purpose different doses are given before the TL measurement. To handle this a `lapply`

command was used. The result is the combined plot of all simulated TL measurements.

dose <- 10^seq(-1, 3.5, 0.5) Pagonis_2007 <- lapply(dose, function(dose){ sequence <- list( IRR = c(20, dose, 1), PAUSE = c(20, 60), TL = c(20, 250, 1)) model_output <- model_LuminescenceSignals( model = "customized", sequence = sequence, own_parameters = own_parameters, own_state_parameters = own_state_parameters, verbose = FALSE, plot = FALSE) return(Luminescence::get_RLum(model_output, recordType = "TL", drop = FALSE)) }) merge_results <- Luminescence::merge_RLum.Analysis(Pagonis_2007) Luminescence::plot_RLum.Analysis( merge_results, subset = list(recordType = "TL$"), xlim = c(100, 250), legend.text = paste0(round(dose, digits = 2), " Gy"), combine = T)

Figure 2 in the original publiction by @Pagonis_2007b will be plotted with the following commands. The following code commands are able to calculate the maximum of the TL signal of all curves.

TL_max <- vapply(1:length(Pagonis_2007), function(x){ TL <- get_RLum(get_RLum(Pagonis_2007[[x]], recordType = "TL$")) return(max(TL[,2])) }, FUN.VALUE = 1)

Now the calculation of the concentration:

m1_max <- vapply(1:length(Pagonis_2007), function(x){ m1 <- get_RLum(get_RLum(Pagonis_2007[[x]], recordType = "conc. level 4")) return(m1[1,2]) }, FUN.VALUE = 1)

When plotting L-centre concentration vs. dose or TL_{max} vs. dose the same results as presented in Fig. 2 in @Pagonis_2007b are reached.

plot(dose, TL_max, log = "xy", xlab = "Dose [Gy]", ylab = "TL max [a.u.]", ylim = c(1e11, 1e14), pch = 16) grid()

plot(x = dose, y = m1_max, log = "x", xlab = "Dose [Gy]", ylab = "Conc. m1 [a.u.]", ylim = c(1e14, 1.2e16), pch = 16) grid()

dose <- seq(1,400, 1) Fig_5 <- lapply(dose, function(dose){ sequence <- list( RF = c(20, dose, 1)) model_output <- model_LuminescenceSignals( model = "customized", sequence = sequence, own_parameters = own_parameters, own_state_parameters = own_state_parameters, verbose = FALSE, plot = FALSE) })

n1 <- vapply(1:length(Fig_5), function(x){ temp <- get_RLum(get_RLum(Fig_5[[x]], recordType = "conc. level 1")) return(temp[nrow(temp),2]) }, FUN.VALUE = 1) n2 <- vapply(1:length(Fig_5), function(x){ temp <- get_RLum(get_RLum(Fig_5[[x]], recordType = "conc. level 2")) return(temp[nrow(temp),2]) }, FUN.VALUE = 1) m1 <- vapply(1:length(Fig_5), function(x){ temp <- get_RLum(get_RLum(Fig_5[[x]], recordType = "conc. level 4")) return(temp[nrow(temp),2]) }, FUN.VALUE = 1) m2 <- vapply(1:length(Fig_5), function(x){ temp <- get_RLum(get_RLum(Fig_5[[x]], recordType = "conc. level 3")) return(temp[nrow(temp),2]) }, FUN.VALUE = 1)

plot(dose, m2, type = "l", ylim = c(0, 1.5e16), xlim = c(0, 500), xlab= "Dose [Gy]", ylab = "Concentration [a.u.]") lines(dose, n2, col = "red") lines(dose, m1, col = "green") lines(dose, n1, col = "blue") legend("topright", legend = c("n1", "n2", "m1", "m2"), col = c("blue", "red", "green", "black"), lwd = 1, bty = "n") grid()

This vignette showed the potential of the **R** package 'RLumModel' to simulate Al_{2}O_{3} behaviour. Two different models known from literature were re-compiled in the framework of RLumModel.

**Any scripts or data that you put into this service are public.**

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.