Skip to content

dft.periodic_stress

Controlled finite-difference stress for periodic plane-wave DFT.

import mlx_atomistic.dft.periodic_stress

class PeriodicStressConfig
def __init__(mode: PeriodicStressMode = 'symmetric', strain_step: float = 0.001, electronic_response: PeriodicStressElectronicResponse = 'frozen_variational', variational_energy_tolerance: float = 5e-05, stress_consistency_tolerance: float = 2e-05, reuse_scf_state: bool = True, require_fixed_basis_topology: bool = True)

Shared controls for analytic stress and its numerical oracle.

Parameters

NameTypeDefaultDescription
modePeriodicStressMode'symmetric'isotropic, diagonal, or complete symmetric stress.
strain_stepfloat0.001Dimensionless central-difference oracle strain.
electronic_responsePeriodicStressElectronicResponse'frozen_variational'Oracle response: frozen_variational or diagnostic reconverged.
variational_energy_tolerancefloat5e-05Maximum base frozen-functional mismatch in Hartree.
stress_consistency_tolerancefloat2e-05Maximum oracle stress disagreement between primary and doubled frozen-variational strain steps.
reuse_scf_stateboolTrueSeed diagnostic reconverged oracle SCFs from the converged base density and compact orbitals.
require_fixed_basis_topologyboolTrueTransport the base integer-G topology in every oracle branch instead of reselecting at the cutoff.

Methods

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

Return canonical JSON-safe stress controls.

Returns

  • dict[str, object]
class PeriodicStressResult
def __init__(stress: np.ndarray, pressure: float, base_scf: PeriodicSCFResult, samples: tuple[PeriodicStressSample, ...], config: PeriodicStressConfig, elapsed_ms: float, scf_evaluations: int, continuation_density_uses: int, effective_strain_steps: dict[str, float] = dict(), base_variational_energy_error: float | None = None, stress_consistency_errors: dict[str, float] = dict(), method: Literal['analytic', 'finite_difference'] = 'finite_difference', base_energy_by_term: dict[str, float] = dict())

Compression-positive stress from a converged periodic free energy.

Parameters

NameTypeDefaultDescription
stressnp.ndarray
pressurefloat
base_scfPeriodicSCFResult
samplestuple[PeriodicStressSample, ...]
configPeriodicStressConfig
elapsed_msfloat
scf_evaluationsint
continuation_density_usesint
effective_strain_stepsdict[str, float]dict()
base_variational_energy_errorfloat | NoneNone
stress_consistency_errorsdict[str, float]dict()
methodLiteral['analytic', 'finite_difference']'finite_difference'
base_energy_by_termdict[str, float]dict()

Properties

  • pressure_gpa float — Return hydrostatic pressure in GPa.
  • stress_gpa np.ndarray — Return the compression-positive stress tensor in GPa.

Methods

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

Return a JSON-safe stress report without dense electronic arrays.

Returns

  • dict[str, object]
class PeriodicStressSample
def __init__(component: str, level: str, sign: int, strain: np.ndarray, energy: float, energy_by_term: dict[str, float], volume: float, scf_iterations: int | None, density_residual: float | None, energy_delta: float | None, used_density_continuation: bool, active_counts: tuple[int, ...])

One converged strained-energy sample.

Parameters

NameTypeDefaultDescription
componentstr
levelstr
signint
strainnp.ndarray
energyfloat
energy_by_termdict[str, float]
volumefloat
scf_iterationsint | None
density_residualfloat | None
energy_deltafloat | None
used_density_continuationbool
active_countstuple[int, ...]

Methods

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

Return a JSON-safe strained sample.

Returns

  • dict[str, object]
def periodic_analytic_stress(system: PeriodicDFTSystem, *, cutoff_hartree: float, kpoint_mesh: KPointMesh, n_bands: int | None = None, config: PeriodicStressConfig | None = None, scf_config: PeriodicSCFConfig | None = None, xc_functional: ExchangeCorrelationFunctional | None = None, observer: RuntimeObserver | None = None, base_result: PeriodicSCFResult | None = None) -> PeriodicStressResult

Evaluate compression-positive periodic stress by energy differentiation.

Parameters

NameTypeDefaultDescription
systemPeriodicDFTSystemPeriodic GTH system at the current cell.
cutoff_hartreefloatFixed plane-wave kinetic cutoff in Hartree.
kpoint_meshKPointMeshFixed reduced-coordinate k-point mesh.
n_bandsint | NoneNoneFixed computed band count.
configPeriodicStressConfig | NoneNoneTensor mode and analytic admission tolerances.
scf_configPeriodicSCFConfig | NoneNoneExact periodic SCF controls.
xc_functionalExchangeCorrelationFunctional | NoneNoneMLX PBE exchange-correlation functional.
observerRuntimeObserver | NoneNoneOptional shared runtime observer.
base_resultPeriodicSCFResult | NoneNoneOptional converged SCF state for the exact base system.

Returns

  • PeriodicStressResult — Analytic compression-positive stress and its converged base state.

Raises

  • TypeError — If public inputs have unsupported types.
  • ValueError — If state identity, energy reconciliation, or functional support fails.
def periodic_finite_difference_stress(system: PeriodicDFTSystem, *, cutoff_hartree: float, kpoint_mesh: KPointMesh, n_bands: int | None = None, config: PeriodicStressConfig | None = None, scf_config: PeriodicSCFConfig | None = None, xc_functional: ExchangeCorrelationFunctional | None = None, observer: RuntimeObserver | None = None, base_result: PeriodicSCFResult | None = None) -> PeriodicStressResult

Evaluate compression-positive periodic stress by central strain.

Parameters

NameTypeDefaultDescription
systemPeriodicDFTSystemPeriodic GTH system at the unstrained cell.
cutoff_hartreefloatFixed plane-wave kinetic cutoff in Hartree.
kpoint_meshKPointMeshFixed reduced-coordinate k-point mesh.
n_bandsint | NoneNoneFixed computed band count.
configPeriodicStressConfig | NoneNoneNumerical strain and topology controls.
scf_configPeriodicSCFConfig | NoneNoneExact periodic SCF controls.
xc_functionalExchangeCorrelationFunctional | NoneNoneExchange-correlation functional.
observerRuntimeObserver | NoneNoneOptional shared runtime observer.
base_resultPeriodicSCFResult | NoneNoneOptional converged SCF state for the exact base system.

Returns

  • PeriodicStressResult — Compression-positive stress, pressure, and every strained sample.

Raises

  • TypeError — If public inputs have unsupported types.
  • ValueError — If SCF convergence, identity, or plane-wave topology fails.