Home Examples Screenshots User manual Bluesky logo YouTube ☰
OghmaNano Multiphysics simulation platform for optoelectronic devices and photonic systems DOWNLOAD Quick Start guide

GaInNAs material model

1. Introduction

This page contains the OghmaNano material model for GaInNAs (GaInNAs).

Ga0.61In0.39N0.012As dilute-nitride QW (calibrated, Lim/MacKenzie 2007)

The model is written in Lua and provides simulation-ready material parameterisations for use within OghmaNano. For documentation, licensing, references, and information about the scope and accuracy of these models, see the material scripting documentation.

2. Lua material model

Supporting definitions

local material = {}

-- ---------------------------------------------------------------------------
-- NOTES ON GaInNAs (read before using):
--
-- Ga(1-y)In(y)N(z)As dilute nitride, grown on GaAs for ~1.3 um emission. This
-- file is anchored to the CALIBRATED quantum-well parameters of:
--
--   J. J. Lim, R. MacKenzie, S. Sujecki, M. Sadeghi, S. M. Wang, Y. Q. Wei,
--   J. S. Gustavsson, A. Larsson, P. Melanen, P. Sipila, P. Uusimaa,
--   A. A. George, P. M. Smowton, E. C. Larkins, "Simulation of double quantum
--   well GaInNAs laser diodes", IET Optoelectron. 1(6), 259-265 (2007).
--   doi:10.1049/iet-opt:20070036   [Ref [1] below]
--
-- for the specific QW composition Ga0.61In0.39N0.012As (In 0.39, N 0.012).
-- The recombination parameters (SRH lifetime, Auger coefficient), mobilities
-- and band gap below are the values that paper extracted by fitting a 2D laser
-- simulator to segmented-contact gain data and threshold measurements over
-- 300-350 K. Where the paper did not calibrate a quantity (thermal/structural),
-- values are estimated from the GaInAs host and flagged.
--
-- DEFINING PHYSICS - band anticrossing (BAC): adding a few % N to GaInAs
-- splits the conduction band via interaction with a localised N level,
-- collapsing the gap far below Vegard's rule and raising the electron mass.
-- The paper models this with (Ref [3]):
--   E_pm = 0.5*[(E_N + E_C) +- sqrt((E_N - E_C)^2 + 4*V_MN^2)]
-- with the N level E_N = 1.65 eV above the GaAs valence-band maximum and
-- coupling V_MN = 2.15*sqrt(z) eV (z = N fraction). The lower branch E_minus is
-- the new conduction-band edge. To retune composition, recompute Eg from BAC;
-- the Eg() below uses the paper's calibrated bulk value for the default
-- composition plus a Varshni-type temperature shift.
--
-- REFERENCES
-- [1]  Lim, MacKenzie et al., IET Optoelectron. 1(6), 259 (2007). [calibrated
--      QW parameters: Eg, mu_n, mu_p, tau_SRH, C_Auger, offsets, n=3.60]
-- [2]  I. Vurgaftman, J. R. Meyer, L. R. Ram-Mohan, J. Appl. Phys. 89, 5815
--      (2001). [host band parameters and Eg(T)]
-- [3]  J. Wu, W. Shan, W. Walukiewicz, "Band anticrossing in highly mismatched
--      III-V semiconductor alloys", Semicond. Sci. Technol. 17, 860 (2002).
--      [BAC model]
-- [4]  V. Palankovski, R. Quay, "Analysis and Simulation of Heterostructure
--      Devices", Springer (2004). [mobility model used in [1]]
-- [5]  S. Adachi / O. Madelung data compilations. [host structural/thermal]
-- ---------------------------------------------------------------------------

Material name (material.name)

function material.name()
	local enabled = true

	return "GaInNAs", enabled
end

Material description (material.description)

function material.description()
	local enabled = true

	return "Ga0.61In0.39N0.012As dilute-nitride QW (calibrated, Lim/MacKenzie 2007)", enabled
end

Chemical formula (material.formula)

function material.formula()
	local enabled = true

	return "GaInNAs", enabled
end

Band gap energy (material.Eg)

