SuperYellow material model
1. Introduction
This page contains the OghmaNano material model for SuperYellow (PPV copolymer (PDY-132, proprietary)).
Super Yellow (PDY-132) PPV-based yellow OLED emitter (see modelling note)
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
-- ----------------------------------------------------------------------------
-- Super Yellow (PDY-132, Merck Livilux) is a PPV-based YELLOW-EMITTING
-- copolymer used as the emissive layer in OLEDs and light-emitting
-- electrochemical cells (LECs), not a photovoltaic donor. Broad emission
-- ~500-700 nm (optical gap ~2.4 eV). As an emitter, radiative recombination
-- is the physically meaningful loss/gain channel. It is hole-dominant (PPV);
-- electron mobility is much lower.
--
-- References:
-- PDY-132 (Super Yellow), Merck Livilux; frontier levels HOMO ~-5.3 eV,
-- LUMO ~-2.9 eV reported in polymer OLED / light-emitting-transistor
-- device studies.
-- ============================================================================
function material.name()
local enabled = true
return "SuperYellow", enabled
end
function material.description()
local enabled = true
return "Super Yellow (PDY-132) PPV-based yellow OLED emitter (see modelling note)", enabled
end
function material.formula()
local enabled = true
-- Proprietary poly(phenylenevinylene) copolymer (Merck Livilux PDY-132,
-- CAS 26009-24-5). Exact structure not public.
return "PPV copolymer (PDY-132, proprietary)", enabled
end
function material.Eg(state)
-- Units: eV
--
-- HOMO-LUMO gap ~2.4 eV (HOMO -5.3 eV, LUMO -2.9 eV), consistent with the
-- yellow emission onset (~500-700 nm band). Varshni does not apply.
--
-- Reference:
-- Reported HOMO/LUMO for PDY-132 in OLED/LEFET device literature.
local enabled = true
local value = 2.40
return value, enabled
end
function material.Xi(state)
-- Electron affinity (LUMO level below vacuum)
-- Units: eV
--
-- LUMO -2.9 eV, HOMO -5.3 eV (device studies of PDY-132).
--
-- Reference:
-- Reported HOMO/LUMO for PDY-132 in OLED/LEFET device literature.
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
--
-- PPV emitters are hole-dominant; electron mobility is much lower and
-- poorly defined. Low representative value used.
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 1.0e-11
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
--
-- Super Yellow hole mobility is ~1e-6 to 1e-5 cm^2/V/s (=1e-10 to 1e-9
-- m^2/V/s), field- and preparation-dependent. Representative value used.
--
-- Reference:
-- Add the precise reference used for this value.
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
--
-- eps_r ~= 3 is the standard assumption for conjugated polymers (PPV).
--
-- Reference:
-- Add the precise reference used for this value.
local enabled = true
local value = 3.0
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 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.
-- ============================================================================