MoOx material model
1. Introduction
This page contains the OghmaNano material model for MoOx (MoO3-x).
Sub-stoichiometric molybdenum oxide (MoO3-x), oxygen-deficient high-work-function hole-injection/extraction oxide
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
-- See end of file for copyright, licensing and documentation links.
local material = {}
function material.name()
local enabled = true
return "MoOx", enabled
end
function material.description()
local enabled = true
return "Sub-stoichiometric molybdenum oxide (MoO3-x), oxygen-deficient high-work-function hole-injection/extraction oxide", enabled
end
function material.formula()
local enabled = true
return "MoO3-x", enabled
end
function material.Eg(state)
-- Units: eV
--
-- Reference:
-- J. Meyer et al., "Transition Metal Oxides for Organic
-- Electronics", Adv. Mater. 24, 5408-5427, 2012.
--
-- Host alpha-MoO3 optical gap ~3.0 eV.
--
-- Note: this is the OXYGEN-DEFICIENT oxide. Sub-stoichiometry
-- introduces a dense manifold of O-vacancy gap states below the
-- conduction band; near the Fermi level the transport-relevant
-- states are these defect states, not the nominal 3.0 eV gap.
-- Constant value.
local enabled = true
local value = 3.0
return value, enabled
end
function material.Xi(state)
-- Electron affinity
-- Units: eV
--
-- Reference:
-- M. Kroeger et al., Appl. Phys. Lett. 95, 123301, 2009;
-- J. Meyer et al., Adv. Mater. 24, 5408, 2012;
-- M. T. Greiner et al., Nat. Mater. 11, 76, 2012.
--
-- This is the KEY device parameter. The host oxide has a very deep
-- conduction band (electron affinity ~6.7 eV) which enables
-- electron extraction from the HOMO of adjacent organics
-- (charge-transfer hole-injection mechanism).
--
-- IMPORTANT: real reduced MoOx films have a LOWER effective work
-- function than pristine MoO3, typically ~5.3-5.7 eV, because
-- filled O-vacancy gap states pin the Fermi level below the deep
-- CB. Choose the value to match your film's processing/air
-- exposure.
local enabled = true
local value = 6.7
return value, enabled
end
function material.Nc(state)
-- Effective conduction-band density of states
-- Units: m^-3
--
-- Note: conduction in MoOx is via an O-vacancy-derived defect band
-- rather than a clean parabolic CB, so this parabolic Nc is an
-- order-of-magnitude placeholder only.
local enabled = true
local T = state.T
local value = 1.0e25*(T/300.0)^1.5
return value, enabled
end
function material.Nv(state)
-- Effective valence-band density of states
-- Units: m^-3
--
-- Note: order-of-magnitude placeholder; see Nc note.
local enabled = true
local T = state.T
local value = 1.0e25*(T/300.0)^1.5
return value, enabled
end
function material.mu_e(state)
-- Low-field electron mobility
-- Units: m^2 V^-1 s^-1
--
-- Reference:
-- Evaporated/amorphous molybdenum-oxide transport discussed in
-- J. Meyer et al., Adv. Mater. 24, 5408, 2012.
--
-- Note: electron mobility is very low and extremely
-- process-dependent, reported ~1e-6 to ~1e-1 cm^2/V/s. An
-- effective 1e-4 cm^2/V/s = 1e-8 m^2/V/s is used (approximate).
-- Transport is trap/hopping limited, so no phonon (300/T)^n law is
-- applied. Tune to your layer.
local enabled = true
local value = 1.0e-8
return value, enabled
end
function material.mue_x(state)
return material.mu_e(state)
end
function material.mue_y(state)
return material.mu_e(state)
end
function material.mue_z(state)
return material.mu_e(state)
end
function material.mu_h(state)
-- Low-field hole mobility
-- Units: m^2 V^-1 s^-1
--
-- Note: MoOx extracts holes from the adjacent organic by electron
-- transfer into its deep CB, NOT by hole conduction within MoOx,
-- so intrinsic hole mobility is not the operative channel and is
-- poorly constrained. Low placeholder.
local enabled = true
local value = 1.0e-9
return value, enabled
end
function material.muh_x(state)
return material.mu_h(state)
end
function material.muh_y(state)
return material.mu_h(state)
end
function material.muh_z(state)
return material.mu_h(state)
end
function material.epsilonr(state)
-- Relative static permittivity
-- Dimensionless
--
-- Reference:
-- Molybdenum-oxide optical constants / anisotropy, J. Meyer et
-- al., Adv. Mater. 24, 5408, 2012, and ellipsometry studies.
--
-- Note: layered, anisotropic and poorly constrained for reduced
-- films. High-frequency epsilon_inf ~5.5; static value larger and
-- axis-dependent. Representative (approximate) value used.
local enabled = true
local value = 5.5
return value, enabled
end
function material.free_to_free_recombination(state)
-- Radiative (band-to-band) recombination coefficient
-- Units: m^3 s^-1
--
-- Note: thin charge-selective buffer, not an absorber; bulk
-- radiative recombination is not the operative physics. Poorly
-- constrained placeholder.
local enabled = true
local value = 1.0e-19
return value, enabled
end
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
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
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
function material.ss_srh_Nt(state)
-- SRH trap density
-- Units: m^-3
--
-- Note: MoOx is deliberately oxygen-deficient, so its O-vacancy
-- gap-state density is high (higher than stoichiometric MoO3) and
-- very process-dependent. Placeholder; set from measurement.
local enabled = true
local value = 1.0e22
return value, enabled
end
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
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
function material.thermal_conductivity(state)
-- Thermal conductivity
-- Units: W m^-1 K^-1
--
-- Reference:
-- Low, anisotropic values from the molybdenum-oxide
-- thermal-transport literature (CRC Handbook; layered-oxide
-- studies).
--
-- Note: layered/amorphous evaporated films have low thermal
-- conductivity. A low representative value is used. Approximate.
local enabled = true
local value = 1.0
return value, enabled
end
function material.heat_capacity(state)
-- Specific heat capacity
-- Units: J kg^-1 K^-1
--
-- Reference:
-- From alpha-MoO3 molar heat capacity ~75 J/mol/K and
-- M = 143.94 g/mol, c_p ~ 520 J/kg/K (CRC Handbook of Chemistry
-- and Physics). MoOx is similar. Approximate.
local enabled = true
local value = 520.0
return value, enabled
end
function material.density(state)
-- Mass density
-- Units: kg m^-3
--
-- Reference:
-- alpha-MoO3 rho = 4.69 g/cm^3 (CRC Handbook of Chemistry and
-- Physics).
--
-- Note: reduced MoO3-x is denser than MoO3 and approaches MoO2
-- (6.47 g/cm^3) as x increases. A near-MoO3 value is used for
-- small x. Approximate.
local enabled = true
local value = 4700.0
return value, enabled
end
function material.lattice_constant(state)
-- Cubic lattice constant
-- Units: m
--
-- DISABLED: evaporated MoOx device films are typically AMORPHOUS,
-- and the crystalline host alpha-MoO3 is orthorhombic/layered, NOT
-- cubic, so a single cubic lattice constant is not meaningful.
--
-- Reference (crystallography):
-- R. W. G. Wyckoff, "Crystal Structures".
-- alpha-MoO3: a = 3.963 A, b = 13.855 A, c = 3.696 A.
-- The a-axis value is returned for reference only.
local enabled = false
local value = 3.963e-10
return value, enabled
end
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("Thermal conductivity: %.6e W/m/K", material.thermal_conductivity(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.
-- ============================================================================