ForceFieldRelaxMaker¶
- class atomate2.forcefields.jobs.ForceFieldRelaxMaker(name='Force field relax', force_field_name='MLFF.Forcefield', relax_cell=True, fix_symmetry=False, symprec=0.01, steps=500, relax_kwargs=<factory>, optimizer_kwargs=<factory>, calculator_kwargs=<factory>, task_document_kwargs=<factory>)[source]¶
Bases:
Maker
Base Maker to calculate forces and stresses using any force field.
Should be subclassed to use a specific force field. By default, the code attempts to use the self.force_field_name attr to look up a predefined forcefield. To overwrite this behavior, redefine self.calculator.
- Parameters:
name (str) – The job name.
force_field_name (str) – The name of the force field.
relax_cell (bool = True) – Whether to allow the cell shape/volume to change during relaxation.
fix_symmetry (bool = False) – Whether to fix the symmetry during relaxation. Refines the symmetry of the initial structure.
symprec (float = 1e-2) – Tolerance for symmetry finding in case of fix_symmetry.
steps (int) – Maximum number of ionic steps allowed during relaxation.
relax_kwargs (dict) – Keyword arguments that will get passed to
Relaxer.relax
.optimizer_kwargs (dict) – Keyword arguments that will get passed to
Relaxer()
.calculator_kwargs (dict) – Keyword arguments that will get passed to the ASE calculator.
task_document_kwargs (dict) – Additional keyword args passed to
ForceFieldTaskDocument()
.
- make(structure, prev_dir=None)[source]¶
Perform a relaxation of a structure using a force field.
- Parameters:
structure (.Structure) – pymatgen structure.
prev_dir (str or Path or None) –
- A previous calculation directory to copy output files from. Unused, just
added to match the method signature of other makers.
- Return type:
- property calculator: Calculator¶
ASE calculator, can be overwritten by user.