R/RcppExports.R

Defines functions PQ_X_YStrain Eg2PL_f1 PL2Eg_f1 PQ_X_EgStrain func4root PQ_Y_XStrain LatticeConst PQ_Eg_XY PQ_Eg_unstrained PQ_eps_xy_f1

Documented in Eg2PL_f1 func4root LatticeConst PL2Eg_f1 PQ_Eg_unstrained PQ_Eg_XY PQ_eps_xy_f1 PQ_X_EgStrain PQ_X_YStrain PQ_Y_XStrain

# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#' InGaAsP Strain in absolute units from X and Y
#'
#' Function use interpolation PQ_interp_a0
#'
#' @param x Ga molar fraction
#'
#' @param y As molar fraction
#'
#'@export
PQ_eps_xy_f1 <- function(x, y) {
    .Call('ingaasp2rcpp_PQ_eps_xy_f1', PACKAGE = 'ingaasp2rcpp', x, y)
}

#' Unstrained bandgap Eg in eV from polynomial eq.3
#'
#' Strain effects are not included, Eg in eV from polynomial eq.3
#'
#' @param x Ga molar fraction
#' @param y As molar fraction
#'
#'@export
PQ_Eg_unstrained <- function(x, y) {
    .Call('ingaasp2rcpp_PQ_Eg_unstrained', PACKAGE = 'ingaasp2rcpp', x, y)
}

#' Calculate Eg from X and Y
#'
#' Function checks whether light holes or heavy holes gives smaller bandgap
#'
#' @param x Ga molar fraction
#' @param y As molar fraction
#'
#' @export
PQ_Eg_XY <- function(x, y) {
    .Call('ingaasp2rcpp_PQ_Eg_XY', PACKAGE = 'ingaasp2rcpp', x, y)
}

#'lattice constant from eps_xy and for InP substrate
#'
#' details tbd
#'
#' @param eps_xy Strain in plane of material in absolute units
#'
#' @return Lattice constant in nm units
#' @export
LatticeConst <- function(eps_xy) {
    .Call('ingaasp2rcpp_LatticeConst', PACKAGE = 'ingaasp2rcpp', eps_xy)
}

#' Calculation of Y from arguments X and Strain using transformed eq. 1
#'
#' We have given eps_xy which we could use to obtain PQ_lattice const.
#' Then plugging into eq. 1 we will be able to get Y when we have X given.
#'
#' @param eps_xy Strain in plane of material in absolute units
#'
#' @param x Ga molar fraction
#' @export
PQ_Y_XStrain <- function(x, eps_xy) {
    .Call('ingaasp2rcpp_PQ_Y_XStrain', PACKAGE = 'ingaasp2rcpp', x, eps_xy)
}

#' Function for which we want to find roots
#'
#' Function used with function PQ_X_EgStrain tp find root,
#' which would give us X Ga molar fraction
#'
#' @param x Ga molar fraction
#'
#' @export
func4root <- function(x) {
    .Call('ingaasp2rcpp_func4root', PACKAGE = 'ingaasp2rcpp', x)
}

#' Main function for Eg,Strain -> X,Y
#'
#' Function sets 2 global variables Eg2match and PQ_eps_xy, which are then used by func4root.
#' func4root is passed to bisect routine from Boost
#'
#' @param Eg bandgap in eV units
#'
#' @param eps_xy in-plain strain in absolute units
#'
#' @export
PQ_X_EgStrain <- function(Eg, eps_xy) {
    .Call('ingaasp2rcpp_PQ_X_EgStrain', PACKAGE = 'ingaasp2rcpp', Eg, eps_xy)
}

#' Convertsion of PL wavelength to bandgap in eV
#'
#' details tbd
#' @param PL photoluminescence wavelength in nm. See examples.
#' @return Bandgap Eg as double in eV units
#' @export
#' @examples
#' PL2Eg_f1(1200) # 1.033202 eV
PL2Eg_f1 <- function(PL) {
    .Call('ingaasp2rcpp_PL2Eg_f1', PACKAGE = 'ingaasp2rcpp', PL)
}

#' Conversion of Bandgap into photoluminescence (PL) wavelength in nm
#'
#' Eg into PL in nm
#'
#' @param Eg bandgap in eV units
#' @return PL in nm as double
#'
#' @export
Eg2PL_f1 <- function(Eg) {
    .Call('ingaasp2rcpp_Eg2PL_f1', PACKAGE = 'ingaasp2rcpp', Eg)
}

#' Finding X molar fraction from Y molar fraction and Strain
#'
#' Solving interpolation function from eq.1
#' a0 lattice constant of compound calculated from strain, and given y molar fraction
#' allows to find X molar fraction of compound.
#' Usually used to find eg. lattice matched InGaAs composition Y=1, and strain=0
#'
#' @param  y As molar fraction
#' @param strain Strain in absolute units
#' @return double, x (Ga) molar fraction
#' @export
PQ_X_YStrain <- function(y, strain) {
    .Call('ingaasp2rcpp_PQ_X_YStrain', PACKAGE = 'ingaasp2rcpp', y, strain)
}
krzyklo/ingaasp2rcpp documentation built on Nov. 6, 2021, 7:49 a.m.