Skip to content

dft.periodic_density_volume

Portable periodic charge and magnetization density volumes.

import mlx_atomistic.dft.periodic_density_volume

class PeriodicDensityVolume
def __init__(cell_matrix_bohr: np.ndarray, positions_bohr: np.ndarray, symbols: tuple[str, ...], charge_density_electron_per_bohr3: np.ndarray, magnetization_density_electron_per_bohr3: np.ndarray | None, electron_count: float, integrated_magnetization: float | None, system_fingerprint: str)

Validated periodic scalar fields and their full-rank geometry.

Parameters

NameTypeDefaultDescription
cell_matrix_bohrnp.ndarray
positions_bohrnp.ndarray
symbolstuple[str, ...]
charge_density_electron_per_bohr3np.ndarray
magnetization_density_electron_per_bohr3np.ndarray | None
electron_countfloat
integrated_magnetizationfloat | None
system_fingerprintstr

Properties

  • cell_volume_bohr3 float — Return the right-handed cell volume in bohr cubed.
  • grid_shape tuple[int, int, int] — Return the stored fractional-grid shape.

Methods

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

Return a JSON-safe volume summary without field arrays.

Returns

  • dict[str, object]
def periodic_density_volume(system: PeriodicDFTSystem, source: PeriodicSCFResult) -> PeriodicDensityVolume

Build a portable density volume from a matching converged periodic SCF.

Parameters

NameTypeDefaultDescription
systemPeriodicDFTSystemPeriodic system that produced source.
sourcePeriodicSCFResultConverged scalar or collinear-spin SCF result.

Returns

  • PeriodicDensityVolume — Validated immutable charge and optional magnetization volume.

Raises

  • TypeError — If inputs use unsupported types.
  • ValueError — If convergence, fingerprint, shape, or normalization differ.
def read_periodic_density_volume(path: str | Path) -> PeriodicDensityVolume

Load and validate a portable periodic density volume without pickle.

Parameters

NameTypeDefaultDescription
pathstr | PathExisting density-volume NPZ file.

Returns

  • PeriodicDensityVolume — Validated immutable periodic density volume.

Raises

  • ValueError — If schema, inventory, metadata, arrays, or normalization are invalid.
def write_periodic_density_volume(path: str | Path, system: PeriodicDFTSystem, source: PeriodicSCFResult) -> Path

Atomically publish a portable no-pickle periodic density volume.

Parameters

NameTypeDefaultDescription
pathstr | PathPreviously absent output NPZ path.
systemPeriodicDFTSystemPeriodic system that produced source.
sourcePeriodicSCFResultConverged scalar or collinear-spin SCF result.

Returns

  • Path — Resolved published path.

Raises

  • FileExistsError — If the destination already exists.
  • ValueError — If the source cannot form a valid density volume.