From 67b63dbe9995ea52d17c2b57ce1910d44488a0e3 Mon Sep 17 00:00:00 2001 From: giannozz Date: Tue, 22 Nov 2011 15:45:31 +0000 Subject: [PATCH] Documentation updated git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8275 c92efa57-630b-4861-b058-cf58834340f0 --- Doc/developer_man.tex | 11 +++++++++++ Doc/release-notes | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/Doc/developer_man.tex b/Doc/developer_man.tex index b7d70e699..545331e96 100644 --- a/Doc/developer_man.tex +++ b/Doc/developer_man.tex @@ -1099,6 +1099,17 @@ CMPLX(...,...,KIND=dp). For complex conjugate, use CONJG. For imaginary part, use AIMAG. IMPORTANT: Do not use REAL or CMPLX without KIND=dp, or else you will lose precision (except when you take the real part of a double precision complex number). +\item Do not use automatic arrays (e.g. \texttt{REAL(DP) :: A(N}} +in a subroutine) except if you are sure that the array is small in all +cases: you may easily exceed the stack size if the arrays are large. +\item Do not use pointers unless you have a good reason to: +allocatable arrays should be used instead. +\item If you use pointers, nullify them before performing tests on their +status. +\item Do not pass unallocated arrays ar arguments, even in those cases where +they are not actually used inside the subroutine. +\item Do not use any construct that is susceptible to be flagged as +out-of-bounds error, even if no actual out-of-bound error takes place. \end{itemize} \subsection{Adding or modifying input variables} diff --git a/Doc/release-notes b/Doc/release-notes index 3e9678177..c45190ea9 100644 --- a/Doc/release-notes +++ b/Doc/release-notes @@ -14,6 +14,10 @@ Incompatible changes in svn version: Fixed in svn version + * Workaround for frequent crashes in PAW with vc-relax + * In some cases spin-polarized HSE was yielding NaN's + * PHonon: an array not always allocated was passed as variable to + routine dynmatrix.f90 - harmless but not nice * disk_io='low' or 'none' wasn't working if a wavefunction file from a previous run was found * CP + OpenMP without MPI wasn't working with ultrasoft pseudopotentials