dragonfruit.clease.pyos module
- class dragonfruit.clease.pyos.Meta
Bases:
object- CLEASE_FINAL = 'clease_final'
- CLEASE_GROUP = 'clease_group'
- CLEASE_INITIAL = 'clease_initial'
- dragonfruit.clease.pyos.create_settings(init_args: Optional[dict] = None, final_group: Optional[str] = None) clease.settings.settings.ClusterExpansionSettings
Create cluster expansion settings. The resulting settings will have a database populated with all the initial structures along with any final structure if a final_group is specified.
- Parameters
init_args – optional init arguments to be passed when constructing the clease settings
final_group – the name a group to use as the ‘final’ structures inserted into the created database
- dragonfruit.clease.pyos.get_atoms(group: str = 'initial', initial=None, final_only=False) Sequence[ase.atoms.Atoms]
Get all the atoms in a particular clease group. Defaults to initial structures
- dragonfruit.clease.pyos.get_settings(settings_name: str) <class 'mincepy.builtins.Dict'>
- dragonfruit.clease.pyos.get_structure_settings() Mapping
Get the structure settings from the clease root
- dragonfruit.clease.pyos.import_ase_db(name: str, group: str = 'final', initial_directory: Optional[Union[str, pyos.os.types.PathLike]] = None, final_directory: Optional[Union[str, pyos.os.types.PathLike]] = None)
- dragonfruit.clease.pyos.init(message='This is a CLEASE project')
Initialise a new CLEASE project with an optional message. Will create a simple README file
- dragonfruit.clease.pyos.init_bulk(crystalstructure, a: float, c: Optional[float] = None, covera: Optional[float] = None, u: Optional[float] = None)
- dragonfruit.clease.pyos.internal_path() <class 'pyos.pathlib.Path'>
Path to where settings and other project related things are stored
- dragonfruit.clease.pyos.new_endpoints(concentration: clease.settings.concentration.Concentration, directory: Optional[Union[str, pyos.os.types.PathLike]] = None) Sequence[ase.atoms.Atoms]
- dragonfruit.clease.pyos.new_random_structures(num_to_generate=1, directory: Optional[Union[str, pyos.os.types.PathLike]] = None, **kwargs) Sequence[ase.atoms.Atoms]
Create structures that are different from any other that is currently in the database
- Parameters
num_to_generate – the number of random structures to generate
kwargs – these are passed to the crystal structure setting constructor along with the settings currently held in self.settings
- dragonfruit.clease.pyos.populate_database(settings: clease.settings.settings.ClusterExpansionSettings, generation_number=0, final_group: Optional[str] = None)
Given a clease database this call will populate it with initial structures and optionally corresponding final structures inserting into a given generation of an existing cluster settings.
- dragonfruit.clease.pyos.root() <class 'pyos.pathlib.Path'>
Find the root folder of the clease project
- dragonfruit.clease.pyos.save_settings(settings, settings_name: str) <class 'mincepy.builtins.Dict'>
- dragonfruit.clease.pyos.set_final(final: ase.atoms.Atoms, initial: ase.atoms.Atoms, group: str = 'final', directory: Optional[Union[str, pyos.os.types.PathLike]] = None, meta: Optional[dict] = None)
Set a structure as the final structure for a given initial
- dragonfruit.clease.pyos.set_initial(initial: ase.atoms.Atoms, directory: Optional[Union[str, pyos.pathlib.PurePath]] = None, meta: Optional[dict] = None)
Set initial atoms. No uniqueness check is made by this call
- dragonfruit.clease.pyos.submit_structures(structures: Union[ase.atoms.Atoms, Sequence[ase.atoms.Atoms]], group: str, command=None, log_level=20, **kwargs) Sequence[int]
Submit structures using the settings and group settings.
- Parameters
structures – Atoms or list of Atoms to be submitted
group – Name of the group settings to be used
command – The function or string to be passed into the minkipy task
kwargs – These are passed as overrides to the VASP settings dictionary
- dragonfruit.clease.pyos.submit_workflow(*structures: ase.atoms.Atoms, group: str = 'final', command=<function run_clease_pyos_workflow>, command_kwargs: typing.Optional[dict] = None, dynamic=True, workflow_factory: typing.Callable = <class 'dragonfruit.vasp.workflows.workflows.VolumeMetaConvergence'>, workflow_kwargs: typing.Optional[dict] = None, log_level=20, extra_settings: typing.Optional[dict] = None, queue_name: typing.Optional[str] = None, skip_duplicate_check: bool = False) Sequence[int]
Submit structures using the settings and group settings.
- Parameters
structures – Atoms or list of Atoms to be submitted
group – Name of the group settings to be used
command – The function or string to be passed into the minkipy task
command_kwargs – kwargs passed into the command option in the minkipy task. Default: {}
dynamic – Should the command be imported dynamically at runtime, or statically passed at creation time. For more information, see the documentaiton for minkipy.Task
workflow_factory – Workflow factory to be executed in the Task. Should take “atoms” and “atoms_settings” as positional arguments.
workflow_kwargs – Dictionary of key-value pairs to be passed on to the workflow class
log_level – Level for the logger capture in the minkipy Task. Default: logging.INFO
extra_settings – Dictionary with extra VASP settings. Overwrites default keys. Default: {}
queue_name – Name of the minki queue for submission. Default: None
skip_duplicate_check – forgo checking the queue for duplicate tasks? For more information, see the documentation for mincepy.Queue.submit. Default: False