From 5d7e7e41b1b4180c94546eeaa9e0cad892512729 Mon Sep 17 00:00:00 2001 From: kokalj Date: Wed, 3 Aug 2016 15:11:04 +0000 Subject: [PATCH] making (tranforming) dynmat.x documentation to *.def form (( somebody was asking on pw_forum one or two months ago, how to display vibrational modes, which, I guess, was due to lack of proper doc )) git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12657 c92efa57-630b-4861-b058-cf58834340f0 --- PHonon/Doc/INPUT_DYNMAT.def | 143 ++++++++++++++++++++++++++++++++++++ PHonon/Doc/Makefile | 12 ++- 2 files changed, 152 insertions(+), 3 deletions(-) create mode 100644 PHonon/Doc/INPUT_DYNMAT.def diff --git a/PHonon/Doc/INPUT_DYNMAT.def b/PHonon/Doc/INPUT_DYNMAT.def new file mode 100644 index 000000000..96c6c8c46 --- /dev/null +++ b/PHonon/Doc/INPUT_DYNMAT.def @@ -0,0 +1,143 @@ +input_description -distribution {Quantum Espresso} -package PWscf -program dynmat.x { + + toc {} + + intro { + Purpose of dynmat.x: + + - reads a dynamical matrix file produced by the phonon code + + - adds the non-analytical part (if Z* and epsilon are read from + file), applies the chosen Acoustic Sum Rule (if q=0) + + - diagonalise the dynamical matrix + + - calculates IR and Raman cross sections (if Z* and Raman + tensors are read from file, respectively) + + - writes the results to files, both for inspection and for + plotting + + + Structure of the input data: + ======================================================================== + + &INPUT + ...specs of namelist variables... + / + } + + namelist INPUT { + + var fildyn -type CHARACTER { + info { + input file containing the dynamical matrix + } + default { 'matdyn' } + } + + dimension q -start 1 -end 3 -type REAL { + info { + calculate LO modes (add non-analytic terms) along the direction q (Cartesian axis) + } + default { q = (0,0,0) } + } + + dimension amass -start 1 -end ntyp -type REAL { + info { + mass for each atom type + } + default { amass is read from file fildyn } + } + + var asr -type CHARACTER { + info { + Indicates the type of Acoustic Sum Rule imposed. + + Allowed values: + + - 'no': no Acoustic Sum Rules imposed (default) + + - 'simple': previous implementation of the asr used + (3 translational asr imposed by correction of + the diagonal elements of the dynamical matrix) + + - 'crystal': 3 translational asr imposed by optimized + correction of the dyn. matrix (projection) + + - 'one-dim': 3 translational asr + 1 rotational asr imposed + by optimized correction of the dyn. mat. (the + rotation axis is the direction of periodicity; it + will work only if this axis considered is one of + the Cartesian axis). + + - 'zero-dim': 3 translational asr + 3 rotational asr imposed + by optimized correction of the dyn. mat. + + Note that in certain cases, not all the rotational asr + can be applied (e.g. if there are only 2 atoms in a + molecule or if all the atoms are aligned, etc.). In + these cases the supplementary asr are canceled during + the orthonormalization procedure (see below). + + Finally, in all cases except 'no' a simple correction + on the effective charges is performed (same as in the + previous implementation). + } + } + + var axis -type INTEGER { + info { + indicates the rotation axis for a 1D system (1=Ox, 2=Oy, 3=Oz) + } + default { 3 } + } + + var lperm -type LOGICAL { + info { + if .true. then calculate Gamma-point mode contributions to + dielectric permittivity tensor + } + default { .false. } + } + + var lplasma -type LOGICAL { + info { + if .true. then calculate Gamma-point mode effective plasma + frequencies, automatically triggers lperm = .true. + } + default { .false. } + } + + var filout -type CHARACTER { + info { + output file containing phonon frequencies and normalized + phonon displacements (i.e. eigenvectors divided by the + square root of the mass and then normalized; they are + not orthogonal) + } + default { 'dynmat.out' } + } + + var fileig -type CHARACTER { + info { + output file containing phonon frequencies and eigenvectors + of the dynamical matrix (they are orthogonal) + } + default { ' ' } + } + var filmol -type CHARACTER { + info { + as above, in a format suitable for 'molden' + } + default { 'dynmat.mold' } + } + + var filxsf -type CHARACTER { + info { + as above, in axsf format suitable for xcrysden + } + default { 'dynmat.axsf' } + } + } +} diff --git a/PHonon/Doc/Makefile b/PHonon/Doc/Makefile index 8aa41006a..5a955acea 100644 --- a/PHonon/Doc/Makefile +++ b/PHonon/Doc/Makefile @@ -68,9 +68,8 @@ developer_man: developer_man.pdf @echo "" -defs: link_input_xx INPUT_PH.txt INPUT_PH.html link_on_main_doc -INPUT_PH.txt: %.txt: %.def - $(HELPDOC) $< +defs: link_input_xx INPUT_PH.txt INPUT_PH.html INPUT_DYNMAT.txt INPUT_DYNMAT.html link_on_main_doc + link_input_xx: @(if test ! -f input_xx.xsl; then \ (if test -f ../../dev-tools/input_xx.xsl; then \ @@ -83,6 +82,13 @@ link_input_xx: INPUT_PH.html: %.html: %.def input_xx.xsl $(HELPDOC) $< +INPUT_PH.txt: %.txt: %.def + $(HELPDOC) $< + +INPUT_DYNMAT.html: %.html: %.def input_xx.xsl + $(HELPDOC) $< +INPUT_DYNMAT.txt: %.txt: %.def + $(HELPDOC) $< link_on_main_doc: -( cd ../../Doc ; ln -fs ../PHonon/Doc/INPUT_PH.html . ; \