function material.Eg(state)
	-- Units: eV
	-- Refs: [1] (value), [2] (T dependence), [3] (BAC physics)
	--
	-- Calibrated bulk gap for Ga0.61In0.39N0.012As: 1.00797 eV at 300 K
	-- (Table 2 of [1]). Temperature handled by a Varshni-type shift about
	-- 300 K (alpha = 5.4e-4 eV/K, beta = 200 K), consistent with the
	-- Vurgaftman-based Eg(T) used in [1] over the validated 300-350 K range.
	--
	-- For OTHER In/N compositions this value must be recomputed via band
	-- anticrossing (see header): the gap is NOT a smooth Vegard interpolation
	-- because the N level pulls the conduction-band edge down. As a guide,
	-- ~1% N lowers the GaInAs gap by ~0.15-0.2 eV.

	local enabled = true
	local T = state.T
	local eg_300 = 0.9025		--changed from 1.00797 to get match to the paper but without strain
	local tshift = 5.4e-4*(90000.0/500.0 - T*T/(T + 200.0))
	local value = eg_300 + tshift

	return value, enabled
end

Deformation potential Xi (material.Xi)

function material.Xi(state)
	-- Electron affinity
	-- Units: eV
	-- Refs: [1]
	--
	-- ~4.47 eV, from the paper's conduction-band offset of 400 meV to the
	-- GaAs barrier (chi_GaAs 4.07 + 0.40). The LARGE conduction-band offset
	-- is the defining device advantage of GaInNAs/GaAs: strong electron
	-- confinement and hence the high characteristic temperature. (The exact
	-- split is strain-dependent; [1] uses a 70% offset ratio.)

	local enabled = true
	local value = 4.47

	return value, enabled
end

Electron effective mass (material.me)

function material.me(state)
    local enabled = true
    -- WARNING: dilute-nitride band anti-crossing makes me non-parabolic and
    -- energy-dependent. Scalar below is a rough effective value (~1-2% N),
    -- NOT physical for a parabolic solver. Ref: Shan PRL 82,1221 (1999); BAC model.
    local value = 0.08
    return value, enabled
end

Hole effective mass (material.mh)

function material.mh(state)
    local enabled = true
    -- VB largely InGaAs-like (N affects CB); HH[001] ~ host InGaAs value.
    local value = 0.34
    return value, enabled
end

Effective conduction-band density of states (material.Nc)

function material.Nc(state)
	-- Effective conduction-band density of states
	-- Units: m^-3
	-- Refs: [1],[3]
	--
	-- ~1.0e24 m^-3 at 300 K, using an electron mass ~0.12 m0. NOTE: band
	-- anticrossing RAISES the electron effective mass well above the ~0.06 m0
	-- of N-free GaInAs (reduced curvature of the lower BAC branch) [1],[3],
	-- so Nc is larger than the host value.

	local enabled = true
	local T = state.T
	local value = 1.0e24*(T/300.0)^1.5

	return value, enabled
end

Effective valence-band density of states (material.Nv)

function material.Nv(state)
	-- Effective valence-band density of states
	-- Units: m^-3
	-- Refs: [5]
	--
	-- ~9e24 m^-3 at 300 K (valence band little affected by N; GaInAs-like
	-- heavy-hole mass ~0.5 m0).

	local enabled = true
	local T = state.T
	local value = 9.0e24*(T/300.0)^1.5

	return value, enabled
end

Electron mobility (material.mu_e)

function material.mu_e(state)
	-- Low-field electron mobility
	-- Units: m^2 V^-1 s^-1
	-- Refs: [1],[4]
	--
	-- 500 cm^2/V/s = 0.05 m^2/V/s (the value used in [1] for the QW,
	-- consistent with experiment). Deliberately LOW: N incorporation
	-- strongly scatters electrons in dilute nitrides. [1] notes the QW
	-- electron mobility only weakly affects the simulated threshold. Held
	-- roughly constant (N/alloy-scattering limited, weak T dependence).

	local enabled = true
	local value = 0.05

	return value, enabled
end

Electron mobility in the x direction (material.mue_x)

function material.mue_x(state)
	return material.mu_e(state)
end

Electron mobility in the y direction (material.mue_y)

function material.mue_y(state)
	return material.mu_e(state)
