Description Usage Arguments Details Value References Examples
View source: R/dispersion_scan.R
Calculate reflectivity, transmission and absorption as a function of both angle and wavelength
1 2 3 4 5 6 7 8 9 |
layers |
A list object containing the stack parameters. Must include index, thickness and (optionally) repetitions. See details and examples for more information. |
angles |
The angle range in degrees. The default angle range is from 0 to 90. |
wavelengths |
The wavelength range of the calculated spectra, in meters. The default covers the visible range from 350 nm to 850 nm. |
polarisation |
Linear polarisation of the light. Acceptable arguments are 'p' (Transverse Magnetic) or 's' (Transverse Electric). |
incident_medium.index |
The global incident medium. Default is n=1+0i (air) |
exit_medium.index |
The global exit medium. Default is n=1+0i (air) |
show.progress |
Determine if a progress bar is to be printed to console |
The layers list should be constructed like so:
layers <- list(index = ..., thickness = ..., repetitions = ...)
where index and thickness are vectors containing the stack parameters in order from the top interface to the bottom. Repetitions is an integer repeating the stack.
Returns a data.frame
object with the following parts:
wavlength |
The wavelength range in meters |
angle |
The angle range in radians |
Reflection |
The calculated reflectivity |
Transmission |
The calculated transmission |
Absorption |
The calculated absorption |
Introduction to Optics 3rd Edition, Pearson international edition by Frank L. Pedrotti, Leno Matthew Pedrotti, Leno S. Pedrotti
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | layers <- list(index = c(2.35+0i,1.38+0i),
thickness = c(550e-9/(4*2.35),550e-9/(4*1.38)),
repetitions = 6)
R_highlowStack6 <- dispersion_scan(angles = seq(0,89,,100),
incident_medium.index=1+0i,
exit_medium.index = 1.52+0i,
layers = layers,
show.progress = FALSE)
x <- unique(R_highlowStack6$angle)
y <- unique(R_highlowStack6$wavelength)
image(x = x,
y = y*1e9,
z = matrix(R_highlowStack6$Reflection,nrow=100),
xlab = expression(angle~(degree)),
ylab = "wavelength (nm)")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.