Skip to content

dft.periodic_observables

Electronic observables derived from converged periodic SCF states.

import mlx_atomistic.dft.periodic_observables

class PeriodicDOSChannel
def __init__(label: str, state_density: mx.array, occupied_density: mx.array, expected_state_count: float, integrated_state_count: float, expected_electron_count: float, integrated_electron_count: float, fermi_level_hartree: float | None)

One total or physical-spin density-of-states channel.

Parameters

NameTypeDefaultDescription
labelstr
state_densitymx.array
occupied_densitymx.array
expected_state_countfloat
integrated_state_countfloat
expected_electron_countfloat
integrated_electron_countfloat
fermi_level_hartreefloat | None

Methods

def to_dict() -> dict[str, object]

Return a JSON-safe channel summary without sampled arrays.

Returns

  • dict[str, object]
class PeriodicDOSResult
def __init__(energies_hartree: mx.array, state_density_per_hartree: mx.array, occupied_density_per_hartree: mx.array, channels: tuple[PeriodicDOSChannel, ...], broadening_hartree: float, energy_window_hartree: tuple[float, float], fermi_level_hartree: float | None, fermi_level_convention: str, expected_state_count: float, integrated_state_count: float, expected_electron_count: float, integrated_electron_count: float)

Total and occupation-weighted periodic density of states.

Parameters

NameTypeDefaultDescription
energies_hartreemx.array
state_density_per_hartreemx.array
occupied_density_per_hartreemx.array
channelstuple[PeriodicDOSChannel, ...]
broadening_hartreefloat
energy_window_hartreetuple[float, float]
fermi_level_hartreefloat | None
fermi_level_conventionstr
expected_state_countfloat
integrated_state_countfloat
expected_electron_countfloat
integrated_electron_countfloat

Methods

def to_dict() -> dict[str, object]

Return a JSON-safe DOS summary without sampled arrays.

Returns

  • dict[str, object]
def periodic_density_of_states(source: PeriodicSCFResult, *, broadening_hartree: float = 0.01, energy_points: int = 2001, energy_window_hartree: tuple[float, float] | None = None) -> PeriodicDOSResult

Build total and occupation-weighted DOS from a converged periodic SCF.

Parameters

NameTypeDefaultDescription
sourcePeriodicSCFResultConverged scalar or collinear-spin periodic SCF result.
broadening_hartreefloat0.01Positive Gaussian standard deviation in Hartree.
energy_pointsint2001Number of uniformly spaced output energies.
energy_window_hartreetuple[float, float] | NoneNoneOptional explicit lower and upper energy bounds. The default spans every eigenvalue plus eight Gaussian widths.

Returns

  • PeriodicDOSResult — Shared-grid total and channel-resolved density of states.

Raises

  • TypeError — If source is not a periodic SCF result.
  • ValueError — If source state, broadening, grid, spectra, or occupations are invalid.