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

Cu2ZnSnSe4 material model

1. Introduction

This page contains the OghmaNano material model for Cu2ZnSnSe4 (Cu2ZnSnSe4).

Kesterite copper zinc tin selenide (CZTSe) absorber

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

-- ---------------------------------------------------------------------------
-- IMPORTANT CONTEXT (read before using):
--
-- Cu2ZnSnSe4 (CZTSe) is a quaternary kesterite thin-film absorber, not a
-- standardised binary. There is no Ioffe-grade reference dataset. The values
-- below are those commonly adopted in device (SCAPS-1D / AFORS-HET)
-- simulations of CZTSe solar cells, cross-checked against first-principles
-- and experimental papers where possible. They carry large literature scatter
-- and depend strongly on stoichiometry (Cu-poor / Zn-rich is best), Cu-Zn
-- order/disorder (shifts Eg by up to ~110 meV; Tc ~ 200 C), and film quality.
-- Treat them as informed starting points, not fixed constants. Recombination
-- in real CZTSe is dominated by SRH through deep defects and band tails, NOT
-- by radiative/Auger channels.
--
-- REFERENCES
--
-- [1]  S. Chen, X. G. Gong, A. Walsh, S.-H. Wei, "Crystal and electronic
--      band structure of Cu2ZnSnX4 (X = S, Se) photovoltaic absorbers:
--      first-principles insights", Appl. Phys. Lett. 94, 041903 (2009).
--      doi:10.1063/1.3074499  [predicts Eg ~1.0 eV; weak dependence on
--      Cu-Zn ordering]
-- [2]  S. Chen, A. Walsh, X. G. Gong, S.-H. Wei, "Classification of lattice
--      defects in the kesterite Cu2ZnSnS4 and Cu2ZnSnSe4 earth-abundant
--      solar cell absorbers", Adv. Mater. 25, 1522-1539 (2013).
--      doi:10.1002/adma.201203146  [CuZn, SnZn, VSe defect landscape]
-- [3]  C. Persson, "Electronic and optical properties of Cu2ZnSnS4 and
--      Cu2ZnSnSe4", J. Appl. Phys. 107, 053710 (2010).
--      [effective masses; static dielectric ~8.6]
-- [4]  N. B. Mortazavi Amiri, A. Postnikov, "Electronic structure and
--      lattice dynamics in kesterite-type Cu2ZnSnSe4 from first-principles",
--      Phys. Rev. B 82, 205204 (2010). doi:10.1103/PhysRevB.82.205204
-- [5]  G. Rey et al., "The band gap of Cu2ZnSnSe4: Effect of order-disorder",
--      Appl. Phys. Lett. 105, 112106 (2014).  [Eg shifts up to 110 meV;
--      Tc ~ 200 C]
-- [6]  "Temperature dependent band-gap energy for Cu2ZnSnSe4: A spectroscopic
--      ellipsometric study", Sol. Energy Mater. Sol. Cells (2015).
--      [Eg(T) is weak over 50-350 K]
-- [7]  J. M. Skelton, A. J. Jackson, M. Dimitrievska, S. K. Wallace,
--      A. Walsh, "Vibrational spectra and lattice thermal conductivity of
--      kesterite-structured Cu2ZnSnS4 and Cu2ZnSnSe4", APL Mater. 3, 041102
--      (2015). doi:10.1063/1.4917044  [kappa ~4.44 W/m/K for CZTSe]
-- [8]  S. Schorr, "The crystal structure of kesterite type compounds: A
--      neutron and X-ray diffraction study", Sol. Energy Mater. Sol. Cells
--      95, 1482-1488 (2011).  [lattice parameters]
-- [9]  Admittance-spectroscopy study of the Cu2ZnSn(Se,S)4 absorber,
--      Appl. Phys. Lett. 100, 253905 (2012).  [dominant acceptor 0.13-0.2 eV]
-- [10] Representative CZTSe device-simulation parameter sets from the
--      SCAPS-1D / AFORS-HET kesterite literature (the Nc, Nv, chi, mu and
--      eps_r values below are widely reproduced across these studies).
-- ---------------------------------------------------------------------------

Material name (material.name)

function material.name()
	local enabled = true

	return "Cu2ZnSnSe4", enabled
end

Material description (material.description)

