Pwscf ===== Units ----- From http://www.quantum-espresso.org/input-syntax/INPUT_PW.html: "All quantities whose dimensions are not explicitly specified are in RYDBERG ATOMIC UNITS". See also ``constants.py``. matdyn.x and phonon dos: With dos=.true., matdyn.x calculates the phonon density of states. The frequency axis in the output file is f in cm^-1. Note that THIS IS NOT THE ANGULAR FREQUENCY omega = 2*pi*f!!! Therefore, if you calculate with this frequency as in "hbar*omega", then use f*2*pi! Atomic coordinates ------------------ In PWscf terms, alat = celldm(1) = lattice constant "a" in a.u. . A length in a.u. means a unit or Bohr = a0 = 0.52917720859 Angstrom. To calculate the PDOS, atomic coordinates from MD trajectories have to be in cartesian coordinates. You may have to transform them *before* using them to calculate the PDOS. See ``test/test_pdos.py`` ``test/test_pdos_coord_trans.py`` This is necessary if you have "ATOMIC_POSITIONS crystal". The scale (or unit: Bohr, Angstrom, ..., defined by celldm(1) or CELL_PARAMETERS) does not matter, b/c currently the integral area under the PDOS curve is normalized in pydos.*_pdos(). But coords MUST be cartesian! For your convenience, here is a list of all possible formats (from the Pwscf help):: allowed ATOMIC_POSITIONS units: alat : atomic positions are in cartesian coordinates, in units of the lattice parameter "a" (default) bohr : atomic positions are in cartesian coordinate, in atomic units (i.e. Bohr) angstrom: atomic positions are in cartesian coordinates, in Angstrom crystal : atomic positions are in crystal coordinates, i.e. in relative coordinates of the primitive lattice vectors Note: crystal coords are also called fractional coordinates (e.g. in Cif files). summary:: ATOMIC_POSITIONS angstrom -> cartesian angstrom ATOMIC_POSITIONS bohr -> cartesian a.u. ATOMIC_POSITIONS -> cartesian alat ATOMIC_POSITIONS alat -> cartesian alat ATOMIC_POSITIONS crystal -> crystal alat or crystal a.u. (see below) The unit of CELL_PARAMETERS is only important for ATOMIC_POSITIONS crystal:: if celldm(1) present -> CELL_PARAMETERS in alat -> crystal alat => CELL_PARAMETERS = real cell parameter divided by alat if not -> CELL_PARAMETERS in a.u. -> crystal a.u. => CELL_PARAMETERS are in Rydberg atomic units, i.e. in Bohr. Total force on atoms -------------------- Pwscf writes a "Total Force" after the "Forces acting on atoms" section . This value is kind of an RMS of the force matrix (f_ij, i=1,natoms j=1,2,3) printed. According to .../PW/forces.f90, variable "sumfor", the "Total Force" is:: sqrt(sum_ij f_ij^2) But this is not normalized to the number of atoms. Use crys.rms() or crys.rms3d() for MD runs where the RMS of each (f_ij) is:: sqrt( (sum_ij f_ij^2) / N ) with N = 3*natoms or N=natoms.