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

AlGaInP material model

1. Introduction

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

(AlxGa1-x)0.5In0.5P on GaAs, x = Al ~ 0.30 (direct below x~0.53)

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

-- See end of file for copyright, licensing and documentation links.

local material = {}

-- ---------------------------------------------------------------------------
-- NOTES ON AlGaInP (read before using):
--
-- (Al_x Ga_{1-x})_{0.5} In_{0.5} P, LATTICE-MATCHED to GaAs (a = 5.653 A). This
-- is the quaternary of red/orange/yellow LEDs, laser diodes and high-gap solar
-- junctions. The In fraction is fixed at 0.5 for the GaAs match, so the single
-- design knob is the Al fraction x on the group-III sublattice.
--
-- DIRECT-to-INDIRECT crossover at x ~ 0.53:
--   * x < 0.53: fundamental gap direct (Gamma), 1.91 eV (x=0, GaInP) up to
--     ~2.26 eV at the crossover (~550 nm) - the green-yellow limit of the
--     system, which is why pure green is out of reach here.
--   * x > 0.53: indirect (X), rising to ~2.33 eV (Al0.5In0.5P), used as a
--     high-gap confinement/barrier layer.
-- Eg() computes both Gamma and X branches and returns the lower one.
--
-- ORDERING CAVEAT: like some other alloys, AlGaInP exhibits CuPt-B ordering on
-- the group-III sublattice, which lowers Eg by up to ~30-90 meV relative to the
-- fully disordered value used here. Growth conditions set the ordering degree.
--
-- The lattice constant is FIXED by the GaAs match (independent of x). Eg is
-- computed from x; the remaining parameters are given at a representative
-- x = 0.30 (Eg ~ 2.1 eV, amber) with GaInP/AlInP end points noted.
--
-- REFERENCES
--
-- [1]  I. Vurgaftman, J. R. Meyer, L. R. Ram-Mohan, J. Appl. Phys. 89, 5815
--      (2001). [constituent band parameters, bowing]
-- [2]  D. A. Vanderwater, I.-H. Tan, G. E. Hofler, D. C. DeFevere, F. A. Kish,
--      "High-brightness AlGaInP light emitting diodes", Proc. IEEE 85, 1752
--      (1997). [Eg(x), direct/indirect crossover]
-- [3]  S. Adachi, "Properties of Semiconductor Alloys", Wiley (2009).
--      [transport / dielectric / thermal]
-- [4]  O. Madelung, "Semiconductors: Data Handbook", Springer (2004).
-- ---------------------------------------------------------------------------

Material name (material.name)

function material.name()
	local enabled = true

	return "AlGaInP", enabled
end

Material description (material.description)

function material.description()
	local enabled = true

	return "(AlxGa1-x)0.5In0.5P on GaAs, x = Al ~ 0.30 (direct below x~0.53)", enabled
end

Chemical formula (material.formula)

function material.formula()
	local enabled = true

	return "AlGaInP", enabled
end

Band gap energy (material.Eg)

function material.Eg(state)
	-- Units: eV
	-- Refs: [1],[2]
	--
	-- Fundamental gap = min(Gamma, X), disordered alloy, in Al fraction x.
	-- 300 K composition relations (lattice-matched to GaAs) [2]:
	--   Eg_Gamma(x) = 1.91  + 0.66*x
	--   Eg_X(x)     = 2.181 + 0.149*x
	-- which cross at x = 0.53 (Eg ~ 2.26 eV). Temperature handled by a
	-- Varshni-type shift about 300 K (alpha = 5.5e-4 eV/K, beta = 220 K).
	-- x = 0.30 -> ~2.11 eV (direct) at 300 K.
	-- See the ORDERING CAVEAT in the header. Change al_fraction here and in
	-- the functions noted in the header.

	local enabled = true
	local al_fraction = 0.30
	local x = al_fraction
	local T = state.T
	local eg_gamma_300 = 1.91 + 0.66*x
	local eg_x_300 = 2.181 + 0.149*x
	local eg_300 = math.min(eg_gamma_300, eg_x_300)
	local tshift = 5.5e-4*(90000.0/520.0 - T*T/(T + 220.0))
	local value = eg_300 + tshift

	return value, enabled
