ZnS material model
1. Introduction
This page contains the OghmaNano material model for ZnS (ZnS).
Bulk zinc-blende (cubic) zinc sulfide
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 = {}
-- ---------------------------------------------------------------------------
-- NOTES ON ZnS (read before using):
--
-- ZnS is the widest-gap common II-VI (~3.7 eV, direct), modelled here in the
-- cubic zinc-blende (sphalerite) phase; the wurtzite polytype has a slightly
-- larger gap (~3.8-3.9 eV) and different constants. Like ZnSe/ZnTe it is NOT
-- in the Ioffe NSM archive, so values are from Madelung's Data Handbook and
-- Adachi plus specific papers, with more scatter than the III-Vs. ZnS is
-- naturally n-type and very hard to dope p-type (strong self-compensation);
-- hole transport is correspondingly poorly characterised.
--
-- REFERENCES
--
-- [1] O. Madelung (ed.), "Semiconductors: Data Handbook", 3rd ed.,
-- Springer (2004). [primary II-VI data compilation]
-- [2] S. Adachi, "Properties of Group-IV, III-V and II-VI Semiconductors",
-- Wiley (2005).
-- [3] R. Passler et al., "Temperature dependence of exciton peak energies in
-- ZnS, ZnSe, and ZnTe epitaxial films", J. Appl. Phys. (1999).
-- [Eg(T) / Varshni analysis]
--
-- Nc and Nv are COMPUTED from density-of-states effective masses via
-- N = 2.509e25 * (m*/m0)^1.5 * (T/300)^1.5 m^-3, not directly tabulated;
-- the hole mass (hence Nv) is the least certain input. Zinc-blende values.
-- ---------------------------------------------------------------------------
Material name (material.name)
function material.name()
local enabled = true
return "ZnS", enabled
end
Material description (material.description)
function material.description()
local enabled = true
return "Bulk zinc-blende (cubic) zinc sulfide", enabled
end
Chemical formula (material.formula)
function material.formula()
local enabled = true
return "ZnS", enabled
end
Band gap energy (material.Eg)
function material.Eg(state)
-- Units: eV
-- Refs: [1],[3]; Varshni form [3]
--
-- Varshni form (cubic ZnS): Eg(0) = 3.84 eV, alpha = 6.5e-4 eV/K,
-- beta = 200 K, giving Eg(300 K) = 3.72 eV. Reported cubic-ZnS 300 K
-- gaps span ~3.66-3.78 eV; wurtzite is ~0.1-0.2 eV wider. II-VI
-- Varshni parameters vary between sources - these reproduce the
-- accepted zinc-blende 300 K value.
local enabled = true
local T = state.T
local value = 3.84 - 6.5e-4*T*T/(T + 200.0)
return value, enabled
end
Deformation potential Xi (material.Xi)
function material.Xi(state)
-- Electron affinity
-- Units: eV
-- Refs: [1],[2]
--
-- ~3.9 eV. Reported ZnS electron affinities scatter widely
-- (~3.9-4.5 eV); sets the heterojunction band offset.
local enabled = true
local value = 3.9
return value, enabled
end
Electron effective mass (material.me)
function material.me(state)
local enabled = true
local value = 0.28 -- zincblende Gamma electron mass (Adachi 2005)
-- NOTE: ZnS also has a wurtzite polytype with different, anisotropic masses.
return value, enabled
end
Hole effective mass (material.mh)
function material.mh(state)
local enabled = true
local value = 1.3 -- heavy HH; large literature spread 1.3-1.8 (Adachi 2005)
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: computed from m_e* = 0.34 m0 (zinc blende) [1],[2]
--
-- Nc = 2.509e25*(0.34)^1.5*(T/300)^1.5 = 5.0e24 m^-3 at 300 K
-- (5.0e18 cm^-3).
local enabled = true
local T = state.T
local value = 5.0e24*(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: computed from m_h(DOS) ~ 0.8 m0 [1],[2]
--
-- Nv = 2.509e25*(0.8)^1.5*(T/300)^1.5 = 1.8e25 m^-3 at 300 K
-- (1.8e19 cm^-3). DOS hole mass uncertain; Nv is the softer input.
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: [1],[2]
--
-- ~165 cm^2/V/s = 0.0165 m^2/V/s at 300 K (single crystal). The
-- (300/T)^1.5 factor is an approximate lattice-limited dependence;
-- polar-optical-phonon scattering dominates near 300 K and real
-- (especially thin-film) material is lower.
local enabled = true
local T = state.T
local value = 0.0165*(300.0/T)^1.5
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: [1],[2]
--
-- ~40 cm^2/V/s = 0.004 m^2/V/s at 300 K - low and poorly
-- constrained (ZnS is hard to make p-type). (300/T)^1.5 approximate.
local enabled = true
local T = state.T
local value = 0.004*(300.0/T)^1.5
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: [1],[2]
--
-- Static 8.3 (high-frequency 5.1), zinc blende.
local enabled = true
local value = 8.3
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.
-- Not well tabulated for ZnS; placeholder, refine against measured
-- lifetimes.
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)
--
-- Small representative ~1e-30 cm^6/s = 1e-42 m^6/s. Auger is
-- negligible in this very wide-gap material under normal conditions.
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, negligible
-- in wide-gap ZnS.
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
--
-- Positive values are above mid-gap (towards the conduction band).
-- Negative values are below mid-gap (towards the valence band).
--
-- Defect-dependent, not an intrinsic constant. ZnS luminescence and
-- transport are dominated by native defects and self-compensation;
-- set from your own data. Mid-gap is a neutral default.
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
--
-- Defect-dependent placeholder; set from the intended material
-- quality.
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
--
-- Defect-dependent placeholder; 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
--
-- Defect-dependent placeholder; 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: [2]
--
-- ~27 W/m/K (0.27 W/cm/K) at 300 K [2]. The (300/T)^1.0 factor is
-- the usual phonon-Umklapp scaling; polycrystalline films are lower.
local enabled = true
local T = state.T
local value = 27.0*(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
-- Refs: [1],[2]
--
-- ~470 J/kg/K near 300 K (0.47 J/g/K), consistent with the
-- Dulong-Petit limit for ZnS (M = 97.44 g/mol).
local enabled = true
local value = 470.0
return value, enabled
end
Mass density (material.density)
function material.density(state)
-- Mass density
-- Units: kg m^-3
-- Refs: [1]
--
-- 4.09 g/cm^3 (crystallographic: Z = 4, M = 97.44 g/mol,
-- a = 5.41 A), zinc blende.
local enabled = true
local value = 4090.0
return value, enabled
end
Crystal lattice constant (material.lattice_constant)
function material.lattice_constant(state)
-- Cubic lattice constant
-- Units: m
-- Refs: [1],[2]
--
-- a(300 K) = 5.41 A (zinc blende) [1]. Linear thermal expansion
-- ~6.5e-6 /K.
local enabled = true
local T = state.T
local a300 = 5.41e-10
local expansion = 6.5e-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: II-VI family estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1109/16.381985
--
-- Comments:
-- II-VI family default. Direct carrier-specific hydrodynamic parameters are
-- scarce; use sensitivity analysis.
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: II-VI family estimate
-- Confidence: Low
--
-- Reference:
-- https://doi.org/10.1109/16.381985
--
-- Comments:
-- II-VI family default. Direct carrier-specific hydrodynamic parameters are
-- scarce; use sensitivity analysis.
local enabled = true
local value = 1.000000e-12
return value, enabled
end
-- ZnS (wurtzite). The stable phase is zinc-blende; wurtzite ZnS is the
-- metastable 2H polytype. No complete 8-band Chuang-Chang/RSP wurtzite
-- k.p parameter set (A1..A6, Ep, S, deformation) exists for it in the
-- accessible literature, and even the crystal-field/spin-orbit values
-- are not authoritatively established in the wurtzite k.p context.
-- Everything is therefore disabled and returns 0.0. (The wurtzite
-- valence-band review, Solid State Commun. 1996, treats ZnS only at the
-- gamma1,gamma2 level - not a full A1..A6 set.)
Wurtzite crystal-field splitting delta1 (material.qw_delta1)
function material.qw_delta1(state)
-- Crystal-field splitting delta1. Units: eV.
-- enabled=false: not reliably established for wurtzite ZnS.
--
-- V. A. Fonoberov, E. P. Pokatilov, and A. A. Balandin (and related
-- work), "Valence band parameters of wurtzite materials," Solid
-- State Communications (1996), PII S0038-1098(96)00282-7.
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite spin–orbit splitting delta2 (material.qw_delta2)
function material.qw_delta2(state)
-- Spin-orbit delta2 = Dso/3. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite spin–orbit splitting delta3 (material.qw_delta3)
function material.qw_delta3(state)
-- Spin-orbit delta3 = Dso/3. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite valence-band parameter A1 (material.qw_A1)
function material.qw_A1(state)
-- Wurtzite valence-band k.p parameter A1. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite valence-band parameter A2 (material.qw_A2)
function material.qw_A2(state)
-- Wurtzite valence-band k.p parameter A2. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite valence-band parameter A3 (material.qw_A3)
function material.qw_A3(state)
-- Wurtzite valence-band k.p parameter A3. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite valence-band parameter A4 (material.qw_A4)
function material.qw_A4(state)
-- Wurtzite valence-band k.p parameter A4. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite valence-band parameter A5 (material.qw_A5)
function material.qw_A5(state)
-- Wurtzite valence-band k.p parameter A5. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite valence-band parameter A6 (material.qw_A6)
function material.qw_A6(state)
-- Wurtzite valence-band k.p parameter A6. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite interband coupling energy Ep1 (material.qw_Ep1)
function material.qw_Ep1(state)
-- Kane energy || c. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite interband coupling energy Ep2 (material.qw_Ep2)
function material.qw_Ep2(state)
-- Kane energy perp c. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Quantum-well band-structure parameter S1 (material.qw_S1)
function material.qw_S1(state)
-- Conduction remote+free-electron parameter || c. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Quantum-well band-structure parameter S2 (material.qw_S2)
function material.qw_S2(state)
-- Conduction remote+free-electron parameter perp c. Units: dimensionless (hbar^2/2m0).
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Quantum-well parameter a1 (material.qw_a1)
function material.qw_a1(state)
-- Conduction-band deformation potential || c. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Quantum-well parameter a2 (material.qw_a2)
function material.qw_a2(state)
-- Conduction-band deformation potential perp c. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite deformation potential D1 (material.qw_D1)
function material.qw_D1(state)
-- Valence-band deformation potential D1. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite deformation potential D2 (material.qw_D2)
function material.qw_D2(state)
-- Valence-band deformation potential D2. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite deformation potential D3 (material.qw_D3)
function material.qw_D3(state)
-- Valence-band deformation potential D3. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite deformation potential D4 (material.qw_D4)
function material.qw_D4(state)
-- Valence-band deformation potential D4. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite deformation potential D5 (material.qw_D5)
function material.qw_D5(state)
-- Valence-band deformation potential D5. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite deformation potential D6 (material.qw_D6)
function material.qw_D6(state)
-- Valence-band deformation potential D6. Units: eV.
-- enabled=false: see qw_delta1 (ZnS).
local enabled = false
local value = 0.0
return value, enabled
end
Lattice constant a (material.lattice_a)
function material.lattice_a(state)
-- Lattice constant, a-axis
-- Units: m
--
-- Reference:
-- O. Madelung, "Semiconductors: Data Handbook," 3rd ed.,
-- Springer (2004), DOI: 10.1007/978-3-642-18865-7.
--
-- Notes:
-- Cubic zinc-blende ZnS (sphalerite, space group F-43m), the stable
-- bulk phase at room temperature. Cubic cell edge a = 5.4102 Angstrom
-- at ~300 K (for a cubic crystal the a-axis is the cell edge).
-- If your ZnS model is instead wurtzite, use a = 3.8226 Angstrom
-- (3.8226e-10 m) for the a-axis (c = 6.2605 Angstrom).
-- Room-temperature value.
local enabled = true
local value = 5.4102e-10
return value, enabled
end
Quantum-well elastic stiffness constant C11 (material.qw_C11)
function material.qw_C11(state)
-- Elastic stiffness constant C11
-- Units: Pa
--
-- Crystal phase: wurtzite (hexagonal) ZnS.
--
-- Reference:
-- M. Grunwald, A. Zayak, J. B. Neaton, P. L. Geissler, E. Rabani,
-- "Transferable pair potentials for CdS and ZnS crystals,"
-- J. Chem. Phys. 136, 234111 (2012), Table 2 (experimental comparison
-- column; the table attributes its experimental values collectively to
-- Berlincourt et al. 1963, Corll 1967 and others without per-entry
-- labels).
--
-- Notes:
-- Experimental comparison values for wurtzite ZnS from the cited table
-- (primary sources attributed collectively; individual entries not
-- traced to a single measurement). Values in GPa -> x 1e9 Pa.
-- Full set: C11 131.2, C12 66.3, C13 50.9, C33 140.8, C44 28.6 GPa.
local enabled = true
local value = 131.2e9
return value, enabled
end
Quantum-well elastic stiffness constant C12 (material.qw_C12)
function material.qw_C12(state)
-- Elastic stiffness constant C12
-- Units: Pa
--
-- Crystal phase: wurtzite (hexagonal) ZnS.
--
-- Reference:
-- M. Grunwald, A. Zayak, J. B. Neaton, P. L. Geissler, E. Rabani,
-- "Transferable pair potentials for CdS and ZnS crystals,"
-- J. Chem. Phys. 136, 234111 (2012), Table 2 (experimental comparison
-- column; the table attributes its experimental values collectively to
-- Berlincourt et al. 1963, Corll 1967 and others without per-entry
-- labels).
--
-- Notes:
-- Experimental comparison values for wurtzite ZnS from the cited table
-- (primary sources attributed collectively; individual entries not
-- traced to a single measurement). Values in GPa -> x 1e9 Pa.
-- Full set: C11 131.2, C12 66.3, C13 50.9, C33 140.8, C44 28.6 GPa.
local enabled = true
local value = 66.3e9
return value, enabled
end
Quantum-well elastic stiffness constant C13 (material.qw_C13)
function material.qw_C13(state)
-- Elastic stiffness constant C13
-- Units: Pa
--
-- Crystal phase: wurtzite (hexagonal) ZnS.
--
-- Reference:
-- M. Grunwald, A. Zayak, J. B. Neaton, P. L. Geissler, E. Rabani,
-- "Transferable pair potentials for CdS and ZnS crystals,"
-- J. Chem. Phys. 136, 234111 (2012), Table 2 (experimental comparison
-- column; the table attributes its experimental values collectively to
-- Berlincourt et al. 1963, Corll 1967 and others without per-entry
-- labels).
--
-- Notes:
-- Experimental comparison values for wurtzite ZnS from the cited table
-- (primary sources attributed collectively; individual entries not
-- traced to a single measurement). Values in GPa -> x 1e9 Pa.
-- Full set: C11 131.2, C12 66.3, C13 50.9, C33 140.8, C44 28.6 GPa.
local enabled = true
local value = 50.9e9
return value, enabled
end
Quantum-well elastic stiffness constant C33 (material.qw_C33)
function material.qw_C33(state)
-- Elastic stiffness constant C33
-- Units: Pa
--
-- Crystal phase: wurtzite (hexagonal) ZnS.
--
-- Reference:
-- M. Grunwald, A. Zayak, J. B. Neaton, P. L. Geissler, E. Rabani,
-- "Transferable pair potentials for CdS and ZnS crystals,"
-- J. Chem. Phys. 136, 234111 (2012), Table 2 (experimental comparison
-- column; the table attributes its experimental values collectively to
-- Berlincourt et al. 1963, Corll 1967 and others without per-entry
-- labels).
--
-- Notes:
-- Experimental comparison values for wurtzite ZnS from the cited table
-- (primary sources attributed collectively; individual entries not
-- traced to a single measurement). Values in GPa -> x 1e9 Pa.
-- Full set: C11 131.2, C12 66.3, C13 50.9, C33 140.8, C44 28.6 GPa.
local enabled = true
local value = 140.8e9
return value, enabled
end
Quantum-well elastic stiffness constant C44 (material.qw_C44)
function material.qw_C44(state)
-- Elastic stiffness constant C44
-- Units: Pa
--
-- Crystal phase: wurtzite (hexagonal) ZnS.
--
-- Reference:
-- M. Grunwald, A. Zayak, J. B. Neaton, P. L. Geissler, E. Rabani,
-- "Transferable pair potentials for CdS and ZnS crystals,"
-- J. Chem. Phys. 136, 234111 (2012), Table 2 (experimental comparison
-- column; the table attributes its experimental values collectively to
-- Berlincourt et al. 1963, Corll 1967 and others without per-entry
-- labels).
--
-- Notes:
-- Experimental comparison values for wurtzite ZnS from the cited table
-- (primary sources attributed collectively; individual entries not
-- traced to a single measurement). Values in GPa -> x 1e9 Pa.
-- Full set: C11 131.2, C12 66.3, C13 50.9, C33 140.8, C44 28.6 GPa.
local enabled = true
local value = 28.6e9
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:
-- Audit marks ZnS as wurtzite. Optical-phonon and dielectric data
-- verified in this pass (Berlincourt 1963; neutron/IR in Gopal et al.)
-- refer to cubic (sphalerite) ZnS and must not be reused for the
-- hexagonal phase. No verified wurtzite-ZnS value 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:
-- Audit marks ZnS as wurtzite. Optical-phonon and dielectric data
-- verified in this pass (Berlincourt 1963; neutron/IR in Gopal et al.)
-- refer to cubic (sphalerite) ZnS and must not be reused for the
-- hexagonal phase. No verified wurtzite-ZnS value 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:
-- Audit marks ZnS as wurtzite. Optical-phonon and dielectric data
-- verified in this pass (Berlincourt 1963; neutron/IR in Gopal et al.)
-- refer to cubic (sphalerite) ZnS and must not be reused for the
-- hexagonal phase. No verified wurtzite-ZnS value identified.
local enabled = false
local value = 0.0
return value, enabled
end
Wurtzite piezoelectric coefficient e15 (material.qw_e15)
function material.qw_e15(state)
-- Wurtzite piezoelectric stress coefficient e15
-- Units: C m^-2
--
-- No sufficiently reliable value/reference identified.
-- Disabled rather than estimated.
--
-- Notes:
-- Wurtzite ZnS piezoelectric constants are scarce (bulk wurtzite ZnS
-- crystals are usually polytype-mixed); no e15/e31/e33 set with a
-- verified primary source and sign convention was found.
local enabled = false
local value = 0.0
return value, enabled
end
Piezoelectric coefficient e31 (material.e31)
function material.e31(state)
-- Wurtzite piezoelectric stress coefficient e31
-- Units: C m^-2
--
-- No sufficiently reliable value/reference identified.
-- Disabled rather than estimated.
--
-- Notes:
-- Wurtzite ZnS piezoelectric constants are scarce (bulk wurtzite ZnS
-- crystals are usually polytype-mixed); no e15/e31/e33 set with a
-- verified primary source and sign convention was found.
local enabled = false
local value = 0.0
return value, enabled
end
Piezoelectric coefficient e33 (material.e33)
function material.e33(state)
-- Wurtzite piezoelectric stress coefficient e33
-- Units: C m^-2
--
-- No sufficiently reliable value/reference identified.
-- Disabled rather than estimated.
--
-- Notes:
-- Wurtzite ZnS piezoelectric constants are scarce (bulk wurtzite ZnS
-- crystals are usually polytype-mixed); no e15/e31/e33 set with a
-- verified primary source and sign convention was found.
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.
-- ============================================================================