Best way to strain crystal and calculate dielectric tensor


I would just strain the structure before you run the dielectric workflow, not use a powerup.

In detail I guess it depends on the type of strain you want to use. For e.g. hydrostatic pressure you could run a bulk modulus workflow (from atomate.vasp.workflows.base.bulk_modulus import get_wf_bulk_modulus) first and then change the volume of the structure according to the volume that gives you +/- 25kbar of strain using the equation of state. Just note that I believe that this workflow is somewhat broken at the moment (see this post).

You might also have a look at atomate.vasp.workflows.base.elastic to get default strain states.

Hope that helps a bit, Michael