end

Electron mobility in the z direction (material.mue_z)

function material.mue_z(state)
	return material.mu_e(state)
end

Hole mobility (material.mu_h)

function material.mu_h(state)
	-- Low-field hole mobility
	-- Units: m^2 V^-1 s^-1
	-- Refs: [1],[4]
	--
	-- 483 cm^2/V/s = 0.0483 m^2/V/s (Table 2 of [1]). Held roughly constant
	-- (N/alloy-scattering limited).

	local enabled = true
	local value = 0.0483

	return value, enabled
end

Hole mobility in the x direction (material.muh_x)

function material.muh_x(state)
	return material.mu_h(state)
end

Hole mobility in the y direction (material.muh_y)

function material.muh_y(state)
	return material.mu_h(state)
end

Hole mobility in the z direction (material.muh_z)

function material.muh_z(state)
	return material.mu_h(state)
end

Relative dielectric permittivity (material.epsilonr)

function material.epsilonr(state)
	-- Relative static permittivity
	-- Dimensionless
	-- Refs: [5]
	--
	-- ~13.8 (GaInAs host value; N has little effect). For reference, [1]
	-- uses an optical refractive index n = 3.60 for the QW (n^2 ~ 13.0), a
	-- separate optical quantity from this static permittivity.

	local enabled = true
	local value = 13.8

	return value, enabled
end

Free-carrier radiative recombination (material.free_to_free_recombination)

function material.free_to_free_recombination(state)
	-- Radiative recombination coefficient
	-- Units: m^3 s^-1
	-- Refs: representative (see note); [1]
	--
	-- Representative bimolecular value ~1e-10 cm^3/s = 1e-16 m^3/s.
	-- CAVEAT: [1] did NOT use a simple B*n*p rate - it computed spontaneous
	-- emission microscopically and found it scales as ~n^1.8 (not n^2). This
	-- single B is therefore only an approximation to the paper's radiative
	-- model; for close agreement with [1], use its tabulated spontaneous
	-- emission instead.

	local enabled = true
	local value = 1.0e-16

	return value, enabled
end

Electron Auger recombination coefficient (material.auger_Cn)

function material.auger_Cn(state)
	-- Electron Auger recombination coefficient
	-- Units: m^6 s^-1
	-- Refs: [1]
	--
	-- 1e-28 cm^6/s = 1e-40 m^6/s - the CHSH Auger coefficient extracted in
	-- [1] (assumed dominant for long-wavelength material), at the centre of
	-- the reported GaInNAs range (3e-29 to 3e-28 cm^6/s). Applied to Cn.

	local enabled = true
	local value = 1.0e-40

	return value, enabled
end

Hole Auger recombination coefficient (material.auger_Cp)

function material.auger_Cp(state)
	-- Hole Auger recombination coefficient
	-- Units: m^6 s^-1
	-- Refs: [1]
	--
	-- As auger_Cn: CHSH Auger coefficient 1e-28 cm^6/s = 1e-40 m^6/s [1].

	local enabled = true
	local value = 1.0e-40

	return value, enabled
end

Interface trap energy (material.ss_srh_trap_energy)

function material.ss_srh_trap_energy(state)
	-- SRH trap energy relative to the middle of the band gap.
	-- Units: eV
	-- Refs: [1]
	--
	-- Positive values are above mid-gap (towards the conduction band).
	-- Negative values are below mid-gap (towards the valence band).
	--
	-- Mid-gap (worst case). SRH is the KEY parameter here: [1] found SRH
	-- recombination dominates the threshold current and, being the least
	-- temperature-sensitive channel, is responsible for the high
	-- characteristic temperature of these lasers. The calibrated lifetime
	-- is set via ss_srh_Nt below.

	local enabled = true
	local value = 0.0

	return value, enabled
end

Interface trap density (material.ss_srh_Nt)

