in the restart subroutine related to the possibility of "correclty"
restart a simulation setting to zero the velocities of some degree
of freedom.
Simple tests shows that if a simulation is restarted setting to
zero the velocities of electrons without setting to zero the velocities
of ions and vice versa, the generated trajectories of ions contain
unphysical fast oscillations.
- Some improvement in the parallelism when cell dynamics is active.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5122 c92efa57-630b-4861-b058-cf58834340f0
- blue gene fix (suggested by C. Bekas)
- CP postprocessing documentation
- small changes to restart file to allow CP restart from
PW run (at gamma).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3149 c92efa57-630b-4861-b058-cf58834340f0
- cp stress: local and hartree term computed only
for the 6 independent component (instead of all 9 components)
- more BGL porting
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3053 c92efa57-630b-4861-b058-cf58834340f0
- cleanup in stress: sph_bes is the only routine calculating j_l(x) .
It wasn't properly called in previous versions for meshes starting
at r=0 (output was one index off). Now it should really work in all
cases (please test)
- call to bess in qqberry replaced by call to sph_bes (please test)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3048 c92efa57-630b-4861-b058-cf58834340f0
in the recent CVS. For a small test, the stress for USPPs now agrees
much better with the ancient CP code. All the interested parties
please test.
For the fix, backported the old CP's "bess" routine, since the logic
for "sph_bes" was the cause of the differences. Please be careful when
making "sph_bes" work for tpre=.true.
Another puzzle - converged CP energies were identical from the
ancient CP through CP in PWSCF v2.1, but now are slightly different
(same machine, compiler, etc.) The biggest difference is the
exchange-correlation energy. Does anyone know what is the EXACT reason
for this?
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3046 c92efa57-630b-4861-b058-cf58834340f0
was carrying a wrong sign. Now checked and working with NCPP,
to be further checked with USPP. The stress was wrong when using
PP with nonlocality P or greather.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2987 c92efa57-630b-4861-b058-cf58834340f0
first step needed to parallelize neb over images also for CP.
Next we need to add the right communicator to all communications
- subroutine reduce substituted everywhere with mp_sum
- mp_sum for array with 4dims added in mp.f90
- workaround for xlf compiler, it has problems compiling file with
initialization of large array in the definition line,
see Modules/input_parameters.f90 , initialization moved to
Modules/read_cards.f90 .
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2946 c92efa57-630b-4861-b058-cf58834340f0
- the logic of the combined index for US PP is now the same everywhere
(i.e in PW, CP, and in the pseudopotential format):
do iv=1,N
do jv=iv,N
ijv=jv*(jv-1)/2+iv
(in PW the indices are called nb, mb). In order to get ijv from (iv,jv):
if (iv > jv) then
ijv=iv*(iv-1)/2+jv
else
ijv=jv*(jv-1)/2+iv
end if
- the above change also fixes a serious bug affecting Vanderbilt US PP
in UPF format (only half of the qfcoef array was present, but not the
good half)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2916 c92efa57-630b-4861-b058-cf58834340f0
PLEASE NOTE: the logic for packed index is as follows everywhere
do i=1,N
do j=1,i
ij = (i-1)*i/2 + j
This is equivalent to
ij = 0
do i=1,N
do j=1,i
ij = ij + 1
This is not (yet) the same as used in PW, though
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2871 c92efa57-630b-4861-b058-cf58834340f0
of beta functions is smaller than the fixed maimum nbrx
- routines for herman-skillman integration moved together to other
integration routines in flib/ . We should one day decide which one of
these routines should be used: they all do basically the same thing
- routine reading ultrasoft PP in the old Vanderbilt format moved to
Modules/. More USPP cleanup coming soon.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2868 c92efa57-630b-4861-b058-cf58834340f0
calculated at run-time; combined index instead of two symmetric indices
in some PP arrays. Should save a sizable amount of memory.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2864 c92efa57-630b-4861-b058-cf58834340f0
the "conventional" Vanderbilt (qfunc+qfcoef) form if this is not available.
This removes a major difference between CP and PW in the treatment of USPP.
Only the 1.0.0 Vanderbilt format written by some obsolete version of the
Vanderbilt code should be affected, but beware unintended side effects!!!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2693 c92efa57-630b-4861-b058-cf58834340f0
archaic USPP format with Herman-Skilman grid, removed. The integration
is now performed used the same logic (but not yet the same routine) of
the other cases.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2536 c92efa57-630b-4861-b058-cf58834340f0
accurancy of the pseudopotential table for CP/FPMD (default values = 0.05Ryd)
mmx now is calculated depending on refg and ecutrho
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2155 c92efa57-630b-4861-b058-cf58834340f0
conversion to real => DBLE
(including real part of a complex number)
conversion to complex => CMPLX
complex conjugate => CONJG
imaginary part => AIMAG
All functions are uppercase.
CMPLX is preprocessed by f_defs.h and performs an explicit cast:
#define CMPLX(a,b) cmplx(a,b,kind=DP)
This implies that 1) f_defs.h must be included whenever a CMPLX is present,
2) CMPLX should stay in a single line, 3) DP must be defined.
All occurrences of real, float, dreal, dfloat, dconjg, dimag, dcmplx
removed - please do not reintroduce any of them.
Tested only with ifc7 and g95 - beware unintended side effects
Maybe not the best solution (explicit casts everywhere would be better)
but it can be easily changed with a script if the need arises.
The following code might be used to test for possible trouble:
program test_intrinsic
implicit none
integer, parameter :: dp = selected_real_kind(14,200)
real (kind=dp) :: a = 0.123456789012345_dp
real (kind=dp) :: b = 0.987654321098765_dp
complex (kind=dp) :: c = ( 0.123456789012345_dp, 0.987654321098765_dp)
print *, ' A = ', a
print *, ' DBLE(A)= ', DBLE(a)
print *, ' C = ', c
print *, 'CONJG(C)= ', CONJG(c)
print *, 'DBLE(c),AIMAG(C) = ', DBLE(c), AIMAG(c)
print *, 'CMPLX(A,B,kind=dp)= ', CMPLX( a, b, kind=dp)
end program test_intrinsic
Note that CMPLX and REAL without a cast yield single precision numbers on
ifc7 and g95 !!!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2133 c92efa57-630b-4861-b058-cf58834340f0
- minor fixes to PW/pw_restart
- Added the possibility to restart using CP from a PW run (at gamma),
working but still sperimental.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2131 c92efa57-630b-4861-b058-cf58834340f0
dion, beta, bec everyware.
- subroutines formfn, compute_beta, nlsm1, nlsm2, ecc ... now are common
between FPMD and CPV, a lot of clean ups!
- Changes in stdout: relevant physical quantities ( positions velocities an cell )
are now printed with the seme format of the corresponding input card,
like in PW, as was suggested by SdG.
- exemple23 updated to reflect the new input namelist "wannier"
- Subroutine init_run now is used in FPMD too.
- WARNING in the stress computed with CP, for a pseudo with core-corrections,
a contribution is missing! Not yet fixed, I need to talk with PG for the
box staff.
- WARNING the examples reference are not updated, I'm on the IBM sp, and
I prefer to update them from a linux machine.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2110 c92efa57-630b-4861-b058-cf58834340f0
- core charge, same module between CPV and FPMD
- Makefile: added dependency between "mods" and "libiotk"
- Makefile: fix for dependencies in PH and Gamma when __NEWPUNCH is defined
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1995 c92efa57-630b-4861-b058-cf58834340f0
- flags for core cor. (nlcc, nlcc_any) used in FPMD too
- fixed a bug in read_pseudo.f90 ( related to nlcc )
- other merging anc clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1971 c92efa57-630b-4861-b058-cf58834340f0
by both CP and FPMD
- Now FPMD and CP use the same random wave functions initialization,
which is also independent from the number of processors,
very useful for debugging.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1836 c92efa57-630b-4861-b058-cf58834340f0