Next: 1.29 How do I
Up: 1. Howtos
Previous: 1.27 How do I
Contents
To compute the piezoelectric tensor, use the
what ='scf_piezo- electric_tensor' option
(see example25). This option
calls pw.x to perform Berry phase polarization calculations
over a set of distorted structures, using the input geometry as
the equilibrium reference. The code then calculates the derivatives
of the polarization with respect to strain to determine the
piezoelectric tensor components. If you need the code to first determine
the energy-minimum geometry, use
what='mur_lc_piezoelectric_tensor'.
Additionally, you can
compute the clamped-ion version of the tensor by setting
clamped_ions=.TRUE..
Unlike the full calculation, this requires a specific multi-step workflow
to ensure the internal coordinates are handled correctly.
Before running the piezoelectric calculation, you must determine
the relaxed atomic positions for each equilibrium configuration.
Perform a preliminary run using what='scf' or
what='mur_lc'.
This step generates the necessary atomic position files in the
restart directory.
Once the relaxation run is complete, you must manually move the data:
Copy the generated atomic position files into the restart
directory of the piezoelectric calculation.
To tell the code to strain these pre-calculated positions during
the piezoelectric run, activate the following flag in your input:
ltau_el_cons_from_file=.TRUE..
Next: 1.29 How do I
Up: 1. Howtos
Previous: 1.27 How do I
Contents
2026-08-13