function material.ss_srh_Nt(state)
	-- SRH trap density
	-- Units: m^-3
	-- Refs: [1]
	--
	-- Chosen with the cross sections below to give the CALIBRATED SRH
	-- lifetime tau_n = tau_p = 0.5 ns from [1] (in good agreement with
	-- time-resolved PL on similar GaInNAs). Since tau = 1/(sigma*v_th*Nt)
	-- and v_th depends on the effective mass / convention, VERIFY that your
	-- OghmaNano run reports ~0.5 ns and adjust Nt if needed. (Value here
	-- assumes v_th ~ 3e5 m/s.) In the etched RW region [1] used a reduced
	-- 0.45 ns near the sidewall.

	local enabled = true
	local value = 5.9e22

	return value, enabled
end

Interface electron capture cross-section (material.ss_srh_sigma_n)

function material.ss_srh_sigma_n(state)
	-- Electron capture cross section
	-- Units: m^2
	-- Refs: [1]
	--
	-- 1e-19 m^2 (1e-15 cm^2), standard; paired with ss_srh_Nt to give the
	-- 0.5 ns calibrated lifetime.

	local enabled = true
	local value = 1.0e-19

	return value, enabled
end

Interface hole capture cross-section (material.ss_srh_sigma_p)

function material.ss_srh_sigma_p(state)
	-- Hole capture cross section
	-- Units: m^2
	-- Refs: [1]
	--
	-- 1e-19 m^2 (1e-15 cm^2); tau_n = tau_p = 0.5 ns in [1].

	local enabled = true
	local value = 1.0e-19

	return value, enabled
end

Thermal conductivity (material.thermal_conductivity)

function material.thermal_conductivity(state)
	-- Thermal conductivity
	-- Units: W m^-1 K^-1
	-- Refs: [5] (estimate; NOT calibrated in [1])
	--
	-- ~5 W/m/K - LOW, from combined In (alloy) and N (dilute-impurity)
	-- phonon scattering, far below GaAs (~45 W/m/K). NOTE: [1] deliberately
	-- ignored the lattice heat equation (no self-heating), so this quantity
	-- is NOT from the paper's calibration - it is an estimate for the host
	-- alloy. (300/T)^0.4 approximate weak (alloy-regime) dependence.

	local enabled = true
	local T = state.T
	local value = 5.0*(300.0/T)^0.4

	return value, enabled
end

Specific heat capacity (material.heat_capacity)

function material.heat_capacity(state)
	-- Specific heat capacity
	-- Units: J kg^-1 K^-1
	-- Refs: [5]
	--
	-- ~330 J/kg/K near 300 K (GaInAs host estimate).

	local enabled = true
	local value = 330.0

	return value, enabled
end

Mass density (material.density)

function material.density(state)
	-- Mass density
	-- Units: kg m^-3
	-- Refs: [5]
	--
	-- ~5460 kg/m^3 (Ga0.61In0.39As host: GaAs 5320, InAs 5680, interpolated;
	-- dilute N negligible for mass).

	local enabled = true
	local value = 5460.0

	return value, enabled
end

Crystal lattice constant (material.lattice_constant)

function material.lattice_constant(state)
	-- Cubic lattice constant
	-- Units: m
	-- Refs: [1],[4]
	--
	-- Vegard: a(x) = 5.6533 + 0.405*x (angstrom), GaAs 5.6533 A ->
	-- InAs 6.0583 A. x = 0.53 -> 5.868 A, matching InP (5.8697 A) - this is
	-- the lattice-matching condition that makes Ga0.47In0.53As so useful.
	-- Linear thermal expansion ~5.7e-6 /K.

	local enabled = true
	local in_fraction = 0.53
	local x = in_fraction
	local T = state.T
	local a300 = (5.6533 + 0.405*x)*1.0e-10
	local expansion = 5.7e-6
	local value = a300*(1.0 + expansion*(T - 300.0))

	return value, enabled
end

Spin–orbit splitting energy (material.delta_so)

function material.delta_so(state)
	-- Spin-orbit splitting energy (Delta_SO)
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*0.341 + ((1.0-x))*0.39

	return value, enabled
end

Kane interband coupling energy (material.Ep)

function material.Ep(state)
	-- Kane energy E_P (optical matrix element parameter)
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*28.8 + ((1.0-x))*21.5

	return value, enabled
end

Luttinger parameter gamma1 (material.gamma1)

function material.gamma1(state)
	-- Luttinger parameter gamma1
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*6.98 + ((1.0-x))*20

	return value, enabled
