airsspy.jf.jobs#

Jobflow Makers for AIRSS searches and relaxations.

Both AirssSearchMaker and AirssRelaxMaker produce the same AirssJobDoc output type, supporting multi-structure jobs for high-throughput scenarios.

Module Contents#

Classes#

AirssSearchMaker

Run N build+relax cycles as a single jobflow job.

AirssRelaxMaker

Relax one or more provided structures as a single jobflow job.

AirssValidateMaker

Validate that required AIRSS executables are installed.

Data#

API#

airsspy.jf.jobs.logger#

‘getLogger(…)’

class airsspy.jf.jobs.AirssSearchMaker[source]#

Bases: jobflow.Maker

Run N build+relax cycles as a single jobflow job.

Generates N random structures from a seed using buildcell, then relaxes each one with CASTEP. All results are collected into a single AirssJobDoc.

name: str#

‘airss search’

n_structures: int#

50

executable: str#

‘castep.mpi’

build_timeout: int#

60

cycles: int#

4

max_fails: int#

2

max_iterations: int#

200

write_seed: bool#

True

stop_if_not_converged: bool#

False

code: str#

‘castep’

make(seed_name: str, seed_content: str, paraminput, project_name: str) jobflow.Response[source]#

Generate N random structures and relax them.

Args: seed_name: Name of the seed (without extension). seed_content: Content of the seed .cell file. paraminput: ParamInput instance for CASTEP. project_name: Project identifier for grouping results.

class airsspy.jf.jobs.AirssRelaxMaker[source]#

Bases: jobflow.Maker

Relax one or more provided structures as a single jobflow job.

Accepts lists of structures, names, and cell inputs. All structures share the same param input and project/seed metadata.

name: str#

‘airss relax’

executable: str#

‘castep.mpi’

cycles: int#

4

max_fails: int#

2

max_iterations: int#

200

stop_if_not_converged: bool#

False

code: str#

‘castep’

make(structures: list[pymatgen.core.Structure], struct_names: list[str], cellinputs: list, paraminput, project_name: str, seed_name: str) jobflow.Response[source]#

Relax N structures in a single job.

Args: structures: List of pymatgen Structure objects. struct_names: Corresponding structure names. cellinputs: Corresponding CellInput instances. paraminput: Shared ParamInput instance. project_name: Project identifier. seed_name: Seed name for metadata.

class airsspy.jf.jobs.AirssValidateMaker[source]#

Bases: jobflow.Maker

Validate that required AIRSS executables are installed.

name: str#

‘airss validate’

additional_exes: tuple#

()

required_exes: tuple#

(‘buildcell’, ‘castep_relax’, ‘castep2res’)

make() Optional[jobflow.Response][source]#

Check that all required executables are on PATH.