function material.description()
	local enabled = true

	return "Kesterite copper zinc tin selenide (CZTSe) absorber", enabled
end

Chemical formula (material.formula)

function material.formula()
	local enabled = true

	return "Cu2ZnSnSe4", enabled
end

Band gap energy (material.Eg)

function material.Eg(state)
	-- Units: eV
	-- Refs: [1] (Eg ~1.0 eV); [5],[6] (order-disorder / weak T dep.)
	--
	-- Held constant on purpose. The accepted value for ordered
	-- kesterite CZTSe is ~1.0 eV [1]. Unlike the III-Vs, the measured
	-- temperature dependence is weak over 50-350 K [6] and is
	-- confounded by Cu-Zn order/disorder, which alone shifts Eg by up
	-- to ~110 meV [5]. Composition (S/Se ratio) and ordering dominate
	-- over any Varshni-type phonon term, so a single value is the
	-- defensible default. Set to your measured Eg for the film.

	local enabled = true
	local value = 1.0

	return value, enabled
end

Deformation potential Xi (material.Xi)

function material.Xi(state)
	-- Electron affinity
	-- Units: eV
	-- Refs: [10]
	--
	-- Value widely used in CZTSe device simulations (~4.35 eV). The
	-- electron affinity is genuinely uncertain in the literature
	-- (reported ~4.05-4.35 eV) and directly sets the conduction-band
	-- offset with the buffer (CdS etc.). Often the most consequential
	-- and least-settled parameter for device modelling; treat as a
	-- design/fitting variable.

	local enabled = true
	local value = 4.35

	return value, enabled
end

Electron effective mass (material.me)

function material.me(state)
    local enabled = true
    -- ~0.08; wide literature spread. Ref: Botti APL 98,241915(2011).
    local value = 0.08
    return value, enabled
end

Hole effective mass (material.mh)

function material.mh(state)
    local enabled = true
    -- WARNING: anisotropic multi-band VB, large uncertainty; rough scalar only.
    local value = 0.2
    return value, enabled
end

Effective conduction-band density of states (material.Nc)

function material.Nc(state)
	-- Effective conduction-band density of states
	-- Units: m^-3
	-- Refs: [10]; effective mass consistent with [3]
	--
	-- Common CZTSe device value 2.2e18 cm^-3 at 300 K (implies
	-- m_e* ~ 0.2*m0). Standard T^1.5 scaling applied.

	local enabled = true
	local T = state.T
	local value = 2.2e24*(T/300.0)^1.5

	return value, enabled
end

Effective valence-band density of states (material.Nv)

function material.Nv(state)
	-- Effective valence-band density of states
	-- Units: m^-3
	-- Refs: [10]; effective mass consistent with [3]
	--
	-- Common CZTSe device value 1.8e19 cm^-3 at 300 K (implies
	-- m_h* ~ 0.8*m0). Standard T^1.5 scaling applied.

	local enabled = true
	local T = state.T
	local value = 1.8e25*(T/300.0)^1.5

	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
	-- Refs: [10]
	--
	-- Representative CZTSe value ~100 cm^2/V/s = 0.01 m^2/V/s.
	-- Held constant: transport in polycrystalline CZTSe is limited by
	-- grain boundaries, potential fluctuations and point defects, not
	-- by a clean phonon-scattering law, so a (300/T)^n factor would
	-- mislead. Effective device mobilities are often lower; refine
	-- from Hall / time-of-flight data.

	local enabled = true
	local value = 0.01

	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
	-- Refs: [10]
	--
	-- Representative CZTSe value ~25 cm^2/V/s = 0.0025 m^2/V/s.
	-- CZTSe is intrinsically p-type. Held constant for the same
	-- grain-boundary / disorder reasons as the electron mobility.

	local enabled = true
	local value = 0.0025

	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
	-- Refs: [3]
	--
	-- ~8.6, consistent with first-principles optical/static values
	-- for CZTSe (~8.64) [3]. Reported values span ~8.6 up to ~13.6;
	-- affects depletion width and capacitance, so check against your
	-- own C-V analysis if that matters.

	local enabled = true
	local value = 8.6

	return value, enabled
end

Free-carrier radiative recombination (material.free_to_free_recombination)

