InSb material model
1. Introduction
This page contains the OghmaNano material model for InSb (InSb).
Bulk crystalline indium antimonide
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 InSb (read before using):
--
-- InSb is the narrowest-gap common III-V (Eg ~ 0.17 eV at 300 K) and has the
-- highest electron mobility of any bulk semiconductor, with a very small
-- electron effective mass (0.014 m0). Two consequences matter for modelling:
-- * The gap is only ~6.6 kT at 300 K, so ni is huge (~2e16 cm^-3) and the
-- material is nearly intrinsic at room temperature. InSb IR detectors
-- are therefore normally operated cooled (77 K).
-- * The conduction band is strongly non-parabolic (alpha ~ 4.1 eV^-1), so
-- the parabolic Nc ~ T^1.5 below is only an approximation once the Fermi
-- level enters the band (high doping / high T).
-- Near room temperature the minority-carrier lifetime is set by (strong)
-- Auger recombination, not SRH.
--
-- REFERENCES
--
-- [1] 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). doi:10.1063/1.1368156 [band parameters]
-- [2] M. Levinshtein, S. Rumyantsev, M. Shur (eds.), "Handbook Series on
-- Semiconductor Parameters, Vol. 1", World Scientific (1996), and the
-- companion online compilation. [transport / thermal / recombination]
-- [3] S. Adachi, "Properties of Group-IV, III-V and II-VI Semiconductors",
-- Wiley (2005).
-- [4] Y. P. Varshni, "Temperature dependence of the energy gap in
-- semiconductors", Physica 34, 149-154 (1967). [Varshni form]
-- [5] C. L. Littler, D. G. Seiler, Appl. Phys. Lett. 46, 986-988 (1985).
-- [InSb Eg(T) fit, alternative to [1]]
-- [6] M. Oszwaldowski, M. Zimpel, J. Phys. Chem. Solids 49, 1179-1185
-- (1988). [intrinsic carrier concentration]
-- [7] D. L. Rode (1971); N. G. Yaremenko et al. (1973) - carrier mobility
-- vs T, in [2].
-- [8] U. Piesbergen (1963); Kosarev et al. (1971) - specific heat and
-- thermal conductivity, in [2].
-- ---------------------------------------------------------------------------
Material name (material.name)
function material.name()
local enabled = true
return "InSb", enabled
end
Material description (material.description)
function material.description()
local enabled = true
return "Bulk crystalline indium antimonide", enabled
end
Chemical formula (material.formula)
function material.formula()
local enabled = true
return "InSb", enabled
end
Band gap energy (material.Eg)
function material.Eg(state)
-- Units: eV
-- Refs: [1] (primary), [4] (Varshni form); alt fit [5]
--
-- Varshni form with the recommended III-V parameter set [1]:
-- Eg(0) = 0.235 eV, alpha = 3.2e-4 eV/K, beta = 170 K.
-- Gives Eg(300 K) = 0.174 eV.
--
-- Alternative fit (Littler & Seiler [5], valid 0 < T < 300 K):
-- 0.24 - 6.0e-4*T*T/(T + 500).
local enabled = true
local T = state.T
local value = 0.235 - 3.2e-4*T*T/(T + 170.0)
return value, enabled
end
Deformation potential Xi (material.Xi)
function material.Xi(state)
-- Electron affinity
-- Units: eV
-- Refs: [2],[3] (4.59 eV)
local enabled = true
local value = 4.59
return value, enabled
end
Electron effective mass (material.me)
function material.me(state)
local enabled = true
local value = 0.014 -- Gamma electron mass, 0.0135 (Vurgaftman 2001)
return value, enabled
end
Hole effective mass (material.mh)
function material.mh(state)
local enabled = true
-- HH[001]: g1=34.8 g2=15.5 -> 1/(34.8-31.0) (Vurgaftman 2001)
local value = 0.26
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: [2]
--
-- Nc = 8.0e12*T^1.5 cm^-3, i.e. 4.2e16 cm^-3 at 300 K - very small,
-- reflecting the tiny electron mass (0.014 m0). Parabolic-band
-- approximation; see the header note on non-parabolicity.
local enabled = true
local T = state.T
local value = 4.2e22*(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: [2]
--
-- Nv = 1.4e15*T^1.5 cm^-3, i.e. 7.3e18 cm^-3 at 300 K.
local enabled = true
local T = state.T
local value = 7.3e24*(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: [2],[7]
--
-- Pure n-InSb: mu ~ 7.7e4*(T/300)^-1.66 cm^2/V/s for T >= 200 K,
-- i.e. 77000 cm^2/V/s = 7.7 m^2/V/s at 300 K - the highest electron
-- mobility of any bulk semiconductor. Falls rapidly with doping;
-- this is the lightly-doped limit.
local enabled = true
local T = state.T
local value = 7.7*(300.0/T)^1.66
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: [2],[7]
--
-- Pure p-InSb: mu ~ 850*(T/300)^-1.8 cm^2/V/s for T > 60 K,
-- i.e. 850 cm^2/V/s = 0.085 m^2/V/s at 300 K.
local enabled = true
local T = state.T
local value = 0.085*(300.0/T)^1.8
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: [2],[3] (static 16.8, high-frequency 15.7)
local enabled = true
local value = 16.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: [2]
--
-- B ~ 5e-11 cm^3/s = 5e-17 m^3/s (300 K). Radiative and Auger both
-- matter in this narrow-gap material; near and above ~250 K Auger
-- dominates the lifetime (see auger_Cn).
local enabled = true
local value = 5.0e-17
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: [2]
--
-- Single (ambipolar) Auger coefficient C ~ 5e-26 cm^6/s = 5e-38
-- m^6/s, defined via tau_n = tau_p ~ 1/(C*ni^2). Applied here to Cn.
-- This is large (narrow gap) and sets the intrinsic lifetime at
-- 300 K to tau ~ 5e-8 s; Auger is the dominant recombination channel
-- for InSb near room temperature.
local enabled = true
local value = 5.0e-38
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: [2]
--
-- As auger_Cn: ambipolar Auger coefficient 5e-26 cm^6/s = 5e-38
-- m^6/s.
local enabled = true
local value = 5.0e-38
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, not an intrinsic constant. Near room temperature
-- InSb lifetime is Auger-limited, so SRH matters mainly for cooled
-- (e.g. 77 K) detector operation, where it is set by growth quality.
-- 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 (detector-
-- grade) material quality.
local enabled = true
local value = 5.0e22
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: [2],[8]
--
-- 300 K value 18 W/m/K (0.18 W/cm/K). The (300/T)^1.4 factor
-- approximates the phonon-limited decrease above the Debye
-- temperature (~160 K); treat the exponent as approximate.
local enabled = true
local T = state.T
local value = 18.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
-- Refs: [2],[8]
--
-- 0.20 J/g/K = 200 J/kg/K near 300 K.
local enabled = true
local value = 200.0
return value, enabled
end
Mass density (material.density)
function material.density(state)
-- Mass density
-- Units: kg m^-3
-- Refs: [2],[3] (5.77 g/cm^3)
local enabled = true
local value = 5770.0
return value, enabled
end
Crystal lattice constant (material.lattice_constant)
function material.lattice_constant(state)
-- Cubic lattice constant
-- Units: m
-- Refs: [2],[3]
--
-- a(300 K) = 6.479 A. Linear thermal expansion 5.37e-6 /K.
local enabled = true
local T = state.T
local a300 = 6.479e-10
local expansion = 5.37e-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: Narrow-gap family estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1103/PhysRevB.103.245205
--
-- Comments:
-- Narrow-gap semiconductor with strong non-parabolicity. Use 2 ps as a
-- conservative effective value and test field dependence.
local enabled = true
local value = 2.000000e-12
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: Narrow-gap family estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1103/PhysRevB.103.245205
--
-- Comments:
-- Narrow-gap semiconductor with strong non-parabolicity. Use 2 ps as a
-- conservative effective value and test field dependence.
local enabled = true
local value = 2.000000e-12
return value, enabled
end
Lattice constant a (material.lattice_a)
function material.lattice_a(state)
-- Lattice constant, a-axis
-- Units: m
--
-- Reference:
-- I. Vurgaftman, J. R. Meyer, and L. R. Ram-Mohan,
-- "Band parameters for III-V compound semiconductors and their alloys,"
-- J. Appl. Phys. 89, 5815 (2001).
-- DOI: 10.1063/1.1368156
--
-- Notes:
-- Cubic zinc-blende InSb (space group F-43m). Cell edge
-- a = 6.4794 Angstrom at 300 K (for a cubic crystal the a-axis is the
-- cell edge). Vurgaftman et al. also give a small linear thermal
-- expansion (da/dT = 3.48e-5 Angstrom/K); a fixed room-temperature
-- value is used here unless a T-dependent model is required.
local enabled = true
local value = 6.4794e-10
return value, enabled
end
Elastic stiffness constant C11 (material.C11)
function material.C11(state)
-- Elastic stiffness constant C11
-- Units: Pa
--
-- Crystal phase: zincblende InSb (cubic, so C11/C12/C44 complete).
--
-- Reference:
-- Slutsky and Garland (1959), ultrasonic, 300 K, as attributed in the
-- Ioffe NSM archive (InSb mechanical properties); original not
-- independently accessed.
--
-- Notes:
-- 6.67e11 dyn/cm^2 = 66.7 GPa -> 66.7e9 Pa.
local enabled = true
local value = 66.7e9
return value, enabled
end
Elastic stiffness constant C12 (material.C12)
function material.C12(state)
-- Elastic stiffness constant C12
-- Units: Pa
--
-- Reference:
-- Slutsky and Garland (1959), ultrasonic, 300 K, as attributed in the
-- Ioffe NSM archive (InSb mechanical properties); original not
-- independently accessed.
--
-- Notes:
-- 3.65e11 dyn/cm^2 = 36.5 GPa -> 36.5e9 Pa.
local enabled = true
local value = 36.5e9
return value, enabled
end
Elastic stiffness constant C44 (material.C44)
function material.C44(state)
-- Elastic stiffness constant C44
-- Units: Pa
--
-- Reference:
-- Slutsky and Garland (1959), ultrasonic, 300 K, as attributed in the
-- Ioffe NSM archive (InSb mechanical properties); original not
-- independently accessed.
--
-- Notes:
-- 3.02e11 dyn/cm^2 = 30.2 GPa -> 30.2e9 Pa.
local enabled = true
local value = 30.2e9
return value, enabled
end
Electron acoustic deformation potential (material.D_ac_e)
function material.D_ac_e(state)
-- Effective scalar acoustic deformation potential for electrons
-- Units: eV
--
-- No sufficiently reliable value/reference identified.
-- Disabled rather than estimated.
--
-- Notes:
-- InSb electron transport is strongly non-parabolic and dominated by
-- polar optical scattering, so mobility fits constrain the acoustic
-- deformation potential poorly. A re-search in this pass found a value
-- of 5.08 eV quoted for InSb in later work as taken from Vurgaftman et
-- al. (2001), but 5.08 eV in magnitude matches that compilation's InAs
-- hydrostatic conduction-band potential (a_c(InAs) = -5.08 eV), so the
-- attribution is doubtful; it is also a hydrostatic band-edge potential,
-- not a fitted scalar acoustic DP. Not adopted.
local enabled = false
local value = 0.0
return value, enabled
end
Hole acoustic deformation potential (material.D_ac_h)
function material.D_ac_h(state)
-- Effective scalar acoustic deformation potential for holes
-- Units: eV
--
-- No sufficiently reliable value/reference identified.
-- Disabled rather than estimated.
--
-- Notes:
-- No verified scalar valence-band acoustic deformation potential for
-- InSb was found; the hydrostatic a_v or the shear b/d potentials are not
-- substitutes for the equipartition D_ac_h.
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
--
-- Crystal phase: zincblende InSb.
--
-- Reference:
-- D. L. Price, J. M. Rowe, R. M. Nicklow,
-- Phys. Rev. B 3, 1268 (1971). (InSb lattice dynamics, inelastic neutron
-- scattering; frequencies as tabulated in the Ioffe NSM archive)
--
-- Notes:
-- nu_LO(Gamma) = 5.90 THz -> 5.90 x 4.135667e-3 = 0.02440 eV.
-- Hass & Henvis (1962): 197.2 cm^-1 (24.4 meV) at 4.2 K, consistent.
local enabled = true
local value = 0.02440
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:
-- InSb: 16.8 (300 K).
local enabled = true
local value = 16.8
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:
-- InSb: 15.7 (300 K).
local enabled = true
local value = 15.7
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.
-- ============================================================================