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

GaInAs material model

1. Introduction

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

Ga(1-x)In(x)As, x = In ~ 0.53 (lattice-matched to InP)

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

local material = {}

-- ---------------------------------------------------------------------------
-- NOTES ON GaInAs (read before using):
--
-- Ga(1-x)In(x)As, direct-gap III-V, zinc-blende. x is the In fraction:
--   x = 0    -> GaAs (1.42 eV)
--   x = 0.53 -> Ga0.47In0.53As, LATTICE-MATCHED to InP (a = 5.8697 A),
--               Eg ~ 0.74 eV (~1.65 um) - the telecom/HEMT workhorse
--               modelled here by default.
--   x = 1    -> InAs (0.35 eV)
-- Direct throughout. Off x = 0.53 the alloy is lattice-mismatched to InP, so
-- real layers are strained or metamorphic; values here are for relaxed alloy.
--
-- Distinctive features of the InP-matched composition, built in below:
--   * Very small electron mass (0.041 m0) -> very HIGH electron mobility
--     (~11000 cm^2/V/s) and the largest electron-to-hole mobility ratio (~40)
--     of any common semiconductor.
--   * Strong AUGER recombination at the 0.74 eV gap - a real limiter for
--     InGaAs/InP photodetectors and lasers.
--   * Low thermal conductivity from alloy phonon scattering.
--
-- Eg and lattice constant are computed from x; the remaining parameters are
-- given at x = 0.53 with GaAs/InAs end points noted for interpolation.
--
-- REFERENCES
-- [1]  I. Vurgaftman, J. R. Meyer, L. R. Ram-Mohan, J. Appl. Phys. 89, 5815
--      (2001). [end-point gaps, Varshni parameters, bowing b = 0.477 eV]
-- [2]  S. Adachi, "Physical Properties of III-V Semiconductor Compounds"
--      (1992) and "Properties of Semiconductor Alloys" (2009). [transport,
--      dielectric, thermal]
-- [3]  T. P. Pearsall (ed.), "GaInAsP Alloy Semiconductors", Wiley (1982);
--      Y. Takeda et al. [high electron mobility on InP]
-- [4]  O. Madelung, "Semiconductors: Data Handbook", Springer (2004).
-- ---------------------------------------------------------------------------

Material name (material.name)

function material.name()
	local enabled = true

	return "GaInAs", enabled
end

Material description (material.description)

function material.description()
	local enabled = true

	return "Ga(1-x)In(x)As, x = In ~ 0.53 (lattice-matched to InP)", enabled
end

Chemical formula (material.formula)

function material.formula()
	local enabled = true

	return "GaInAs", enabled
end

Band gap energy (material.Eg)

function material.Eg(state)
	-- Units: eV
	-- Refs: [1]
	--
	-- Direct gap. End-point Varshni fits [1]:
	--   GaAs: 1.519 - 0.5405e-3*T^2/(T+204)
	--   InAs: 0.417 - 0.276e-3 *T^2/(T+93)
	-- interpolated in In fraction x with bowing b = 0.477 eV:
	--   Eg(x,T) = (1-x)*Eg_GaAs + x*Eg_InAs - 0.477*x*(1-x).
	-- x = 0.53 -> 0.737 eV at 300 K (Ga0.47In0.53As, ~1.68 um). Change
	-- in_fraction here and in the functions noted in the header.

	local enabled = true
	local in_fraction = 0.53
	local x = in_fraction
	local T = state.T
	local eg_gaas = 1.519 - 0.5405e-3*T*T/(T + 204.0)
	local eg_inas = 0.417 - 0.276e-3*T*T/(T + 93.0)
	local value = (1.0 - x)*eg_gaas + x*eg_inas - 0.477*x*(1.0 - x)

	return value, enabled
end

Deformation potential Xi (material.Xi)

function material.Xi(state)
	-- Electron affinity
	-- Units: eV
	-- Refs: [2],[4]
	--
	-- ~4.58 eV at x = 0.53 (GaAs 4.07 -> InAs 4.90 eV). Large affinity, set
	-- by the deep conduction band of the In-rich alloy.

	local enabled = true
	local value = 4.58

	return value, enabled
end

Electron effective mass (material.me)

function material.me(state)
    local enabled = true
    local x = state.x     -- x = Ga fraction (VERIFY; GaInAs and InGaAs identical alloy)
    -- Gamma mass, InAs 0.026 -> GaAs 0.067. Slight downward bowing:
    -- true Ga0.47In0.53As ~0.041 vs linear 0.045 (Vurgaftman 2001).
    local value = 0.026 + 0.041*x
    return value, enabled
end

Hole effective mass (material.mh)

