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

m-MTDATA:TPBi material model

1. Introduction

This page contains the OghmaNano material model for m-MTDATA:TPBi (m-MTDATA:TPBi (exciplex blend)).

m-MTDATA:TPBi OLED exciplex-forming donor:acceptor pair (effective-medium model)

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 = {}


-- ============================================================================
-- IMPORTANT MODELLING NOTE
-- ----------------------------------------------------------------------------
-- This file represents the m-MTDATA:TPBi OLED EXCIPLEX-forming donor:acceptor
-- pair as a single EFFECTIVE semiconductor. This is an ORGANIC LIGHT-EMITTING
-- system, NOT a photovoltaic blend:
--   - m-MTDATA is the hole-transporting DONOR (shallow HOMO ~-5.1 eV)
--   - TPBi is the electron-transporting ACCEPTOR (deep LUMO ~-2.7 eV)
-- The effective gap (m-MTDATA HOMO minus TPBi LUMO ~ 2.4 eV) sets the exciplex
-- EMISSION energy (green, ~510-520 nm) and can give TADF via reverse inter-
-- system crossing. Mapping: Xi = TPBi LUMO (-2.70 eV); HOMO = m-MTDATA HOMO
-- (-5.10 eV); Eg = 2.40 eV; mu_e = TPBi; mu_h = m-MTDATA. Unlike a solar cell,
-- recombination here is EMISSIVE (the desired output). References are given in
-- the Eg / Xi / mobility / recombination functions.
--
-- Component values used:
--   m-MTDATA: HOMO -5.10 eV, LUMO ~-2.0 eV, hole mobility ~3e-5 cm^2/V/s
--   TPBi:     HOMO ~-6.2 eV, LUMO -2.70 eV, electron mobility ~1e-5 cm^2/V/s
-- ============================================================================


function material.name()
	local enabled = true

	return "m-MTDATA:TPBi", enabled
end


function material.description()
	local enabled = true

	return "m-MTDATA:TPBi OLED exciplex-forming donor:acceptor pair (effective-medium model)", enabled
end


function material.formula()
	local enabled = true

	-- Blend of m-MTDATA (4,4',4''-tris[(3-methylphenyl)(phenyl)amino]-
	-- triphenylamine, C57H48N4) donor and TPBi (2,2',2''-(benzene-1,3,5-
	-- triyl)tris(1-phenyl-1H-benzimidazole), C45H30N6) acceptor.
	return "m-MTDATA:TPBi (exciplex blend)", enabled
end


function material.Eg(state)
	-- Units: eV
	--
	-- EFFECTIVE (exciplex / charge-transfer) gap = m-MTDATA HOMO minus TPBi LUMO =
	-- -5.10 - (-2.70) = 2.40 eV. In this OLED system this sets the EXCIPLEX
	-- EMISSION energy (green, ~510-520 nm), not a photovoltaic Voc, and is not the
	-- optical gap of either isolated molecule (m-MTDATA ~3.1 eV, TPBi ~3.5 eV).
	-- Varshni does not apply.
	--
	-- Donor (m-MTDATA) reference:
	-- m-MTDATA HOMO/LUMO (~-5.1/-2.0 eV) are widely reported OLED values;
	-- hole mobility ~3e-5 cm^2/V/s. m-MTDATA:TPBi exciplex: J. Lumin., 239,
	-- 118356, 2021.
	--
	-- Acceptor (TPBi) reference:
	-- TPBi LUMO (~-2.7 eV), HOMO (~-6.2 eV), electron mobility ~1e-5 cm^2/V/s
	-- are widely reported OLED values. m-MTDATA:TPBi exciplex: J. Lumin., 239,
	-- 118356, 2021.

	local enabled = true
	local value = 2.40

	return value, enabled
end


function material.Xi(state)
	-- Electron affinity of the blend (= acceptor LUMO)
	-- Units: eV
	--
	-- Set to the TPBi LUMO (-2.70 eV); electrons reside on the acceptor.
	--
	-- Reference:
	-- TPBi LUMO (~-2.7 eV), HOMO (~-6.2 eV), electron mobility ~1e-5 cm^2/V/s
	-- are widely reported OLED values. m-MTDATA:TPBi exciplex: J. Lumin., 239,
	-- 118356, 2021.

	local enabled = true
	local value = 2.70

	return value, enabled
end


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


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


function material.mu_e(state)
	-- Electron mobility of the blend (= acceptor electron mobility)
	-- Units: m^2 V^-1 s^-1
	--
	-- Set to the TPBi electron mobility (~1e-5 cm^2/V/s). Organic mobility is
	-- thermally activated, field- and density-dependent; a single low-field
	-- value is used.
	--
	-- Reference:
	-- TPBi LUMO (~-2.7 eV), HOMO (~-6.2 eV), electron mobility ~1e-5 cm^2/V/s
	-- are widely reported OLED values. m-MTDATA:TPBi exciplex: J. Lumin., 239,
	-- 118356, 2021.

	local enabled = true
	local value = 1.0e-9

	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)
	-- Hole mobility of the blend (= donor hole mobility)
	-- Units: m^2 V^-1 s^-1
	--
	-- Set to the m-MTDATA hole mobility (~3e-5 cm^2/V/s). A single low-field value
	-- is used.
	--
	-- Reference:
	-- m-MTDATA HOMO/LUMO (~-5.1/-2.0 eV) are widely reported OLED values;
	-- hole mobility ~3e-5 cm^2/V/s. m-MTDATA:TPBi exciplex: J. Lumin., 239,
	-- 118356, 2021.

	local enabled = true
	local value = 3.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
	--
	-- eps_r ~= 3 is the standard assumption for small-molecule organic
	-- semiconductors.
	--
	-- Reference:
	-- Add the precise reference used for this value.

	local enabled = true
	local value = 3.00

	return value, enabled
end


function material.free_to_free_recombination(state)
	-- Bimolecular recombination coefficient (here: EMISSIVE exciplex formation)
	-- Units: m^3 s^-1
	--
	-- In this OLED exciplex system electron-hole encounters form the emissive
	-- exciplex (the desired output), not a loss channel as in a solar cell. A
	-- representative value is used; the true exciplex/TADF kinetics are not
	-- captured by a single coefficient.
	--
	-- Reference:
	-- m-MTDATA:TPBi exciplex up-conversion: J. Lumin., 239, 118356, 2021.
	-- Exciplex-TADF concept: K. Goushi, K. Yoshida, K. Sato, C. Adachi,
	-- Nat. Photonics, 6, 253-258, 2012.

	local enabled = true
	local value = 1.0e-17

	return value, enabled
end


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


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


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


function material.ss_srh_Nt(state)
	-- SRH trap density
	-- Units: m^-3
	--
	-- Representative interfacial trap density for the blend.

	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
	--
	-- Representative value.

	local enabled = true
	local value = 1.0e-20

	return value, enabled
end


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


function material.thermal_conductivity(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


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


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


function material.lattice_constant(state)
	-- Characteristic structural spacing
	-- Units: m
	--
	-- Conjugated-polymer donors are weakly ordered / largely amorphous, so a
	-- single cubic lattice constant is not meaningful. GIWAXS typically shows a
	-- lamellar (100) spacing of ~1.8-2.2e-9 m and a pi-pi (010) stacking
	-- distance of ~0.36-0.39e-9 m. The lamellar spacing is returned as a
	-- representative value.
	--
	-- Reference:
	-- Add the precise reference used for this value.

	local enabled = true
	local value = 2.0e-9

	return value, enabled
end


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


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


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


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


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


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


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


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


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)))

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