ForceFieldTaskDocument¶
- class atomate2.forcefields.schemas.ForceFieldTaskDocument(*, forcefield_name=None, forcefield_version='Unknown', dir_name=None, included_objects=None, objects=None, is_force_converged=None, nsites=None, elements=None, nelements=None, composition=None, composition_reduced=None, formula_pretty=None, formula_anonymous=None, chemsys=None, volume=None, density=None, density_atomic=None, symmetry=None, structure=None, input=None, output=None, ase_calculator_name=None, state=None, energy_downhill=None, tags=None, entry=None)[source]¶
Bases:
AseStructureTaskDoc,ForceFieldMetaDocument containing information on atomistic manipulation using a force field.
- Parameters:
forcefield_name (str | None)
forcefield_version (str | None)
dir_name (str | None)
included_objects (list[AseObject] | None)
is_force_converged (bool | None)
nsites (int | None)
elements (list[Annotated[ElementTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, return_type=str, when_used=always)]] | None)
nelements (int | None)
composition (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)
composition_reduced (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)
formula_pretty (str | None)
formula_anonymous (str | None)
chemsys (str | None)
volume (float | None)
density (float | None)
density_atomic (float | None)
symmetry (SymmetryData | None)
structure (Structure)
input (InputDoc)
output (OutputDoc)
ase_calculator_name (str)
state (TaskState | None)
energy_downhill (bool | None)
entry (ComputedEntry | None)
- classmethod from_ase_compatible_result(ase_calculator_name, result, steps, calculator_meta=None, relax_kwargs=None, optimizer_kwargs=None, fix_symmetry=False, symprec=1e-2, ionic_step_data=('energy', 'forces', 'magmoms', 'stress', 'mol_or_struct'), store_trajectory=StoreTrajectoryOption.NO, tags=None, **task_document_kwargs)[source]¶
Create forcefield output for a task that has ASE-compatible outputs.
- Parameters:
ase_calculator_name (str) – Name of the ASE calculator used.
result (AseResult) – The output results from the task.
fix_symmetry (bool) – Whether to fix the symmetry of the ions during relaxation.
symprec (float) – Tolerance for symmetry finding in case of fix_symmetry.
calculator_meta (Optional, MLFF or dict or None) – Metadata about the calculator used.
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().ionic_step_data (tuple) – Which data to save from each ionic step.
store_trajectory (StoreTrajectoryOption) – whether to set the StoreTrajectoryOption
task_document_kwargs (dict) – Additional keyword args passed to
AseTaskDoc().
- Return type:
- model_config = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].