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