function material.mh(state)
    local enabled = true
    local x = state.x
    -- HH[001]: InAs 0.333 -> GaAs 0.35
    local value = 0.333 + 0.017*x
    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.041 m0 [2]
	--
	-- Nc = 2.509e25*(0.041)^1.5*(T/300)^1.5 = 2.1e23 m^-3 at 300 K
	-- (2.1e17 cm^-3) - small, reflecting the light electron mass that gives
	-- the high mobility. The band is strongly non-parabolic, so this is a
	-- parabolic approximation valid near the band edge.

	local enabled = true
	local T = state.T
	local value = 2.1e23*(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.45 m0 [2]
	--
	-- Nv = 2.509e25*(0.45)^1.5*(T/300)^1.5 = 7.6e24 m^-3 at 300 K
	-- (7.6e18 cm^-3).

	local enabled = true
	local T = state.T
	local value = 7.6e24*(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: [2],[3]
	--
	-- ~11000 cm^2/V/s = 1.1 m^2/V/s at 300 K for reasonably pure
	-- Ga0.47In0.53As - one of the highest of any technologically important
	-- semiconductor (small mass). Rises steeply at low T and with purity.
	-- The (300/T)^1.5 factor is an approximate lattice-limited dependence.

	local enabled = true
	local T = state.T
	local value = 1.1*(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: [2],[3]
	--
	-- ~300 cm^2/V/s = 0.03 m^2/V/s at 300 K. Note the electron-to-hole
	-- mobility ratio (~40) is the largest of any common semiconductor.
	-- (300/T)^1.5 approximate lattice-limited dependence.

	local enabled = true
	local T = state.T
	local value = 0.03*(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: [2],[4]
	--
	-- ~13.9 at x = 0.53 (GaAs 12.9 -> InAs 15.15).

	local enabled = true
	local value = 13.9

	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)
	--
	-- Direct-gap value ~1e-10 cm^3/s = 1e-16 m^3/s. Representative; 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: [3]
	--
	-- ~1e-28 cm^6/s = 1e-40 m^6/s. Ga0.47In0.53As/InP devices are known to
	-- suffer STRONG Auger at the 0.74 eV gap - it is a leading loss channel
	-- in InGaAs detectors and 1.5 um lasers and grows as the gap narrows
	-- (higher In). Scale up if modelling higher-In / longer-wavelength alloy.

	local enabled = true
	local value = 1.0e-40

	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: [3]
	--
	-- As auger_Cn: representative 1e-28 cm^6/s = 1e-40 m^6/s.

	local enabled = true
	local value = 1.0e-40

	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. Lattice-matched InGaAs/InP can be very high quality
	-- (long minority-carrier lifetime); set level and density 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.0e21

	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

Thermal conductivity (material.thermal_conductivity)

function material.thermal_conductivity(state)
	-- Thermal conductivity
	-- Units: W m^-1 K^-1
	-- Refs: [2]
	--
	-- ~5 W/m/K at x = 0.53 - LOW, from strong alloy (mass-disorder) phonon
	-- scattering, far below GaAs (~45) or InAs (~27 W/m/K). Weakly dependent
	-- in the alloy regime; (300/T)^0.5 is an approximate weak dependence.

	local enabled = true
	local T = state.T
	local value = 5.0*(300.0/T)^0.5

	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: [4]
	--
	-- ~320 J/kg/K near 300 K (interpolated GaAs ~330, InAs ~250 J/kg/K).

	local enabled = true
	local value = 320.0

	return value, enabled
end

Mass density (material.density)

function material.density(state)
	-- Mass density
	-- Units: kg m^-3
	-- Refs: [4]
	--
	-- ~5500 kg/m^3 at x = 0.53 (GaAs 5320 -> InAs 5680 kg/m^3).

	local enabled = true
	local value = 5500.0

	return value, enabled
end

Crystal lattice constant (material.lattice_constant)

function material.lattice_constant(state)
	-- Cubic lattice constant
	-- Units: m
	-- Refs: [1],[4]
	--
	-- Vegard: a(x) = 5.6533 + 0.405*x (angstrom), GaAs 5.6533 A ->
	-- InAs 6.0583 A. x = 0.53 -> 5.868 A, matching InP (5.8697 A) - this is
	-- the lattice-matching condition that makes Ga0.47In0.53As so useful.
	-- Linear thermal expansion ~5.7e-6 /K.

	local enabled = true
	local in_fraction = 0.53
	local x = in_fraction
	local T = state.T
	local a300 = (5.6533 + 0.405*x)*1.0e-10
	local expansion = 5.7e-6
	local value = a300*(1.0 + expansion*(T - 300.0))

	return value, enabled
end

Spin–orbit splitting energy (material.delta_so)

function material.delta_so(state)
	-- Spin-orbit splitting energy (Delta_SO)
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*0.341 + ((1.0-x))*0.39

	return value, enabled
end

Kane interband coupling energy (material.Ep)

function material.Ep(state)
	-- Kane energy E_P (optical matrix element parameter)
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*28.8 + ((1.0-x))*21.5

	return value, enabled
end

Luttinger parameter gamma1 (material.gamma1)

function material.gamma1(state)
	-- Luttinger parameter gamma1
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*6.98 + ((1.0-x))*20

	return value, enabled
end

Luttinger parameter gamma2 (material.gamma2)

function material.gamma2(state)
	-- Luttinger parameter gamma2
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*2.06 + ((1.0-x))*8.5

	return value, enabled
end

Luttinger parameter gamma3 (material.gamma3)

function material.gamma3(state)
	-- Luttinger parameter gamma3
	-- Units: dimensionless
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*2.93 + ((1.0-x))*9.2

	return value, enabled
end

Optical absorption coefficient (material.ac)

function material.ac(state)
	-- Conduction-band hydrostatic deformation potential a_c
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- VMR sign convention: interband hydrostatic deformation potential
	-- a_gap = a_c - a_v, with a_c negative and a_v tabulated positive.
	-- Sign preserved from source; no sign flip applied.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*-7.17 + ((1.0-x))*-5.08

	return value, enabled
end

Optical absorption / extinction parameter (material.av)

function material.av(state)
	-- Valence-band hydrostatic deformation potential a_v
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- VMR sign convention: a_v tabulated as a POSITIVE number; the
	-- interband hydrostatic deformation potential is a_gap = a_c - a_v.
	-- Sign preserved from source; no sign flip applied.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*1.16 + ((1.0-x))*1

	return value, enabled
end

Recombination parameter b (material.b)

function material.b(state)
	-- Valence-band shear (tetragonal) deformation potential b
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Sign convention as in VMR (b negative). Sign preserved; not flipped.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*-2 + ((1.0-x))*-1.8

	return value, enabled
end

Material parameter d (material.d)

function material.d(state)
	-- Valence-band shear (rhombohedral) deformation potential d
	-- Units: eV
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Sign convention as in VMR (d negative). Sign preserved; not flipped.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = (x)*-4.8 + ((1.0-x))*-3.6

	return value, enabled
end

Lattice constant a (material.lattice_a)

function material.lattice_a(state)
	-- Cubic (zincblende) lattice constant a
	-- Units: m
	--
	-- Reference:
	-- Vegard's law (linear) interpolation of GaAs, InAs endpoints,
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Endpoint a(T)=a300+da/dT*(T-300); linear (Vegard) mixing.

	local enabled = true
	local x = state.x
	local T = state.T
	local value = ((x)*(5.65325 + 3.88e-05*(T-300.0)) + ((1.0-x))*(6.0583 + 2.74e-05*(T-300.0)))*1e-10

	return value, enabled
end

Elastic stiffness constant C11 (material.C11)

function material.C11(state)
	-- Elastic stiffness constant C11
	-- Units: Pa
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = ((x)*122.1 + ((1.0-x))*83.29)*1e9

	return value, enabled
end

Elastic stiffness constant C12 (material.C12)

function material.C12(state)
	-- Elastic stiffness constant C12
	-- Units: Pa
	--
	-- Reference:
	-- Linear interpolation of binary endpoints GaAs, InAs from
	-- Vurgaftman, Meyer, Ram-Mohan, J. Appl. Phys. 89, 5815 (2001).
	--
	-- Note:
	-- Composition: Ga(x)In(1-x)As; x = Ga mole fraction.
	-- Linear interpolation of endpoints (no bowing applied).

	local enabled = true
	local x = state.x
	local value = ((x)*56.6 + ((1.0-x))*45.26)*1e9

	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:
    -- Composition mapping ambiguous: "GaInAs" is written in the literature
    -- both as Ga_x In_(1-x) As and as Ga_(1-x) In_x As, and the filename does
    -- not establish which one this file uses (a separate InGaAs file exists).

    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:
    -- Composition mapping ambiguous: "GaInAs" is written in the literature
    -- both as Ga_x In_(1-x) As and as Ga_(1-x) In_x As, and the filename does
    -- not establish which one this file uses (a separate InGaAs file exists).

    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:
    -- Composition mapping ambiguous: "GaInAs" is written in the literature
    -- both as Ga_x In_(1-x) As and as Ga_(1-x) In_x As, and the filename does
    -- not establish which one this file uses (a separate InGaAs file exists).

    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:
    -- Composition mapping ambiguous: "GaInAs" is written in the literature
    -- both as Ga_x In_(1-x) As and as Ga_(1-x) In_x As, and the filename does
    -- not establish which one this file uses (a separate InGaAs file exists).

    local enabled = false
    local value = 0.0

    return value, enabled
end

Piezoelectric coefficient e14 (material.e14)

function material.e14(state)
    -- Zincblende piezoelectric stress coefficient e14
    -- Units: C m^-2
    --
    -- No sufficiently reliable value/reference identified.
    -- Disabled rather than estimated.
    --
    -- Notes:
    -- Composition mapping ambiguous: "GaInAs" is written in the literature
    -- both as Ga_x In_(1-x) As and as Ga_(1-x) In_x As, and the filename does
    -- not establish which one this file uses (a separate InGaAs file exists).

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