matcalc._relaxation module
Relaxation properties.
- class RelaxCalc(calculator: Calculator | str, *, optimizer: Optimizer | str = 'FIRE', max_steps: int = 500, traj_file: str | None = None, interval: int = 1, fmax: float = 0.1, relax_atoms: bool = True, relax_cell: bool = True, cell_filter: Filter = <class 'ase.filters.FrechetCellFilter'>, cell_filter_kwargs: dict | None = None, perturb_distance: float | None = None, fix_symmetry: bool = False, fix_atoms: bool | list[int] = False, symprec: float = 0.001)[source]
Bases:
PropCalcA class to perform structural relaxation calculations using ASE (Atomic Simulation Environment).
This class facilitates structural relaxation by integrating with ASE tools for optimized geometry and/or cell parameters. It enables convergence on forces, stress, and total energy, offering customization for relaxation parameters and further enabling properties to be extracted from the relaxed structure.
- Parameters:
calculator – ASE calculator or universal model name string.
optimizer – ASE optimizer name or class.
max_steps – Maximum relaxation steps.
traj_file – Optional trajectory output path.
interval – Steps between trajectory writes.
fmax – Force convergence criterion (eV/Å).
relax_atoms – Relax atomic positions.
relax_cell – Relax cell with
cell_filter.cell_filter – Cell filter class (default
FrechetCellFilter).cell_filter_kwargs – Kwargs for the cell filter.
perturb_distance – Random displacement (Å) before relax, or None.
fix_symmetry – Constrain symmetry when True.
fix_atoms – Fix all atoms if True, or indices to fix.
symprec – Symmetry precision for
FixSymmetry.