TiOx material model
1. Introduction
This page contains the OghmaNano material model for TiOx (TiOx).
Titanium oxide (sub-stoichiometric TiO2-x / amorphous TiOx), electron-transport/hole-blocking layer
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 "TiOx", enabled
end
Material description (material.description)
function material.description()
local enabled = true
return "Titanium oxide (sub-stoichiometric TiO2-x / amorphous TiOx), electron-transport/hole-blocking layer", enabled
end
Chemical formula (material.formula)
function material.formula()
local enabled = true
return "TiOx", enabled
end
Band gap energy (material.Eg)
function material.Eg(state)
-- Units: eV
--
-- Reference:
-- J. Robertson, "High dielectric constant oxides",
-- Eur. Phys. J. Appl. Phys. 28, 265-291, 2004.
--
-- TiO2 gap: anatase ~3.2 eV, rutile ~3.0 eV. Device TiOx is
-- typically anatase-like / amorphous with an optical gap ~3.2 eV.
--
-- Note: sub-stoichiometric TiOx carries a significant density of
-- O-vacancy gap states below the CB; the nominal gap here does not
-- capture those. Constant value; T-dependence weak/uncharacterised.
local enabled = true
local value = 3.2
return value, enabled
end
Deformation potential Xi (material.Xi)
function material.Xi(state)
-- Electron affinity
-- Units: eV
--
-- Reference:
-- CB position from device-alignment literature
-- (J. Robertson, Eur. Phys. J. Appl. Phys. 28, 265, 2004).
--
-- TiO2/TiOx electron affinity ~4.0-4.2 eV (CB ~ -4.0 to -4.2 eV
-- vs vacuum). This shallow CB, combined with a deep valence band,
-- is what makes TiOx a good electron-transport / hole-blocking
-- layer. Primary device-relevant parameter.
local enabled = true
local value = 4.1
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:
-- From anatase CB effective mass m_e* ~ 1 m0 (TiO2 band-structure
-- literature): Nc(300 K) ~ 2.5e19 cm^-3 = 2.5e25 m^-3. Approximate.
--
-- Note: amorphous TiOx transport is dominated by gap states rather
-- than a clean parabolic band.
local enabled = true
local T = state.T
local value = 2.5e25*(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:
-- Heavy (O 2p) valence band, m_h* of order a few m0:
-- Nv(300 K) ~ 1e26 m^-3. Poorly constrained placeholder.
local enabled = true
local T = state.T
local value = 1.0e26*(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
--
-- Note: strongly morphology-dependent. Amorphous / sol-gel TiOx
-- device layers have very low electron mobility ~1e-4 cm^2/V/s
-- (= 1e-8 m^2/V/s), used here as the device-representative value.
-- Crystalline anatase is far higher (~1-20 cm^2/V/s). Transport is
-- trap-limited in the disordered film, so no phonon (300/T)^n law
-- is applied.
local enabled = true
local value = 1.0e-8
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
--
-- Note: TiOx is deliberately a HOLE BLOCKER; hole transport is
-- intentionally negligible and poorly constrained. Low placeholder.
local enabled = true
local value = 1.0e-10
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:
-- TiO2 dielectric constants, CRC Handbook of Chemistry and
-- Physics; J. Robertson, Eur. Phys. J. Appl. Phys. 28, 265, 2004.
--
-- Note: TiO2 permittivity is large and strongly polymorph- and
-- axis-dependent: anatase static ~30-45, rutile ~86 (perp c) to
-- ~170 (parallel c). Amorphous device TiOx is typically lower
-- (~20-40) and process-dependent. A representative (approximate)
-- anatase-like value is used; adjust to your film if the local
-- field matters.
local enabled = true
local value = 40.0
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
--
-- Note: TiOx is an indirect wide-gap oxide used as a transport
-- layer, not an absorber; bulk radiative recombination is weak and
-- not the operative loss. Poorly constrained placeholder.
local enabled = true
local value = 1.0e-19
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
--
-- Note: not characterised. Order-of-magnitude placeholder.
local enabled = true
local value = 1.0e-43
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
--
-- Note: not characterised. Order-of-magnitude placeholder.
local enabled = true
local value = 1.0e-43
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
--
-- Note: for a defect-rich TiOx ETL this is often the DOMINANT and
-- most important parameter (interfacial / bulk recombination). It
-- is strongly quality/processing dependent; the value below is a
-- placeholder to be set from measured lifetime or J-V fitting.
local enabled = true
local value = 1.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
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
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:
-- Bulk anatase TiO2 ~ 4-10 W/m/K (CRC Handbook of Chemistry and
-- Physics; TiO2 thermal-transport literature).
--
-- Note: thin amorphous TiOx films are lower (~1-3 W/m/K). A low
-- film-appropriate value is used. Approximate / poorly constrained.
local enabled = true
local value = 3.0
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:
-- TiO2 (anatase), c_p(300 K) ~ 700 J/kg/K (CRC Handbook of
-- Chemistry and Physics).
local enabled = true
local value = 700.0
return value, enabled
end
Mass density (material.density)
function material.density(state)
-- Mass density
-- Units: kg m^-3
--
-- Reference:
-- TiO2 anatase rho = 3.78 g/cm^3 (CRC Handbook of Chemistry and
-- Physics). Amorphous TiOx films are often less dense
-- (~3.2-3.9 g/cm^3).
local enabled = true
local value = 3780.0
return value, enabled
end
Crystal lattice constant (material.lattice_constant)
function material.lattice_constant(state)
-- Cubic lattice constant
-- Units: m
--
-- DISABLED: device TiOx is usually AMORPHOUS or nanocrystalline
-- anatase; anatase itself is tetragonal, NOT cubic. A single cubic
-- lattice constant is not meaningful.
--
-- Reference (crystallography):
-- R. W. G. Wyckoff, "Crystal Structures".
-- Anatase TiO2: a = 3.7845 A, c = 9.5143 A.
-- The a-axis value is returned for reference only.
local enabled = false
local value = 3.7845e-10
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: Oxide family estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1021/jp802455p
--
-- Comments:
-- n-type oxide/ETL. Electron relaxation is assumed sub-ps; the hole channel
-- is normally inactive or trap dominated.
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: Oxide family estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1021/jp802455p
--
-- Comments:
-- n-type oxide/ETL. Electron relaxation is assumed sub-ps; the hole channel
-- is normally inactive or trap dominated.
local enabled = true
local value = 1.000000e-12
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.
-- ============================================================================