principia_materia.io_interface.compute_job_series module
- class principia_materia.io_interface.compute_job_series.ComputeJobSeries(structure, root_directory, compute_engine, config_path=None, jobinput=None, joboutput=None)
- Bases: - object- Manage a series of jobs - Since many part of this package (for example, phonon irreducible derivatives computaiton), usually needs to create and read a series of calculations. - The series of jobs are assumed to have a hierarchical directory structure, that every job is in its own directory with the job name as the directory name. - Parameters:
- structure (Crystal or CrystalFTG object) – The primitive crystal structure. Input input is a CrystalFTG object, the primitive cell will be used. 
- root_directory (str) – The root directory that hosts all the jobs of the series. 
- compute_engine (str, or a subclass of principia_materia.io_interface.compute_job.ComputeJob) – The compute engine, for example “vasp” or VASPJob is referring to VASP DFT engine. 
- config_path (str, optional, default to None) – The path of the configuration file, it is used to create the series of jobs as a template. 
 
 - property config_path
 - create_directory(dirname, exists=False)
- Create directory inside root directory of the job series. - Parameters:
- dirname (str) – Directory name to create. 
 
 - create_job(jobname, supa, prefix=None, displacement=None, strain=None, velocities=None, append=False, dry_run=False)
- Create a job at the given jobname (jobname will be the directory name). - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
- supa (array of int, shape(dim, dim)) – The supercell matrix. 
- prefix (str, optional, default to None) – The prefixing directory of the job relative to the root directory of the job series. 
- displacement (array of float, optional, default to None) – The displacement to the crystal. 
- strain (array of float, shape(dim, dim), optional, default to None) – The strain matrix of the structure. 
- velocities (array of float, optional, default to None) – The initial velocities of the atoms of the crystal. 
- append (bool, optional, default to False) – If True, skip existing jobs. Otherwise, throw an error. 
- dry_run (bool, optional, default to False) – If True, don’t actually create the job. 
 
 
 - create_jobs(jobnames, supa, prefix=None, displacements=None, strain=None, velocities=None, append=False, job_index_name=None, dry_run=False)
- Create a series of jobs. - Parameters:
- jobnames (list of str) – The names of the jobs, as well as the directory name to create the jobs in. 
- supa (array of int, shape(dim, dim)) – The supercell matrix. 
- prefix (str, optional, default to None) – The prefixing directory of the jobs relative to the root directory of the job series. 
- displacements (array of float, optional, default to None) – The displacements to the crystal for the jobs. 
- strain (array of float, shape(dim, dim), optional, default to None) – The strain matrix of the structure. 
- velocities (array of float, optional, default to None) – The initial velocities of the atoms of the crystal for the jobs. 
- append (bool, optional, default to False) – If True, skip existing jobs. Otherwise, throw an error. 
- dry_run (bool, optional, default to False) – If True, don’t actually create the job. 
 
 
 - get_born_effective_charges_from_job(jobname, prefix=None)
- Parse Born effective charges from the job. - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
 
 - get_compute_job(jobname, prefix=None)
- Get the job from the given jobname (jobname would be the directory name). - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
 
 - get_dielectric_tensor_from_job(jobname, prefix=None)
- Parse the dielectric tensor from the job. - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
 
 - get_energy_from_job(jobname, prefix=None)
- Parse the energy from the job. - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
 
 - get_forces_from_job(jobname, prefix=None)
- Parse forces from the job. - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
 
 - get_metadata_path(filename)
- Get the path to save the metadata file in. - Parameters:
- filename (str) – The base name of metadata file. 
 
 - get_results_from_jobs(jobnames, data_type, prefix=None)
- Get results from a series of jobs. - Parameters:
- jobnames (list of str) – The names of the jobs, as well as the directory name to create the jobs in. 
- data_type (str) – The type of results to retrieve, can be “forces”, “energy”, “stress”, “born_effective_charges” or “dielectric_tensor”. 
- prefix (str, optional, default to None) – The prefixing directory of the jobs relative to the root directory of the job series. 
 
- Returns:
- data – The retrieved results from jobs. 
- Return type:
- array of float 
 
 - get_stress_from_job(jobname, prefix=None)
- Parse the stress from the job. - Parameters:
- jobname (str) – The name of the job, as well as the directory name to create the job in. 
 
 - save_metadata(filename, metadata, dry_run=False)
- Save metadata into a file in the root directory of job series. - Parameters:
- filename (str) – The base name of metadata file. 
- metadata (str) – The metadata to save in plain text. 
- dry_run (bool, optional, default to False) – If True, don’t actually create the metadata file. 
 
 
 - property series_exists
- Whether if the root directory exists. 
 - set_static_files(filenames, abspath=False)
- Set a list of static files to copy into the job directory. - Parameters:
- filenames (str of list of str) – The path names of the files to copy. 
- abspath (bool, optional, default to False) – Whether the input filenames are absolute path. 
 
 
 - property structure