InAs material model
1. Introduction
This page contains the OghmaNano material model for InAs (InAs).
Bulk crystalline indium arsenide
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 = {}
Material name (material.name)
function material.name()
local enabled = true
return "InAs", enabled
end
Material description (material.description)
function material.description()
local enabled = true
return "Bulk crystalline indium arsenide", enabled
end
Chemical formula (material.formula)
function material.formula()
local enabled = true
return "InAs", enabled
end
Band gap energy (material.Eg)
function material.Eg(state)
-- Units: eV
--
-- Reference:
-- Y. P. Varshni,
-- "Temperature dependence of the energy gap in semiconductors",
-- Physica, 34, 149-154, 1967.
--
-- Parameter set (Eg(0) = 0.417 eV, alpha = 2.76e-4 eV/K,
-- beta = 93 K) from
-- I. Vurgaftman, J. R. Meyer, L. R. Ram-Mohan,
-- "Band parameters for III-V compound semiconductors and their
-- alloys", J. Appl. Phys. 89, 5815-5875, 2001.
-- Gives Eg(300 K) = 0.354 eV. Direct, narrow gap.
local enabled = true
local T = state.T
local value = 0.417 - 2.76e-4*T*T/(T + 93.0)
return value, enabled
end
Deformation potential Xi (material.Xi)
function material.Xi(state)
-- Electron affinity
-- Units: eV
--
-- Reference:
-- Ioffe NSM database (InAs) / device literature.
-- InAs has a large electron affinity (~4.9 eV), which drives its
-- characteristic surface electron accumulation.
local enabled = true
local value = 4.9
return value, enabled
end
Electron effective mass (material.me)
function material.me(state)
local enabled = true
local value = 0.026 -- Gamma electron mass (Vurgaftman 2001)
return value, enabled
end
Hole effective mass (material.mh)
function material.mh(state)
local enabled = true
-- HH[001]: g1=20.0 g2=8.5 -> 1/(20.0-17.0) (Vurgaftman 2001)
local value = 0.33
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
--
-- Reference:
-- Ioffe NSM database (InAs), from the very small electron
-- effective mass m_e* ~ 0.023 m0 (Vurgaftman et al., 2001).
-- Nc(300 K) = 8.7e16 cm^-3 = 8.7e22 m^-3.
--
-- Note: Nc is small because of the light electron mass; the
-- (T/300)^1.5 form is the simple parabolic-band model. At this
-- narrow gap, non-parabolicity of the conduction band is
-- significant and not captured here.
local enabled = true
local T = state.T
local value = 8.7e22*(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
--
-- Reference:
-- Ioffe NSM database (InAs).
-- Nv(300 K) = 6.6e18 cm^-3 = 6.6e24 m^-3.
local enabled = true
local T = state.T
local value = 6.6e24*(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
--
-- Reference:
-- Ioffe NSM database (InAs), experimental compilation.
-- mu_n(300 K) ~ 33000 cm^2/V/s = 3.3 m^2/V/s (low doping),
-- phonon-limited temperature dependence approximately (300/T)^1.7.
--
-- Note: very high because of the light electron mass. Intrinsic
-- (lattice) mobility only; the low-field value is also strongly
-- reduced by carrier concentration in real (often unintentionally
-- n-type) InAs.
local enabled = true
local T = state.T
local value = 3.3*(300.0/T)^1.7
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
--
-- Reference:
-- Ioffe NSM database (InAs), experimental compilation.
-- mu_p(300 K) ~ 500 cm^2/V/s = 0.05 m^2/V/s, phonon-limited
-- temperature dependence approximately (300/T)^2.3.
local enabled = true
local T = state.T
local value = 0.05*(300.0/T)^2.3
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
--
-- Reference:
-- Ioffe NSM database (InAs).
-- Static value 15.15 (high-frequency value is 12.3).
local enabled = true
local value = 15.15
return value, enabled
end
Free-carrier radiative recombination (material.free_to_free_recombination)
function material.free_to_free_recombination(state)
-- Radiative (band-to-band) recombination coefficient
-- Units: m^3 s^-1
--
-- Reference:
-- Representative value for InAs, ~1.1e-10 cm^3/s = 1.1e-16 m^3/s.
--
-- InAs is a direct-gap semiconductor, so B is substantial. This
-- is a representative room-temperature value; in narrow-gap InAs
-- devices, Auger (below) usually dominates over radiative loss.
local enabled = true
local value = 1.1e-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
--
-- Reference:
-- Representative value for InAs, ~1e-27 cm^6/s = 1e-39 m^6/s.
--
-- IMPORTANT: Auger recombination is strong in narrow-gap InAs and
-- is typically the DOMINANT recombination path at 300 K. The
-- coefficient is ~3-4 orders of magnitude larger than in wide-gap
-- III-Vs. It is also strongly temperature dependent (rising with
-- T). This single constant is a representative value only; for
-- quantitative IR-device work, use a measured, temperature-
-- resolved coefficient for your material.
local enabled = true
local value = 1.0e-39
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
--
-- Reference:
-- Representative value for InAs, ~1e-27 cm^6/s = 1e-39 m^6/s.
--
-- IMPORTANT: see the note on auger_Cn. Auger dominates in InAs
-- and both coefficients are large, temperature dependent, and
-- material specific. Treat these as representative values.
local enabled = true
local value = 1.0e-39
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).
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
--
-- This is entirely material-quality dependent and should be set
-- from the intended bulk lifetime. The value below is a
-- representative placeholder for device-grade material.
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
--
-- Representative value ~1e-15 cm^2 = 1e-19 m^2.
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
--
-- Representative value ~1e-15 cm^2 = 1e-19 m^2.
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
--
-- Reference:
-- Ioffe NSM database (InAs).
-- kappa(300 K) ~ 27 W/m/K; near room temperature kappa decreases
-- with T with an effective exponent of about -1.4.
local enabled = true
local T = state.T
local value = 27.0*(300.0/T)^1.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
--
-- Reference:
-- Ioffe NSM database (InAs). c_p(300 K) ~ 250 J/kg/K.
local enabled = true
local value = 250.0
return value, enabled
end
Mass density (material.density)
function material.density(state)
-- Mass density
-- Units: kg m^-3
--
-- Reference:
-- Ioffe NSM database (InAs). rho = 5.67 g/cm^3.
local enabled = true
local value = 5670.0
return value, enabled
end
Crystal lattice constant (material.lattice_constant)
function material.lattice_constant(state)
-- Cubic lattice constant
-- Units: m
--
-- Reference:
-- I. Vurgaftman, J. R. Meyer, L. R. Ram-Mohan,
-- "Band parameters for III-V compound semiconductors and their
-- alloys", J. Appl. Phys. 89, 5815-5875, 2001.
-- a(300 K) = 6.0583 A; linear expansion ~4.5e-6 /K near 300 K.
local enabled = true
local T = state.T
local a300 = 6.0583e-10
local expansion = 4.5e-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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
local enabled = true
local value = 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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
local enabled = true
local value = 21.5
return value, enabled
end
Luttinger parameter gamma1 (material.gamma1)
function material.gamma1(state)
-- Luttinger parameter gamma1
-- Units: dimensionless
--
-- Reference:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
local enabled = true
local value = 20
return value, enabled
end
Luttinger parameter gamma2 (material.gamma2)
function material.gamma2(state)
-- Luttinger parameter gamma2
-- Units: dimensionless
--
-- Reference:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
local enabled = true
local value = 8.5
return value, enabled
end
Luttinger parameter gamma3 (material.gamma3)
function material.gamma3(state)
-- Luttinger parameter gamma3
-- Units: dimensionless
--
-- Reference:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
local enabled = true
local value = 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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
--
-- Note:
-- 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.
local enabled = true
local value = -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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
--
-- Note:
-- 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.
local enabled = true
local value = 1
return value, enabled
end
Recombination parameter b (material.b)
function material.b(state)
-- Valence-band shear (tetragonal) deformation potential b
-- Units: eV
--
-- Reference:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
--
-- Note:
-- Sign convention as in VMR (b negative). Sign preserved; not flipped.
local enabled = true
local value = -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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
--
-- Note:
-- Sign convention as in VMR (d negative). Sign preserved; not flipped.
local enabled = true
local value = -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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
-- a(300K)=6.0583 Angstrom, da/dT=2.74e-05 Angstrom/K.
-- Linear thermal expansion: a(T)=a300+da/dT*(T-300).
local enabled = true
local T = state.T
local value = (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:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
-- C11=83.29 GPa, converted to Pa.
local enabled = true
local value = 83.29e9
return value, enabled
end
Elastic stiffness constant C12 (material.C12)
function material.C12(state)
-- Elastic stiffness constant C12
-- Units: Pa
--
-- Reference:
-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
-- Recommended binary value for InAs.
-- C12=45.26 GPa, converted to Pa.
local enabled = true
local value = 45.26e9
return value, enabled
end
Elastic stiffness constant C44 (material.C44)
function material.C44(state)
-- Elastic stiffness constant C44
-- Units: Pa
--
-- Reference:
-- I. Vurgaftman, J. R. Meyer, L. R. Ram-Mohan,
-- "Band parameters for III-V compound semiconductors and their alloys,"
-- J. Appl. Phys. 89, 5815 (2001), recommended binary parameter tables
-- (Tables I-VI checked for GaAs, AlAs, InAs, GaP, AlP, InP).
-- DOI: 10.1063/1.1368156
--
-- Notes:
-- Vurgaftman et al. (2001) recommended 395.9 kbar (Burenkov et al. 1975 ultrasonic: 39.5 GPa).
-- Converted: 39.59 GPa -> 39.59e9 Pa (1 kbar = 1e8 Pa).
local enabled = true
local value = 39.59e9
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
--
-- Reference:
-- M. Levinshtein, S. Rumyantsev, M. Shur (eds.),
-- Handbook Series on Semiconductor Parameters, Vols. 1 and 2
-- (World Scientific, 1996 and 1999), as reproduced in the Ioffe
-- Institute NSM archive (www.ioffe.ru/SVA/NSM/Semicond/).
-- (phonon frequency table, InAs mechanical properties).
--
-- Notes:
-- nu_LO(Gamma) = 7.01 THz -> 7.01 x 4.135667e-3 = 0.02899 eV.
-- Hass & Henvis (1962): 243.3 cm^-1 (30.2 meV) at 4.2 K.
local enabled = true
local value = 0.02899
return value, enabled
end
Static dielectric constant (material.epsilon_static)
function material.epsilon_static(state)
-- Static relative dielectric constant (lattice + electronic)
-- Dimensionless
--
-- Reference:
-- M. Levinshtein, S. Rumyantsev, M. Shur (eds.),
-- Handbook Series on Semiconductor Parameters, Vols. 1 and 2
-- (World Scientific, 1996 and 1999), as reproduced in the Ioffe
-- Institute NSM archive (www.ioffe.ru/SVA/NSM/Semicond/).
--
-- Notes:
-- InAs: eps_s = 15.15 (300 K).
local enabled = true
local value = 15.15
return value, enabled
end
High-frequency dielectric constant (material.epsilon_inf)
function material.epsilon_inf(state)
-- High-frequency (electronic) relative dielectric constant
-- Dimensionless
--
-- Reference:
-- M. Levinshtein, S. Rumyantsev, M. Shur (eds.),
-- Handbook Series on Semiconductor Parameters, Vols. 1 and 2
-- (World Scientific, 1996 and 1999), as reproduced in the Ioffe
-- Institute NSM archive (www.ioffe.ru/SVA/NSM/Semicond/).
--
-- Notes:
-- InAs: eps_inf = 12.3 (300 K).
local enabled = true
local value = 12.3
return value, enabled
end
Piezoelectric coefficient e14 (material.e14)
function material.e14(state)
-- Zincblende piezoelectric stress coefficient e14
-- Units: C m^-2
--
-- Reference:
-- M. Levinshtein, S. Rumyantsev, M. Shur (eds.),
-- Handbook Series on Semiconductor Parameters, Vols. 1 and 2
-- (World Scientific, 1996 and 1999), as reproduced in the Ioffe
-- Institute NSM archive (www.ioffe.ru/SVA/NSM/Semicond/).
-- (magnitudes trace to G. Arlt and P. Quadflieg, phys. stat. sol. 25,
-- 323 (1968)).
--
-- Notes:
-- InAs: e14 = -0.045 C/m^2.
-- Sign as tabulated in the compilation (negative for III-V in that
-- convention). e14 sign conventions differ between sources (orientation of
-- [111] relative to the cation->anion bond); piezoelectric scattering
-- depends only on e14^2.
local enabled = true
local value = -0.045
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.
-- ============================================================================