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

Ir(piq)3 material model

1. Introduction

This page contains the OghmaNano material model for Ir(piq)3 (C45H30IrN3).

Ir(piq)3 tris(1-phenylisoquinoline)iridium(III), deep-red phosphorescent emitter dopant

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
-- ----------------------------------------------------------------------------
-- Ir(piq)3 is a phosphorescent EMITTER DOPANT, normally doped at a few mol%
-- into a host (e.g. CBP), NOT used as a neat transport layer. Its role is
-- radiative: deep-red phosphorescence (~620 nm) via a triplet state (T1 ~2.0
-- eV) with near-unity intersystem crossing. The transport parameters below
-- are therefore only weakly meaningful for the neat material and are given
-- as low representative values; the frontier levels are the useful numbers.
-- ============================================================================


function material.name()
	local enabled = true

	return "Ir(piq)3", enabled
end


function material.description()
	local enabled = true

	return "Ir(piq)3 tris(1-phenylisoquinoline)iridium(III), deep-red phosphorescent emitter dopant", enabled
end


function material.formula()
	local enabled = true

	-- Tris(1-phenylisoquinolinato-C2,N)iridium(III) (CAS 435293-93-9); a
	-- deep-red phosphorescent emitter dopant.
	return "C45H30IrN3", enabled
end


function material.Eg(state)
	-- Units: eV
	--
	-- Frontier gap ~2.2 eV (HOMO ~-5.1 eV, LUMO ~-2.9 eV; cf. the close analogue
	-- Ir(piq)2(acac) at HOMO -5.0 eV, LUMO -3.0 eV). Emission is deep-red
	-- phosphorescence (~620 nm) from a triplet at ~2.0 eV. Varshni does not
	-- apply.
	--
	-- Reference:
	-- A. Tsuboyama, H. Iwawaki, M. Furugori, ..., K. Ueno, "Homoleptic
	-- Cyclometalated Iridium Complexes with Highly Efficient Red Phosphorescence
	-- and Application to Organic Light-Emitting Diode", J. Am. Chem. Soc., 125,
	-- 12971-12979, 2003.

	local enabled = true
	local value = 2.20

	return value, enabled
end


function material.Xi(state)
	-- Electron affinity (LUMO level below vacuum)
	-- Units: eV
	--
	-- LUMO ~-2.9 eV, HOMO ~-5.1 eV (cyclic voltammetry; close analogue
	-- Ir(piq)2(acac) at -3.0/-5.0 eV).
	--
	-- Reference:
	-- A. Tsuboyama et al., J. Am. Chem. Soc., 125, 12971-12979, 2003.

	local enabled = true
	local value = 2.90

	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)
	-- Low-field electron mobility
	-- Units: m^2 V^-1 s^-1
	--
	-- As a dilute dopant, neat-film transport is not the operative property; a
	-- low representative value is used.
	--
	-- Reference:
	-- Not applicable for a dilute phosphorescent dopant.

	local enabled = true
	local value = 1.0e-10

	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
	--
	-- As a dilute dopant, neat-film transport is not the operative property; a
	-- low representative value is used.
	--
	-- Reference:
	-- Not applicable for a dilute phosphorescent dopant.

	local enabled = true
	local value = 1.0e-10

	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
	--
	-- Small-molecule organometallic solid; eps_r ~= 3.
	--
	-- 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 (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


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

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


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