principia_materia.io_interface.jobs_db module
- class principia_materia.io_interface.jobs_db.JobsDB(root_directory, db_path, db_type, structure, table=None)
Bases:
object
Interface jobs with database.
- Parameters:
root_directory (str) – The root directory that hosts all the jobs of the series.
db_path (str) – Path to database.
db_type (str) – Type of the database, for example “sqlite”.
structure (Crystal or CrystalFTG object) – The primitive crystal structure. Input input is a CrystalFTG object, the primitive cell will be used.
- add_filter(key, value)
Add a filtering condition for database action (query/update/insert).
- Parameters:
key (str) – The name of the column.
value (str/int/float/array) – The filtering value of that column.
- create_job(jobname, supa, prefix=None, displacement=None, strain=None, velocities=None, append=False, dry_run=False)
Create a job with the given jobname in the database.
- 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, additional_filters={}, dry_run=False)
Create a series of jobs in database.
- Parameters:
jobnames (list of str) – The names of the jobs.
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=None, step_index=None)
Get 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.
step_index (int) – The step index of the job in an finite difference calculation.
- get_dielectric_tensor_from_job(jobname=None, step_index=None)
Get 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.
step_index (int) – The step index of the job in an finite difference calculation.
- get_energy_from_job(jobname=None, step_index=None)
Get the energy from the job.
- Parameters:
jobname (str) – The name of the job, as well as the directory name to create the job in.
step_index (int) – The step index of the job in an finite difference calculation.
- get_forces_from_job(jobname=None, step_index=None)
Get forces from the job.
- Parameters:
jobname (str) – The name of the job, as well as the directory name to create the job in.
step_index (int) – The step index of the job in an finite difference calculation.
- get_metadata_path(filename)
- get_results_from_jobs(jobnames, data_type, job_index_name=None)
Get results of a series of jobs from database.
- Parameters:
jobnames (list of str) – The names of the jobs.
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 prefix 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=None, step_index=None)
Get the stress from the job.
- Parameters:
jobname (str) – The name of the job, as well as the directory name to create the job in.
step_index (int) – The step index of the job in an finite difference calculation.
- remove_filter(key)
Remive a filtering condition from database action.
- Parameters:
key (str) – The name of the column.
- reset_filters()
Reset the database filters.
- save_metadata(filename, metadata, dry_run=False)
- save_table_info(info_table, data)
Save some generic information of the table that the jobs are created in to an information table.
- Parameters:
info_table (str) – The name of the information table.
data (dict) – The generic information to save in the information table.
- set_table(table)
Set name of the table to access.
- Parameters:
table (str) – Table name.
- property structure