function material.free_to_free_recombination(state)
	-- Radiative recombination coefficient
	-- Units: m^3 s^-1
	-- Refs: representative (see note)
	--
	-- Representative direct-gap value ~1e-10 cm^3/s = 1e-16 m^3/s.
	-- Poorly constrained for CZTSe and, in practice, a minor channel:
	-- device performance is limited by SRH via deep defects [2] and by
	-- band-tail (potential-fluctuation) recombination. Placeholder.

	local enabled = true
	local value = 1.0e-16

	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
	-- Refs: representative (see note)
	--
	-- Not well characterised for CZTSe. A small representative value
	-- ~1e-30 cm^6/s = 1e-42 m^6/s is used. Auger is generally
	-- negligible relative to SRH [2] in device-grade CZTSe at normal
	-- injection; adjust only if your regime demands it.

	local enabled = true
	local value = 1.0e-42

	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
	-- Refs: representative (see note)
	--
	-- As auger_Cn: representative 1e-30 cm^6/s = 1e-42 m^6/s, poorly
	-- constrained and normally a minor channel in CZTSe.

	local enabled = true
	local value = 1.0e-42

	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
	-- Refs: [2] (defect landscape), [9] (dominant acceptor level)
	--
	-- Positive values are above mid-gap (towards the conduction band).
	-- Negative values are below mid-gap (towards the valence band).
	--
	-- SRH is the dominant recombination path in CZTSe, so this block
	-- matters more than in the III-Vs. The CuZn antisite is the
	-- dominant (shallow) acceptor, while deeper levels (SnZn and its
	-- complexes, Se vacancies) are the efficiency-limiting centres [2].
	-- Admittance spectroscopy finds a dominant acceptor ~0.13-0.2 eV
	-- above the valence band [9]. Mid-gap (0.0) is used here as the
	-- worst-case default; set from your own DLTS / admittance data.

	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 device value ~1e16 cm^-3 = 1e22 m^-3. Real CZTSe
	-- films span a wide range; this, with the cross sections below,
	-- effectively sets the minority-carrier lifetime (typically only
	-- ~1-10 ns). A primary fitting parameter, not a constant.

	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 deep-defect value ~1e-15 cm^2 = 1e-19 m^2.
	-- Defect-dependent; set from measurement.

	local enabled = true
	local value = 1.0e-19

	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 deep-defect value ~1e-15 cm^2 = 1e-19 m^2.
	-- Defect-dependent; set from measurement.

	local enabled = true
	local value = 1.0e-19

	return value, enabled
end

Lattice thermal conductivity (material.thermal_kl)

function material.thermal_kl(state)
	-- Thermal conductivity
	-- Units: W m^-1 K^-1
	-- Refs: [7]
	--
	-- Single-crystal / first-principles lattice value ~4.4 W/m/K at
	-- 300 K [7]. The (300/T)^1.0 factor is the usual phonon-Umklapp
	-- scaling above the Debye temperature.
	--
	-- Caveat: real polycrystalline CZTSe device films are lower and
	-- flatter in T (often ~1-4 W/m/K) because disorder and grain
	-- boundaries dominate phonon scattering. Reduce for thin, porous
	-- or nanostructured films.

	local enabled = true
	local T = state.T
	local value = 4.4*(300.0/T)^1.0

	return value, enabled
end

Specific heat capacity (material.heat_capacity)

function material.heat_capacity(state)
	-- Specific heat capacity
	-- Units: J kg^-1 K^-1
	--
	-- ~300 J/kg/K near 300 K. Direct measurements are scarce; this is
	-- consistent with the Dulong-Petit limit for the 8-atom formula
	-- unit (M = 627 g/mol -> ~318 J/kg/K high-T limit) and Debye-model
	-- estimates for kesterite CZTSe.

	local enabled = true
	local value = 300.0

	return value, enabled
end

Mass density (material.density)

function material.density(state)
	-- Mass density
	-- Units: kg m^-3
	-- Refs: [8]
	--
	-- Crystallographic density 5.68 g/cm^3, from the kesterite unit
	-- cell (Z = 2, M = 627.1 g/mol, a = 5.688 A, c = 11.34 A [8]).
	-- Porous or off-stoichiometric films measure lower.

	local enabled = true
	local value = 5680.0

	return value, enabled
end

Crystal lattice constant (material.lattice_constant)

