C60 material model
1. Introduction
This page contains the OghmaNano material model for C60 (C60).
C60 buckminsterfullerene, electron acceptor / electron-transport material
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 "C60", enabled
end
Material description (material.description)
function material.description()
local enabled = true
return "C60 buckminsterfullerene, electron acceptor / electron-transport material", enabled
end
Chemical formula (material.formula)
function material.formula()
local enabled = true
-- Buckminsterfullerene; the archetypal small-molecule electron acceptor
-- and a high-mobility electron transporter.
return "C60", enabled
end
Band gap energy (material.Eg)
function material.Eg(state)
-- Units: eV
--
-- Transport (HOMO-LUMO) gap ~2.3 eV (HOMO ~-6.3 eV, LUMO ~-4.0 eV). The
-- OPTICAL gap is lower, ~1.85 eV (a weak, dipole-forbidden S0->S1
-- transition), so optical absorption should be set separately via n/k.
-- Varshni does not apply.
--
-- Reference:
-- R. W. Lof, M. A. van Veenendaal, B. Koopmans, H. T. Jonkman,
-- G. A. Sawatzky, "Band gap, excitons, and Coulomb interaction in solid
-- C60", Phys. Rev. Lett., 68, 3924-3927, 1992 (transport gap ~2.3 eV).
-- S. L. Ren et al., "Ellipsometric determination of the optical constants
-- of C60 films", Appl. Phys. Lett., 59, 2678-2680, 1991 (HOMO-LUMO gap
-- 2.3 eV). Optical S0->S1 onset ~1.85 eV (dipole-forbidden).
local enabled = true
local value = 2.30
return value, enabled
end
Deformation potential Xi (material.Xi)
function material.Xi(state)
-- Electron affinity (LUMO level below vacuum)
-- Units: eV
--
-- LUMO ~-4.0 eV (electron affinity ~3.7-4.5 eV in the literature), HOMO
-- ~-6.3 eV. The deep, accessible LUMO makes C60 a strong electron acceptor.
--
-- Reference:
-- Combined UPS/IPES of solid C60 gives an ionization energy of ~6.4 eV and
-- an electron affinity of ~4.0 eV (transport gap ~2.4 eV); see R. W. Lof,
-- M. A. van Veenendaal, B. Koopmans, H. T. Jonkman, G. A. Sawatzky,
-- Phys. Rev. Lett., 68, 3924-3927, 1992 and references therein.
local enabled = true
local value = 4.00
return value, enabled
end
Effective conduction-band density of states (material.Nc)
function material.Nc(state)
-- Effective conduction-band (LUMO) density of states
-- Units: m^-3
--
-- Disordered organic: a constant effective DOS is used (the crystalline
-- (T/300)^1.5 scaling does not apply). Representative value; the polymer
-- site density is ~1e27 m^-3 and the effective transport-level DOS is
-- normally set to 1e25-1e27 m^-3.
--
-- Reference:
-- Add the precise reference used for the effective density of states.
local enabled = true
local value = 1.0e26
return value, enabled
end
Effective valence-band density of states (material.Nv)
function material.Nv(state)
-- Effective valence-band (HOMO) density of states
-- Units: m^-3
--
-- See material.Nc. Constant effective DOS; representative value.
--
-- Reference:
-- Add the precise reference used for the effective density of states.
local enabled = true
local value = 1.0e26
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
--
-- C60 is a high-mobility electron transporter: up to ~3 cm^2/V/s in single
-- crystals and ~1e-2 to 1e-1 cm^2/V/s in evaporated thin films. A
-- representative thin-film value (~1e-2 cm^2/V/s = 1e-6 m^2/V/s) is used.
--
-- Reference:
-- R. C. Haddon, A. S. Perel, R. C. Morris, T. T. M. Palstra, A. F. Hebard,
-- R. M. Fleming, "C60 thin film transistors", Appl. Phys. Lett., 67,
-- 121-123, 1995.
local enabled = true
local value = 1.0e-6
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
--
-- C60 is n-type; hole transport is much weaker and poorly defined. A low
-- representative value is used.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 1.0e-9
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
--
-- C60 solid dielectric constant is ~3.9-4.4; a representative value is used.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 4.40
return value, enabled
end
Free-carrier radiative recombination (material.free_to_free_recombination)
function material.free_to_free_recombination(state)
-- Bimolecular (band-to-band) recombination coefficient
-- Units: m^3 s^-1
--
-- Langevin-type (non-radiative) free-carrier recombination; donor-
-- acceptor blends typically show reduced (sub-)Langevin behaviour. A
-- representative effective value is used.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 1.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
--
-- Negligible in organic semiconductors; a very small representative
-- value is used so the channel is effectively inactive.
--
-- Reference:
-- Not applicable / negligible for organic semiconductors.
local enabled = true
local value = 1.0e-45
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
--
-- See material.auger_Cn. Very small representative value.
--
-- Reference:
-- Not applicable / negligible for organic semiconductors.
local enabled = true
local value = 1.0e-45
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/LUMO band).
-- Negative values are below mid-gap (towards the valence/HOMO band).
--
-- Placed at mid-gap as a representative single-level approximation.
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
--
-- Representative value.
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
--
-- Representative value.
local enabled = true
local value = 1.0e-20
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.
local enabled = true
local value = 1.0e-20
return value, enabled
end
Lattice thermal conductivity (material.thermal_kl)
function material.thermal_kl(state)
-- Thermal conductivity
-- Units: W m^-1 K^-1
--
-- Not specifically characterised for this polymer; organic semiconducting
-- films are typically ~0.1-0.3 W/m/K. Representative value; the crystalline
-- phonon (300/T)^n scaling is not applied.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 0.2
return value, enabled
end
Specific heat capacity (material.heat_capacity)
function material.heat_capacity(state)
-- Specific heat capacity
-- Units: J kg^-1 K^-1
--
-- Not specifically characterised; organic polymers are typically
-- ~1000-2000 J/kg/K near room temperature. Representative value.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 1200.0
return value, enabled
end
Mass density (material.density)
function material.density(state)
-- Mass density
-- Units: kg m^-3
--
-- Representative organic-polymer film density (~1.1 g/cm^3); not precisely
-- characterised for this polymer.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 1100.0
return value, enabled
end
Crystal lattice constant (material.lattice_constant)
function material.lattice_constant(state)
-- Characteristic molecular spacing
-- Units: m
--
-- Molecular (van der Waals) solid: the value is a representative
-- intermolecular spacing, not a covalent lattice constant. These films
-- are amorphous (Alq3, Bepp2, Ir(piq)3) or polycrystalline (C60, CuPc),
-- so a single lattice constant is not meaningful. Representative value.
local enabled = true
local value = 1.0e-9
return value, enabled
end
Electron trap density (material.Ntrape)
function material.Ntrape(state)
-- Electron tail (exponential band-tail) trap density
-- Units: m^-3
--
-- Representative magnitude for a disordered organic; adjust for the specific
-- film. (Distinct from the deep trap density in ss_srh_Nt.)
local enabled = true
local value = 1.0e26
return value, enabled
end
Hole trap density (material.Ntraph)
function material.Ntraph(state)
-- Hole tail (exponential band-tail) trap density
-- Units: m^-3
--
-- See material.Ntrape. Representative value.
local enabled = true
local value = 1.0e26
return value, enabled
end
Electron trap energy (material.Etrape)
function material.Etrape(state)
-- Electron tail characteristic (Urbach) energy
-- Units: eV
--
-- Representative disordered-organic value.
local enabled = true
local value = 0.06
return value, enabled
end
Hole trap energy (material.Etraph)
function material.Etraph(state)
-- Hole tail characteristic (Urbach) energy
-- Units: eV
--
-- See material.Etrape. Representative value.
local enabled = true
local value = 0.06
return value, enabled
end
Electron capture cross-section for electron traps (material.srhsigman_e)
function material.srhsigman_e(state)
-- Electron-to-electron capture cross section
-- Units: m^2
--
-- Representative value for the tail-state SRH model.
local enabled = true
local value = 1.0e-20
return value, enabled
end
Hole capture cross-section for electron traps (material.srhsigmap_e)
function material.srhsigmap_e(state)
-- Hole-to-electron capture cross section
-- Units: m^2
--
-- Representative value for the tail-state SRH model.
local enabled = true
local value = 1.0e-20
return value, enabled
end
Electron capture cross-section for hole traps (material.srhsigman_h)
function material.srhsigman_h(state)
-- Electron-to-hole capture cross section
-- Units: m^2
--
-- Representative value for the tail-state SRH model.
local enabled = true
local value = 1.0e-20
return value, enabled
end
Hole capture cross-section for hole traps (material.srhsigmap_h)
function material.srhsigmap_h(state)
-- Hole-to-hole capture cross section
-- Units: m^2
--
-- Representative value for the tail-state SRH model.
local enabled = true
local value = 1.0e-20
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: Transport-role estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1039/D4EE02612H
--
-- Comments:
-- Electron-selective/acceptor material. Faster electron cooling assumed;
-- the hole value is a generic organic fallback and may never be exercised.
local enabled = true
local value = 3.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: Transport-role estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1039/D4EE02612H
--
-- Comments:
-- Electron-selective/acceptor material. Faster electron cooling assumed;
-- the hole value is a generic organic fallback and may never be exercised.
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)))
print(string.format("Electron trap density: %.6e m^-3", material.Ntrape(state)))
print(string.format("Hole trap density: %.6e m^-3", material.Ntraph(state)))
print(string.format("Electron trap energy: %.6f eV", material.Etrape(state)))
print(string.format("Hole trap energy: %.6f eV", material.Etraph(state)))
print(string.format("SRH sigma n->e: %.6e m^2", material.srhsigman_e(state)))
print(string.format("SRH sigma p->e: %.6e m^2", material.srhsigmap_e(state)))
print(string.format("SRH sigma n->h: %.6e m^2", material.srhsigman_h(state)))
print(string.format("SRH sigma p->h: %.6e m^2", material.srhsigmap_h(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.
-- ============================================================================