The what='scf_piezoelectric_tensor' option supports the standard (default) and advanced elastic algorithms with the same meaning as explained for the option what='scf_elastic_constants.
The input variables that control this option are:
frozen_ions: if .TRUE. the piezoelectric tensor is calculated
keeping the ions frozen in the strained positions.
Default: logical .FALSE.
decompose_piezo : if .TRUE. the piezoelectric tensor is decomposed into
a clamped ion and an atomic relaxation contributions.
The clamped ion term as well as the Born effective charges
must be calculated separately for each equilibrium geometry.
This flag takes the relaxed coordinates of each strained geometry
and use them to find the internal parameters. The latter are
derived with respect to strain for each strain type.
The plots shows the temperature (and pressure) dependence of
these internal parameters (within the ZSISA approximation).
This flag requires a iconstr_internal_ec for each strain type.
Default: .FALSE.
iconstr_internal_ec(1:strain_types): The constraint number that
determines which manifold is used to describe atomic
motion. The strain_types depend on the point group:they are
written on output.
Default: integer none (it must be set
if compute_duintde is .TRUE.).
ngeo_strain: the number of strained configurations used
for each strain type.
Default: integer 4
nppl: the number of k-points per line in Berry phase
calculations
Default: integer 21
delta_epsilon: the interval of strain values between two
geometries. To avoid a zero strain geometry
that might have a different symmetry ngeo_strain
must be even.
Default: real 0.005
If a file with the elastic constants is found on disk, the code computes also
the strain piezoelectric tensor
d7#7, m