assyst.relaxations¶
Relaxation step of ASSYST.
- class assyst.relaxations.CellRelax(max_steps: int = 100, force_tolerance: float = 0.001, algorithm: Literal['LBFGS', 'BFGS', 'FIRE'] = 'LBFGS')[source]¶
Bases:
RelaxMinimize energy while keeping relative positions and volume constant.
- class assyst.relaxations.FullRelax(max_steps: int = 100, force_tolerance: float = 0.001, algorithm: Literal['LBFGS', 'BFGS', 'FIRE'] = 'LBFGS', pressure: float = 0.0)[source]¶
Bases:
RelaxMinimize energy with respect to internal positions and cell without constraints.
- class assyst.relaxations.Relax(max_steps: int = 100, force_tolerance: float = 0.001, algorithm: Literal['LBFGS', 'BFGS', 'FIRE'] = 'LBFGS')[source]¶
Bases:
objectMinimize energy with respect to internal positions.
Also used as a base class for all other relaxation classes.
- apply_filter_and_constraints(structure: Atoms)[source]¶
Hook to allow subclasses to add filters and constraints.
- class assyst.relaxations.SymmetryRelax(max_steps: int = 100, force_tolerance: float = 0.001, algorithm: Literal['LBFGS', 'BFGS', 'FIRE'] = 'LBFGS', pressure: float = 0.0)[source]¶
Bases:
RelaxMinimize energy with respect to internal positions and cell, while keeping space group fixed.
- class assyst.relaxations.VolumeRelax(max_steps: int = 100, force_tolerance: float = 0.001, algorithm: Literal['LBFGS', 'BFGS', 'FIRE'] = 'LBFGS', pressure: float = 0.0)[source]¶
Bases:
RelaxMinimize energy while keeping relative positions and cell shape constant.
- assyst.relaxations.relax(structures: Iterable[Atoms], settings: Relax, calculator: AseCalculatorConfig | Calculator) Iterator[Atoms][source]¶
Relax structures according the given relaxation settings.
Output structures have the final energy and force attached as ase’s SinglePointCalculator.
- Parameters:
structures (
collections.abc.Iterableofase.Atoms) – the structures to minimizesettings (
Relax) – the kind of relaxation to perform (position, volume, etc.)calculator (
AseCalculatorConfigorase.calculators.calculator.Calculator) – the energy/force engine to use
- Yields:
ase.Atoms– the corresponding relaxed configuration to each input structure