end

Deformation potential Xi (material.Xi)

function material.Xi(state)
	-- Electron affinity
	-- Units: eV
	-- Refs: [2],[3]
	--
	-- ~4.05 eV at x = 0.30. Falls with Al (most of the gap increase is in
	-- the conduction band); GaInP ~4.16 eV. Key band-offset parameter for
	-- the GaInP/AlGaInP heterostructures used in LEDs and lasers.

	local enabled = true
	local value = 4.05

	return value, enabled
end

Electron effective mass (material.me)

function material.me(state)
    local enabled = true
    local x = state.x     -- Al/(Al+Ga) in (AlxGa1-x)0.5In0.5P (GaAs-LM)
    -- Gamma mass, Ga0.5In0.5P 0.092 -> Al0.5In0.5P 0.14
    -- WARNING: becomes X-indirect for x > ~0.5-0.7; Gamma mass only valid below.
    local value = 0.092 + 0.048*x
    return value, enabled
end

Hole effective mass (material.mh)

function material.mh(state)
    local enabled = true
    local x = state.x
    -- HH[001]: GaInP ~0.43 -> AlInP ~0.53 (interpolated endpoints)
    local value = 0.43 + 0.10*x
    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: [3],[4]
	--
	-- ~7e23 m^-3 at 300 K for x = 0.30 (Gamma-like, m_e* ~ 0.11 m0).
	-- ABOVE the x~0.53 crossover the band is X-like and Nc rises sharply
	-- (multi-valley, heavy mass) - revise for x > 0.53.

	local enabled = true
	local T = state.T
	local value = 7.0e23*(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: [3],[4]
	--
	-- ~1.4e25 m^-3 at 300 K for x = 0.30.

	local enabled = true
	local T = state.T
	local value = 1.4e25*(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: [3]
	--
	-- ~0.05 m^2/V/s (500 cm^2/V/s) at x = 0.30 - quaternary-alloy-scattering
	-- reduced (GaInP is already only ~2000-5000 cm^2/V/s). Drops further
	-- above the crossover as heavy X valleys take over. (300/T)^1.5 approx.

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

	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: [3]
	--
	-- ~0.01 m^2/V/s (100 cm^2/V/s) at x = 0.30. (300/T)^1.5 approximate.

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

	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: [3],[4]
	--
	-- ~11.6 at x = 0.30 (GaInP ~11.8 -> AlInP ~11.0).

	local enabled = true
	local value = 11.6

	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)
	--
	-- ~1e-10 cm^3/s = 1e-16 m^3/s while DIRECT (x < 0.53). Above the
	-- crossover the gap is indirect and effective radiative recombination
	-- falls by orders of magnitude - reduce sharply for x > 0.53. This is
	-- the physical reason AlGaInP LED efficiency drops toward the green.

	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: representative (see note)
	--
	-- ~1e-30 cm^6/s = 1e-42 m^6/s. Auger and carrier leakage over the
	-- modest conduction-band offset both worsen at elevated temperature -
	-- a known limiter of AlGaInP LED/laser performance.

	local enabled = true
	local value = 1.0e-42

	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: representative (see note)
	--
	-- As auger_Cn: representative 1e-30 cm^6/s = 1e-42 m^6/s.

	local enabled = true
	local value = 1.0e-42

	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
	--
	-- Positive values are above mid-gap (towards the conduction band).
	-- Negative values are below mid-gap (towards the valence band).
	--
	-- Defect-dependent. Oxygen-related deep levels (DX-like) are a known
	-- issue in Al-containing phosphides; set from your own data. Mid-gap
	-- is a neutral default.

	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
	--
	-- Defect-dependent placeholder; set from the intended material
	-- quality (rises with Al content due to O incorporation).

	local enabled = true
	local value = 1.0e21

	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
	--
	-- Defect-dependent placeholder; set from measurement.

	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
	--
	-- Defect-dependent placeholder; set from measurement.

	local enabled = true
	local value = 1.0e-19

	return value, enabled
end

Lattice thermal conductivity (material.thermal_kl)

function material.thermal_kl(state)
	-- Thermal conductivity
	-- Units: W m^-1 K^-1
	-- Refs: [3]
	--
	-- ~5 W/m/K at x = 0.30 - LOW, because a quaternary has mass disorder on
	-- both the (Al,Ga) and the (that plus In) group-III sublattice, giving
	-- very strong alloy phonon scattering (far below any of the binaries).
	-- Weakly composition/temperature dependent in the alloy regime;
	-- (300/T)^0.4 is an approximate weak 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: [4]
	--
	-- ~360 J/kg/K near 300 K (interpolated across the constituents).

	local enabled = true
	local value = 360.0

	return value, enabled
end

Mass density (material.density)

function material.density(state)
	-- Mass density
	-- Units: kg m^-3
	-- Refs: [4]
	--
	-- ~4470 kg/m^3 at x = 0.30 (GaInP ~4470 -> AlInP ~3790 kg/m^3).

	local enabled = true
	local value = 4470.0

	return value, enabled
end

Crystal lattice constant (material.lattice_constant)

function material.lattice_constant(state)
	-- Cubic lattice constant
	-- Units: m
	-- Refs: [1],[2]
	--
	-- FIXED at the GaAs match, a = 5.653 A, INDEPENDENT of x (that is the
	-- point of the (AlxGa1-x)0.5In0.5P design - Al substitutes for Ga
	-- without changing the lattice constant). Linear thermal expansion
	-- ~5.3e-6 /K (GaAs-like).

	local enabled = true
	local T = state.T
	local a300 = 5.653e-10
	local expansion = 5.3e-6
	local value = a300*(1.0 + expansion*(T - 300.0))

	return value, enabled
end

Electron thermal relaxation time (material.thermal_tau_e)

function material.thermal_tau_e(state)
	-- Electron energy relaxation time towards the lattice temperature
	-- Units: s
	--
	-- Value basis: III-V family estimate
	-- Confidence: Medium
	--
	-- Reference:
	-- https://www.mdpi.com/2673-3978/3/2/16
	--
	-- Comments:
	-- Representative III-V carrier-to-lattice relaxation time. GaAs-like values
	-- are typically sub-ps to ps and field dependent.

	local enabled = true
	local value = 5.000000e-13

	return value, enabled
end

Hole thermal relaxation time (material.thermal_tau_h)

function material.thermal_tau_h(state)
	-- Hole energy relaxation time towards the lattice temperature
	-- Units: s
	--
	-- Value basis: III-V family estimate
	-- Confidence: Medium
	--
	-- Reference:
	-- https://www.mdpi.com/2673-3978/3/2/16
	--
	-- Comments:
	-- Representative III-V carrier-to-lattice relaxation time. GaAs-like values
	-- are typically sub-ps to ps and field dependent.

	local enabled = true
	local value = 5.000000e-13

	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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = (x*y)*0.07 + ((1.0-x)*y)*0.08 + ((1.0-y))*0.108

	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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = (x*y)*17.7 + ((1.0-x)*y)*31.4 + ((1.0-y))*20.7

	return value, enabled
end

Luttinger parameter gamma1 (material.gamma1)

function material.gamma1(state)
	-- Luttinger parameter gamma1
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = (x*y)*3.35 + ((1.0-x)*y)*4.05 + ((1.0-y))*5.08

	return value, enabled
end

Luttinger parameter gamma2 (material.gamma2)

function material.gamma2(state)
	-- Luttinger parameter gamma2
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = (x*y)*0.71 + ((1.0-x)*y)*0.49 + ((1.0-y))*1.6

	return value, enabled
end

Luttinger parameter gamma3 (material.gamma3)

function material.gamma3(state)
	-- Luttinger parameter gamma3
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = (x*y)*1.23 + ((1.0-x)*y)*1.25 + ((1.0-y))*2.1

	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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III 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 y = state.y
	local value = (x*y)*-5.7 + ((1.0-x)*y)*-8.2 + ((1.0-y))*-6

	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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III 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 y = state.y
	local value = (x*y)*3 + ((1.0-x)*y)*1.7 + ((1.0-y))*1.27

	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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III 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 y = state.y
	local value = (x*y)*-1.5 + ((1.0-x)*y)*-1.6 + ((1.0-y))*-2

	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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III 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 y = state.y
	local value = (x*y)*-4.6 + ((1.0-x)*y)*-4.6 + ((1.0-y))*-5

	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 AlP, GaP, InP endpoints,
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Endpoint a(T)=a300+da/dT*(T-300); linear (Vegard) mixing.

	local enabled = true
	local x = state.x
	local y = state.y
	local T = state.T
	local value = ((x*y)*(5.4672 + 2.92e-05*(T-300.0)) + ((1.0-x)*y)*(5.4505 + 2.92e-05*(T-300.0)) + ((1.0-y))*(5.8697 + 2.79e-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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = ((x*y)*133 + ((1.0-x)*y)*140.5 + ((1.0-y))*101.1)*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 AlP, GaP, InP from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: (Al(x)Ga(1-x))(y)In(1-y)P; x=Al fraction of (Al,Ga), y=(Al+Ga) group-III fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local y = state.y
	local value = ((x*y)*63 + ((1.0-x)*y)*62.03 + ((1.0-y))*56.1)*1e9

	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:
    -- Composition mapping is ambiguous (Al_x Ga_y In_(1-x-y) P versus the
    -- lattice-matched (Al_x Ga_(1-x))_0.5 In_0.5 P form), and the AlP endpoint
    -- parameters could not be verified against a primary source.

    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:
    -- Composition mapping is ambiguous (Al_x Ga_y In_(1-x-y) P versus the
    -- lattice-matched (Al_x Ga_(1-x))_0.5 In_0.5 P form), and the AlP endpoint
    -- parameters could not be verified against a primary source.
    -- Multi-mode alloy without a recognised single effective Frohlich mode.

    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:
    -- Composition mapping is ambiguous (Al_x Ga_y In_(1-x-y) P versus the
    -- lattice-matched (Al_x Ga_(1-x))_0.5 In_0.5 P form), and the AlP endpoint
    -- parameters could not be verified against a primary source.

    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:
    -- Composition mapping is ambiguous (Al_x Ga_y In_(1-x-y) P versus the
    -- lattice-matched (Al_x Ga_(1-x))_0.5 In_0.5 P form), and the AlP endpoint
    -- parameters could not be verified against a primary source.

    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:
    -- Composition mapping is ambiguous (Al_x Ga_y In_(1-x-y) P versus the
    -- lattice-matched (Al_x Ga_(1-x))_0.5 In_0.5 P form), and the AlP endpoint
    -- parameters could not be verified against a primary source.

    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("Electron energy relax.:  %.6e s", material.thermal_tau_e(state)))
	print(string.format("Hole energy relax.:      %.6e s", material.thermal_tau_h(state)))

	print(string.format("Thermal conductivity:   %.6e W/m/K", material.thermal_kl(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

-- ============================================================================
-- Copyright (C) 2026 The OghmaNano Project
-- All rights reserved.
--
-- This file is part of the OghmaNano Materials Model Library.
--
-- Website:
-- https://www.oghma-nano.com
--
-- Documentation and accuracy statement:
-- https://www.oghma-nano.com/manual/material-scripts.html
--
-- These material models are provided to support scientific research and
-- semiconductor device simulation. If you find them useful, please cite
-- OghmaNano where appropriate. Please do not redistribute these files or
-- incorporate them into other software or databases without permission.
-- ============================================================================