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

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.
-- ============================================================================