function material.lattice_constant(state)
	-- Cubic lattice constant
	-- Units: m
	-- Refs: [8]
	--
	-- CZTSe is tetragonal kesterite, a = 5.688 A, c = 11.34 A
	-- (c/a ~ 1.99) [8]. This routine returns the in-plane constant
	-- "a"; the c axis is ~2a. Linear thermal expansion ~9e-6 /K is a
	-- representative average; CZTSe expansion is mildly anisotropic
	-- (alpha_a /= alpha_c) and only approximately known.

	local enabled = true
	local T = state.T
	local a300 = 5.688e-10
	local expansion = 9.0e-6
	local value = a300*(1.0 + expansion*(T - 300.0))

	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: Chalcopyrite/kesterite estimate
	-- Confidence: Low
	--
	-- Reference:
	-- https://doi.org/10.1109/16.381985
	--
	-- Comments:
	-- Polycrystalline absorber family estimate. Grain boundaries and disorder
	-- make a single bulk relaxation time approximate.

	local enabled = true
	local value = 1.000000e-12

	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: Chalcopyrite/kesterite estimate
	-- Confidence: Low
	--
	-- Reference:
	-- https://doi.org/10.1109/16.381985
	--
	-- Comments:
	-- Polycrystalline absorber family estimate. Grain boundaries and disorder
	-- make a single bulk relaxation time approximate.

	local enabled = true
	local value = 1.000000e-12

	return value, enabled
end

Lattice constant a (material.lattice_a)

function material.lattice_a(state)
	-- Lattice constant, a-axis
	-- Units: m
	--
	-- Reference:
	-- S. Chen, A. Walsh, X.-G. Gong, and S.-H. Wei,
	-- "Classification of Lattice Defects in the Kesterite Cu2ZnSnS4 and
	-- Cu2ZnSnSe4 Earth-Abundant Solar Cell Absorbers,"
	-- Adv. Mater. 25, 1522 (2013). DOI: 10.1002/adma.201203146
	-- (and references therein; see also S. Schorr,
	-- Sol. Energy Mater. Sol. Cells 95, 1482 (2011) for the kesterite
	-- crystal-structure determination).
	--
	-- Notes:
	-- Tetragonal kesterite Cu2ZnSnSe4 (space group I-4). Experimental
	-- room-temperature a-axis a ~= 5.693 Angstrom (c ~= 11.33 Angstrom);
	-- reported values scatter by ~+/-0.005 Angstrom between studies.
	-- The c-axis is NOT returned here. Fixed composition (not an alloy).
	-- Room-temperature value.

	local enabled = true
	local value = 5.693e-10

	return value, enabled
end

Elastic stiffness constant C11 (material.C11)

function material.C11(state)
    -- Elastic stiffness constant C11
    -- Units: Pa
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Elastic stiffness constant C12 (material.C12)

function material.C12(state)
    -- Elastic stiffness constant C12
    -- Units: Pa
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Elastic stiffness constant C44 (material.C44)

function material.C44(state)
    -- Elastic stiffness constant C44
    -- Units: Pa
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Electron acoustic deformation potential (material.D_ac_e)

function material.D_ac_e(state)
    -- Effective scalar acoustic deformation potential for electrons
    -- Units: eV
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Hole acoustic deformation potential (material.D_ac_h)

function material.D_ac_h(state)
    -- Effective scalar acoustic deformation potential for holes
    -- Units: eV
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Longitudinal optical phonon energy (material.phonon_lo_energy)

function material.phonon_lo_energy(state)
    -- Representative LO phonon energy for polar optical (Frohlich) scattering
    -- Units: eV
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

Static dielectric constant (material.epsilon_static)

function material.epsilon_static(state)
    -- Static relative dielectric constant (lattice + electronic)
    -- Dimensionless
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

    return value, enabled
end

High-frequency dielectric constant (material.epsilon_inf)

function material.epsilon_inf(state)
    -- High-frequency (electronic) relative dielectric constant
    -- Dimensionless
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Cu2ZnSnSe4 is kesterite (tetragonal I-4); cubic C11/C12/C44 are not a
    -- complete description. Reported elastic, dielectric and phonon values
    -- are mostly first-principles with large spread; the IR spectrum has many
    -- polar modes and no recognised single effective Frohlich mode. No
    -- verified experimental parameter set identified.

    local enabled = false
    local value = 0.0

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