dragonfruit.vasp.workflows package
Submodules
Module contents
- class dragonfruit.vasp.workflows.ConvergenceWorkflow(*_args, **_kwargs)
Bases:
dragonfruit.mince.process.Process,abc.ABC- abstract property atoms: ase.atoms.Atoms
Return the current final atoms objecct
- abstract property converged: bool
Check if the workflow is converged
- abstract create_copy(initial_atoms, initial_settings, *args, **kwargs)
Create a copy of self with new initial atoms and settings
- abstract get_vasp_task() Optional[<class 'dragonfruit.vasp.base.VaspTask'>]
Return the latest VaspTask. Returns None if it doesn’t have any yet.
- abstract property initial_atoms: ase.atoms.Atoms
Return the initial atoms object
- abstract property initial_settings: Dict[str, Any]
Return the initial settings dictionary
- abstract run() bool
Execute the workflow
- class dragonfruit.vasp.workflows.ConvergenceWorkflowChain(*_args, **_kwargs)
Bases:
dragonfruit.mince.process.Process,dragonfruit.ase_utils.AseVisualizable- ATTRS = (AttrSpec(name='_workflows', as_ref=True), 'workflow_args', 'workflow_kwargs', '_settings_changes', AttrSpec(name='_initial_atoms', as_ref=True), '_base_settings')
- TYPE_ID = UUID('6e8f7d41-8238-4330-9239-377e1a312359')
- property atoms: ase.atoms.Atoms
Return the current working atoms object
- property base_settings: Dict[str, Any]
- property converged: bool
We only consider the workflow converged when the final workflow is converged
- property current_workflow: <class 'dragonfruit.vasp.workflows.workflows.ConvergenceWorkflow'>
Get the current workflow for running
- get_vasp_task() Optional[<class 'dragonfruit.vasp.base.VaspTask'>]
Return the latest VaspTask. Returns None if it doesn’t have any yet.
- get_visualizable()
- property initial_atoms: ase.atoms.Atoms
- make_new_settings(changes: Dict[str, Any]) Dict[str, Any]
- make_new_workflow(settings_changes: Dict[str, Any]) <class 'dragonfruit.vasp.workflows.workflows.ConvergenceWorkflow'>
Make a new workflow, continuing from the final atoms of the previous workflow
- property num_settings: int
- property num_workflows: int
- run() None
Execute the workflow. Will resume from the last un-completed workflow, if any such exist. If all workflows are done, nothing will be done.
- property settings_changes: Dict[str, Any]
- property workflows
- class dragonfruit.vasp.workflows.SingleTaskWorkflow(*_args, **_kwargs)
Bases:
dragonfruit.vasp.workflows.workflows.ConvergenceWorkflow,dragonfruit.ase_utils.AseVisualizable- ATTRS = (AttrSpec(name='_vasp_task', as_ref=True), 'error_handlers', 'description', AttrSpec(name='_initial_atoms', as_ref=True), '_initial_settings')
- TYPE_ID = UUID('370a8705-d4cf-4f7b-b47e-d2e85a28576f')
- property atoms: ase.atoms.Atoms
Return the current final atoms objecct
- property converged: bool
Has the workflow converged?
- create_copy(initial_atoms, initial_settings, *args, **kwargs)
Create a copy of self with new initial atoms and settings
- get_vasp_task() <class 'dragonfruit.vasp.base.VaspTask'>
Return the latest VaspTask. Returns None if it doesn’t have any yet.
- get_visualizable()
- property initial_atoms: ase.atoms.Atoms
Return the initial atoms object
- property initial_settings: dict
Return the initial settings dictionary
- run() bool
Execute the workflow
- save_instance_state(saver) dict
Save the instance state of an object, should return a saved instance
- property vasp_task: <class 'dragonfruit.vasp.base.VaspTask'>
- class dragonfruit.vasp.workflows.VolumeMetaConvergence(*_args, **_kwargs)
Bases:
dragonfruit.vasp.workflows.workflows.ConvergenceWorkflow,dragonfruit.ase_utils.AseVisualizable- ATTRS = ('volume_threshold', 'max_iter', '_task_list', 'error_handlers', 'description')
- TYPE_ID = UUID('d2bdda75-9de2-488b-9d05-90f52d467f31')
- property atoms: ase.atoms.Atoms
Return the current final atoms objecct
- property atoms_history
Get a list of all the atoms from this workflow (spanning all tasks)
- property converged: bool
Check if the workflow is converged
- create_copy(initial_atoms, initial_settings, *args, **kwargs)
Create a copy of self with new initial atoms and settings
- get_vasp_task() Optional[<class 'dragonfruit.vasp.base.VaspTask'>]
Return the latest VaspTask. Returns None if it doesn’t have any yet.
- get_visualizable()
- property initial_atoms
Return the initial atoms of the workflow
- property initial_settings
Return the initial settings of the workflow
- run() bool
Run the meta converger workchain. Returns a boolean indicating if convergence was reached
- save_instance_state(saver) dict
Save the instance state of an object, should return a saved instance
- property task_list: Sequence[<class 'dragonfruit.vasp.base.VaspTask'>]
- dragonfruit.vasp.workflows.create_next_run(vasp_task: <class 'dragonfruit.vasp.base.VaspTask'>) <class 'dragonfruit.vasp.base.VaspRun'>
Create a new VaspRun, either by constructing a new VaspRun on the initial, or applying restarters on the latest vasp_run
- dragonfruit.vasp.workflows.create_restart(vasp_task: <class 'dragonfruit.vasp.base.VaspTask'>) <class 'dragonfruit.vasp.base.VaspRun'>
Apply the restarter objects from a VaspTask, and return a new VaspRun
- dragonfruit.vasp.workflows.run_with_restart(vasp_task: <class 'dragonfruit.vasp.base.VaspTask'>) <class 'dragonfruit.vasp.base.VaspRun'>
Run a vasp task, applying the restarters until convergence or a failure Returns the final VaspRun object, which achieved convergence