Skip to content

dft.periodic_scf

Public self-consistent and fixed-density periodic DFT entry points.

import mlx_atomistic.dft.periodic_scf

def run_periodic_band_structure(system: PeriodicDFTSystem, source: PeriodicSCFResult | PeriodicFrozenDensity, band_path: BandPath, *, n_bands: int | None = None, guard_bands: int = 0, config: PeriodicDavidsonConfig | None = None, xc_functional: ExchangeCorrelationFunctional | None = None, observer: RuntimeObserver | None = None) -> PeriodicBandStructureResult

Solve production periodic bands on top of a converged frozen density.

The ionic, Hartree, and exchange-correlation potentials are built once from source and reused unchanged at every path point.

Parameters

NameTypeDefaultDescription
systemPeriodicDFTSystemPeriodic GTH system matching the source SCF calculation.
sourcePeriodicSCFResult | PeriodicFrozenDensityConverged periodic SCF result or validated portable density.
band_pathBandPathExplicit reduced-coordinate k-point path.
n_bandsint | NoneNoneLowest bands to return. Defaults to occupied bands plus eight.
guard_bandsint0Extra unpublished states around the requested boundary.
configPeriodicDavidsonConfig | NoneNoneDavidson controls. Defaults to PeriodicDavidsonConfig.
xc_functionalExchangeCorrelationFunctional | NoneNoneExchange-correlation functional. Defaults to production PBE.
observerRuntimeObserver | NoneNoneOptional progress and work observer.

Returns

  • PeriodicBandStructureResult — Fixed-density band energies, residuals, bases, and compact eigenstates.

Raises

  • RuntimeError — If a path-point Davidson solve does not converge.
  • TypeError — If source has an unsupported type.
  • ValueError — If source, path, density, or band metadata are inconsistent.
def run_periodic_scf(system: PeriodicDFTSystem, *, cutoff_hartree: float, kpoint_mesh: KPointMesh, n_bands: int | None = None, config: PeriodicSCFConfig | None = None, xc_functional: ExchangeCorrelationFunctional | None = None, initial_density: mx.array | None = None, initial_coefficients: Sequence[mx.array] | None = None, observer: RuntimeObserver | None = None) -> PeriodicSCFResult

Run weighted self-consistent periodic plane-wave DFT.

Parameters

NameTypeDefaultDescription
systemPeriodicDFTSystemPeriodic GTH system.
cutoff_hartreefloatKinetic cutoff in Hartree.
kpoint_meshKPointMeshWeighted reduced-coordinate k-point mesh.
n_bandsint | NoneNoneNumber of computed bands. Fixed occupations default to half the electron count. Smearing requires enough additional bands to retain at least one partially empty state.
configPeriodicSCFConfig | NoneNoneSCF controls. Defaults to PeriodicSCFConfig.
xc_functionalExchangeCorrelationFunctional | NoneNoneExchange-correlation functional. Defaults to production PBE.
initial_densitymx.array | NoneNoneOptional starting density on the FFT grid.
initial_coefficientsSequence[mx.array] | NoneNoneOptional orbital stack per k-point.
observerRuntimeObserver | NoneNoneOptional progress, synchronized timing, and work observer.

Returns

  • PeriodicSCFResult — Periodic SCF result with complete weighted k-point diagnostics.