end

Luttinger parameter gamma2 (material.gamma2)

function material.gamma2(state)
	-- Luttinger parameter gamma2
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*2.06 + ((1.0-x))*8.5

	return value, enabled
end

Luttinger parameter gamma3 (material.gamma3)

function material.gamma3(state)
	-- Luttinger parameter gamma3
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*2.93 + ((1.0-x))*9.2

	return value, enabled
end

Optical absorption coefficient (material.ac)

function material.ac(state)
	-- Conduction-band hydrostatic deformation potential a_c
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- VMR sign convention: interband hydrostatic deformation potential
	-- a_gap = a_c - a_v, with a_c negative and a_v tabulated positive.
	-- Sign preserved from source; no sign flip applied.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*-7.17 + ((1.0-x))*-5.08

	return value, enabled
end

Optical absorption / extinction parameter (material.av)

function material.av(state)
	-- Valence-band hydrostatic deformation potential a_v
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- VMR sign convention: a_v tabulated as a POSITIVE number; the
	-- interband hydrostatic deformation potential is a_gap = a_c - a_v.
	-- Sign preserved from source; no sign flip applied.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*1.16 + ((1.0-x))*1

	return value, enabled
end

Recombination parameter b (material.b)

function material.b(state)
	-- Valence-band shear (tetragonal) deformation potential b
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Sign convention as in VMR (b negative). Sign preserved; not flipped.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*-2 + ((1.0-x))*-1.8

	return value, enabled
end

Material parameter d (material.d)

function material.d(state)
	-- Valence-band shear (rhombohedral) deformation potential d
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Sign convention as in VMR (d negative). Sign preserved; not flipped.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*-4.8 + ((1.0-x))*-3.6

	return value, enabled
end

Lattice constant a (material.lattice_a)

function material.lattice_a(state)
	-- Cubic (zincblende) lattice constant a
	-- Units: m
	--
	-- Reference:
	-- Vegard's law (linear) interpolation of GaAs, InAs endpoints,
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Endpoint a(T)=a300+da/dT*(T-300); linear (Vegard) mixing.

	local enabled = true
	local x = state.x
	local T = state.T
	local value = ((x)*(5.65325 + 3.88e-05*(T-300.0)) + ((1.0-x))*(6.0583 + 2.74e-05*(T-300.0)))*1e-10

	return value, enabled
end

Elastic stiffness constant C11 (material.C11)

function material.C11(state)
	-- Elastic stiffness constant C11
	-- Units: Pa
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = ((x)*122.1 + ((1.0-x))*83.29)*1e9

	return value, enabled
end

Elastic stiffness constant C12 (material.C12)

function material.C12(state)
	-- Elastic stiffness constant C12
	-- Units: Pa
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = ((x)*56.6 + ((1.0-x))*45.26)*1e9

	return value, enabled
end

Material parameter xN (material.xN)

function material.xN(state)
	-- Dilute-nitride nitrogen mole fraction used by the 10-band
	-- zincblende band-anticrossing (BAC) model.
	-- Dimensionless.
	--
	-- xN controls the coupling between the host conduction-band state
	-- and the localized nitrogen resonant state through:
	--
	--     VN = betaN*sqrt(xN)
	--
	-- Set xN = 0 for materials/regions containing no dilute nitrogen.

	local enabled = true
	local value = 0.012

	return value, enabled
end

Electron affinity / energy parameter EN (material.EN)

function material.EN(state)
	-- Dilute-nitride nitrogen resonant level energy used by the
	-- 10-band zincblende band-anticrossing (BAC) model.
	-- Units: eV.
	--
	-- This parameter is only relevant when xN > 0.
	-- It represents the energy of the localized N-related state
	-- which hybridizes with the host conduction band.

	local enabled = true
	local value = 1.65

	return value, enabled
end

Material parameter betaN (material.betaN)

function material.betaN(state)
	-- Dilute-nitride band-anticrossing coupling parameter used by
	-- the 10-band zincblende BAC model.
	-- Units: eV.
	--
	-- The coupling to the localized nitrogen state is:
	--
	--     VN = betaN*sqrt(xN)
	--
	-- This parameter is only relevant when xN > 0.

	local enabled = true
	local value = 2.15

	return value, enabled
