Cs2AgBiBr6 material model
1. Introduction
This page contains the OghmaNano material model for Cs2AgBiBr6 (Cs2AgBiBr6).
Caesium silver bismuth bromide (Cs2AgBiBr6), lead-free cubic double perovskite (indirect-gap 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
-- See end of file for copyright, licensing and documentation links.
local material = {}
function material.name()
local enabled = true
return "Cs2AgBiBr6", enabled
end
function material.description()
local enabled = true
return "Caesium silver bismuth bromide (Cs2AgBiBr6), lead-free cubic double perovskite (indirect-gap absorber)", enabled
end
function material.formula()
local enabled = true
return "Cs2AgBiBr6", enabled
end
function material.Eg(state)
-- Units: eV
--
-- Reference:
-- A. H. Slavney, T. Hu, A. M. Lindenberg, H. I. Karunadasa,
-- "A Bismuth-Halide Double Perovskite with Long Carrier
-- Recombination Lifetimes for Photovoltaic Applications",
-- J. Am. Chem. Soc. 138, 2138-2141, 2016.
--
-- INDIRECT gap ~1.95-2.0 eV at 300 K (the lowest direct transition
-- lies higher). A value of 2.0 eV is used.
--
-- Note: the indirect nature limits absorption near the edge and is
-- one reason single-junction efficiencies are modest despite the
-- long carrier lifetimes. Constant value; T-dependence not well
-- characterised.
local enabled = true
local value = 2.0
return value, enabled
end
function material.Xi(state)
-- Electron affinity
-- Units: eV
--
-- Reference:
-- Photoemission / band-alignment studies of Cs2AgBiBr6.
--
-- Conduction-band minimum ~ -3.9 eV vs vacuum (electron affinity
-- ~3.9 eV); with Eg ~2.0 eV the valence band is near ~ -5.9 eV.
-- Reported band positions scatter by several tenths of an eV.
-- Approximate.
local enabled = true
local value = 3.9
return value, enabled
end
function material.Nc(state)
-- Effective conduction-band density of states
-- Units: m^-3
--
-- Note: heavier, more localised bands than the lead iodides
-- (indirect, mixed Ag/Bi character). Order-of-magnitude
-- placeholder from m* of order ~0.3-0.5 m0.
local enabled = true
local T = state.T
local value = 5.0e24*(T/300.0)^1.5
return value, enabled
end
function material.Nv(state)
-- Effective valence-band density of states
-- Units: m^-3
--
-- Note: order-of-magnitude placeholder; see Nc note.
local enabled = true
local T = state.T
local value = 5.0e24*(T/300.0)^1.5
return value, enabled
end
function material.mu_e(state)
-- Low-field electron mobility
-- Units: m^2 V^-1 s^-1
--
-- Reference:
-- Transport studies of Cs2AgBiBr6 single crystals and films.
--
-- Mobility is modest (single-crystal ~0.5-12 cm^2/V/s; films
-- lower). A representative 1 cm^2/V/s = 1e-4 m^2/V/s is used with a
-- (300/T)^1.5 phonon form. Approximate.
local enabled = true
local T = state.T
local value = 1.0e-4*(300.0/T)^1.5
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
--
-- Note: comparable to or below the electron value; not tightly
-- constrained. 1 cm^2/V/s = 1e-4 m^2/V/s with (300/T)^1.5.
-- Approximate.
local enabled = true
local T = state.T
local value = 1.0e-4*(300.0/T)^1.5
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
--
-- Reference:
-- Dielectric studies of Cs2AgBiBr6.
--
-- Frequency-dependent: high-frequency epsilon_inf ~4.5-5.5; the
-- low-frequency (ionic) value is higher, ~30-60. A low-frequency
-- value ~30 is used for drift-diffusion. Approximate.
local enabled = true
local value = 30.0
return value, enabled
end
function material.free_to_free_recombination(state)
-- Radiative (band-to-band) recombination coefficient
-- Units: m^3 s^-1
--
-- Note: Cs2AgBiBr6 is an INDIRECT-gap semiconductor, so intrinsic
-- band-to-band radiative recombination is weak (this is linked to
-- its long carrier lifetimes). Weak, poorly constrained
-- placeholder ~1e-18 m^3/s (well below the direct-gap lead
-- halides). Approximate.
local enabled = true
local value = 1.0e-18
return value, enabled
end
function material.auger_Cn(state)
-- Electron Auger recombination coefficient
-- Units: m^6 s^-1
--
-- Note: not well characterised. Order-of-magnitude placeholder.
local enabled = true
local value = 1.0e-42
return value, enabled
end
function material.auger_Cp(state)
-- Hole Auger recombination coefficient
-- Units: m^6 s^-1
--
-- Note: order-of-magnitude placeholder; see Cn note.
local enabled = true
local value = 1.0e-42
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 band).
-- Negative values are below mid-gap (towards the valence band).
local enabled = true
local value = 0.0
return value, enabled
end
function material.ss_srh_Nt(state)
-- SRH trap density
-- Units: m^-3
--
-- Note: often the dominant recombination channel in this indirect
-- absorber. Quality-dependent placeholder; set from measured
-- lifetime.
local enabled = true
local value = 1.0e21
return value, enabled
end
function material.ss_srh_sigma_n(state)
-- Electron capture cross section
-- Units: m^2
local enabled = true
local value = 1.0e-19
return value, enabled
end
function material.ss_srh_sigma_p(state)
-- Hole capture cross section
-- Units: m^2
local enabled = true
local value = 1.0e-19
return value, enabled
end
function material.thermal_conductivity(state)
-- Thermal conductivity
-- Units: W m^-1 K^-1
--
-- Note: ultralow, like other halide perovskites, ~0.3-0.5 W/m/K
-- (strong anharmonicity). A value of 0.4 W/m/K is used.
-- Approximate.
local enabled = true
local value = 0.4
return value, enabled
end
function material.heat_capacity(state)
-- Specific heat capacity
-- Units: J kg^-1 K^-1
--
-- Note: ~300 J/kg/K used as a representative placeholder (limited
-- calorimetric data). Approximate.
local enabled = true
local value = 300.0
return value, enabled
end
function material.density(state)
-- Mass density
-- Units: kg m^-3
--
-- Reference:
-- A. H. Slavney et al., J. Am. Chem. Soc. 138, 2138, 2016
-- (structure). Cs2AgBiBr6 rho ~ 4.6 g/cm^3.
local enabled = true
local value = 4600.0
return value, enabled
end
function material.lattice_constant(state)
-- Cubic lattice constant
-- Units: m
--
-- Reference:
-- A. H. Slavney et al., J. Am. Chem. Soc. 138, 2138, 2016.
--
-- Cs2AgBiBr6 IS cubic (double-perovskite / elpasolite, Fm-3m) at
-- room temperature, so this is a genuine cubic lattice constant:
-- a = 11.25 A at 300 K. The large cell reflects the rock-salt
-- ordering of Ag and Bi on the B-sites (doubled perovskite cell).
local enabled = true
local value = 11.25e-10
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)))
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.
-- ============================================================================