emmet.builders.materials.elasticity

Builder to generate elasticity docs.

The build proceeds in the below steps: 1. Use materials builder to group tasks according the formula, space group, and

structure matching.

  1. Filter opt and deform tasks by calc type.

  2. Filter opt and deform tasks to match prescribed INCAR params.

  3. Group opt tasks by optimized lattice, and, for each group, select the latest task (the one with the newest completing time). This result in a {lat, opt_task} dict.

  4. Group deform tasks by parent lattice (i.e. lattice before a deformation gradient is applied). For each lattice group, then group the tasks by deformation gradient, and select the latest task for each deformation gradient. This result in a {lat, [deform_task]} dict, where [deform_task] are tasks with unique deformation gradients.

  5. Associate opt and deform tasks by matching parent lattice. Then select the one with the most deformation tasks as the final data for fitting the elastic tensor.

  6. Fit the elastic tensor.

Functions

filter_by_incar_settings

Filter tasks by incar parameters.

filter_deform_tasks

filter_deform_tasks_by_time

For deformation tasks with the same deformation, select the latest completed one.

filter_opt_tasks

filter_opt_tasks_by_time

Filter a set of tasks to select the latest completed one.

group_by_parent_lattice

Groups a set of task docs by parent lattice equivalence.

select_final_opt_deform_tasks

Select the final opt task and deform tasks for fitting.

Classes

ElasticityBuilder

TYPE_CHECKING

bool(x) -> bool