end

Elastic stiffness constant C44 (material.C44)

function material.C44(state)
    -- Elastic stiffness constant C44
    -- Units: Pa
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Dilute-nitride quaternary GaInNAs: composition mapping onto
    -- state.x/state.y is not established by the filename, and the zincblende
    -- GaN/InN endpoint parameters needed for interpolation were not verified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Longitudinal optical phonon energy (material.phonon_lo_energy)

function material.phonon_lo_energy(state)
    -- Representative LO phonon energy for polar optical (Frohlich) scattering
    -- Units: eV
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Dilute-nitride quaternary GaInNAs: composition mapping onto
    -- state.x/state.y is not established by the filename, and the zincblende
    -- GaN/InN endpoint parameters needed for interpolation were not verified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Static dielectric constant (material.epsilon_static)

function material.epsilon_static(state)
    -- Static relative dielectric constant (lattice + electronic)
    -- Dimensionless
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Dilute-nitride quaternary GaInNAs: composition mapping onto
    -- state.x/state.y is not established by the filename, and the zincblende
    -- GaN/InN endpoint parameters needed for interpolation were not verified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

High-frequency dielectric constant (material.epsilon_inf)

function material.epsilon_inf(state)
    -- High-frequency (electronic) relative dielectric constant
    -- Dimensionless
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Dilute-nitride quaternary GaInNAs: composition mapping onto
    -- state.x/state.y is not established by the filename, and the zincblende
    -- GaN/InN endpoint parameters needed for interpolation were not verified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Piezoelectric coefficient e14 (material.e14)

function material.e14(state)
    -- Zincblende piezoelectric stress coefficient e14
    -- Units: C m^-2
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Dilute-nitride quaternary GaInNAs: composition mapping onto
    -- state.x/state.y is not established by the filename, and the zincblende
    -- GaN/InN endpoint parameters needed for interpolation were not verified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Material parameter summary (material.print)

function material.print()
	local state = {
		T = 300.0,
		x = 0.0,
		y = 0.0,
		z = 0.0,
		photon_density = 0.0,
	}

	print(string.format("Material:               %s", material.name()))
	print(string.format("Description:            %s", material.description()))
	print(string.format("Formula:                %s", material.formula()))
	print(string.format("Temperature:            %.2f K", state.T))
	print(string.format("Position:               %.6e, %.6e, %.6e m", state.x, state.y, state.z))
	print(string.format("Photon density:         %.6e m^-3", state.photon_density))

	print(string.format("Band gap:               %.6f eV", material.Eg(state)))
	print(string.format("Electron affinity:      %.6f eV", material.Xi(state)))
	print(string.format("Electron mobility:      %.6e m^2/V/s", material.mu_e(state)))
	print(string.format("Hole mobility:          %.6e m^2/V/s", material.mu_h(state)))
	print(string.format("Nc:                     %.6e m^-3", material.Nc(state)))
	print(string.format("Nv:                     %.6e m^-3", material.Nv(state)))
	print(string.format("Relative permittivity:  %.6f", material.epsilonr(state)))

	print(string.format("Radiative coeff.:       %.6e m^3/s", material.free_to_free_recombination(state)))
	print(string.format("Electron Auger coeff.:  %.6e m^6/s", material.auger_Cn(state)))
	print(string.format("Hole Auger coeff.:      %.6e m^6/s", material.auger_Cp(state)))

	print(string.format("SRH trap energy:        %.6f eV", material.ss_srh_trap_energy(state)))
	print(string.format("SRH trap density:       %.6e m^-3", material.ss_srh_Nt(state)))
	print(string.format("SRH sigma n:            %.6e m^2", material.ss_srh_sigma_n(state)))
	print(string.format("SRH sigma p:            %.6e m^2", material.ss_srh_sigma_p(state)))

	print(string.format("Thermal conductivity:   %.6e W/m/K", material.thermal_conductivity(state)))
	print(string.format("Heat capacity:          %.6e J/kg/K", material.heat_capacity(state)))
	print(string.format("Mass density:           %.6e kg/m^3", material.density(state)))
end

return material