Now wave functions array have only 2 indices everywhere, the first
for the plane waves, and the second for the electronic states.
When a spin calculation is performed the "spin up" states
are stored in the first "nupdwn(1)" columns of the wave functions
array, and the "spin down" states are stored in the second "nupdwn(2)"
columns of the same array.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3274 c92efa57-630b-4861-b058-cf58834340f0
CP can now restart from PW , and PW (at gamma) can restart from CP.
In CP the following control keyword should be specified:
disk_io = 'high'
to save the charge density
In PW the following control keyword should be specified:
restart_mode='restart',
wf_collect = .true.
to save wfc
- an example will follow
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3270 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
try to do such a conversion whenever you see such cases since they often cause
bizzare problems that are hard to pinpoint.
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3127 c92efa57-630b-4861-b058-cf58834340f0
- to avoid possible hang when print_clock('fftb') is called
added a dummy call to start_clock and stop_clock to all proc.
in parallel case.
- default nomore for system relaxation increased in NEB calculation.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3097 c92efa57-630b-4861-b058-cf58834340f0
- BGL porting of CP almost complete. New command
line argument "-ntask_groups" to specify the
number of task group used in parallelization.
to generate an executable with BGL extensions,
in the file make.sys the macro __BGL should
be specified.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3069 c92efa57-630b-4861-b058-cf58834340f0
- PW: do not try to remove the entire prefix.save directory, it doesn't work
for many compilers. Remove the prefix.save/data-file.xml file instead when
starting a calculation from_scratch to prevent restarting from inconsistent
data. Notice that the original content of the prefix.save directory is
destroyed (except for the charge density) in the case of a non-scf or band
calculation as well.
- PW+CP : write rho in binary format; in the LSDA case write rhoup+rhodw in
one file and rhoup-rhodw in 'polarization' file (or should it be called
'magnetization' like in the noncolinear case?). Beware: you cannot read
LSDA files produced by early versions.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3065 c92efa57-630b-4861-b058-cf58834340f0
This allowes for the possibility of setting constraints that are not collective
variables. Example and documentation updated.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3059 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
Mariginal improvement of the broyden optimisation algorithm. The reference
output of example17 not yet regenerated.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3033 c92efa57-630b-4861-b058-cf58834340f0
bad only for l > 0 terms in q functions: same problem of sign as in NCPP).
There are still minor discrepancies between the stress in PW and CP/FPMD,
also in the norm-conserving case. The discrepancies are small but not
so small to be negligible. More investigation is needed...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3008 c92efa57-630b-4861-b058-cf58834340f0
the bug was introduced with the reorganization of the fft.
- NEB working with CP/FPMD (new calculation fpmd-neb added to check
all the scf engines)
- Clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2993 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
aesthetical reasons one may want to move logical 'tcg' from 'cg_module'
to 'control_flags' since otherwise the 'cg_module' is needed in a lot
of places just for 'tcg' variable.
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2986 c92efa57-630b-4861-b058-cf58834340f0
- further changes to support image parallelization in CP
- bug fix in XML save file for wave functions / charge density / pools .
In siple case and combinations of procs and polls now it seem to work.
More testing is required
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2963 c92efa57-630b-4861-b058-cf58834340f0
The new resart doesn't work yet with parallelization on k-points because of
some errors (still to be fixed) in the way the wavefunctions are written and
read. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2959 c92efa57-630b-4861-b058-cf58834340f0
directory in file "print_counter.xml" when something is printed out to
a file like $prefix.evp.
If, for example, iprint=10, isave=100, and the job is killed at step 150
(via OS or $prefix.EXIT), then the next printout to file $prefix.evp will
happen on step 160, and not 110 as before. This way file $prefix.evp is
fully continuous without duplications, which is useful for MD trajectories.
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2952 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
into files like *.pos and *.evp whenever the job is killed ungracefully (not
completed yet ...)
Kostya with C.S. help
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2943 c92efa57-630b-4861-b058-cf58834340f0
density file is not written (perhaps the default could be reverted)
2) added an option ion_velocities='change_step'. Here one restarts from
a file with CG while changing the timestep. The old timestep should be supplied
in tolp. The main goal is to make the [t-1] ion positions to be proportionally
smaller. This way one can go through CP->CG->CP sequence while changing the
timestep and keeping all the ionic and Nose positions & velocities fully
consistent as to keep previous equilibration. Perhaps variable cell variables
should also be rescaled in the same way.
Option 2) is somewhat ugly in how things are specified, but practically useful
if one does not want to re-equilibrate with the time step change.
I could not extract the timestep value from the restart file, is it not
being written?
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2930 c92efa57-630b-4861-b058-cf58834340f0
atomic labels and also to print out *.pos file as XYZ
The option is off by default, but can be enabled with nice_output_files=.true.
in print_out.f90 source.
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2919 c92efa57-630b-4861-b058-cf58834340f0
the earlier RESTARTXX name for the directory.
Also, added a logical parameter "write_charge_density" to cp_restart.f90
Setting it to "false" gets rid of the "charge-density.xml" file. Perhaps,
this could become an input parameter at some point.
As a side comment, running never ending CP dynamics is a bit different
from PW calculations which will finish at some point. Thus saving as little
stuff as possible is highly desirable (with options to save more).
Kostya
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2918 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
does not use 'sticks' in the fft for wavefunctions; in parallel execution,
it uses the 3d serial fft (valid for one processor per pool only!)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2843 c92efa57-630b-4861-b058-cf58834340f0
- CP/FPMD post processing updated, charge and states written in xsf/grd format
- CP rhoofr moved to file chargedensity.f90
- merged from_scratch subroutine
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2839 c92efa57-630b-4861-b058-cf58834340f0
(he claims it is more tested); documentation updated (sort of)
- routines find_free_unit, delete_if_present, moved from 'parser'
to 'io_files' (it is a more natural place)
- routines int_to_char moved from 'parser' to flib/ (it is quite
unrelated with the rest of the module)
- routine trimcheck moved from flib/ to 'io_files' (more natural place)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2753 c92efa57-630b-4861-b058-cf58834340f0
an index). Removed the two cases constrained_verlet and constrained_damp: a constrained
dynamics is automatically done if the CONSTRAINTS card is present. Added a keyword to
monitor the value of the constraints during the simulation. In this case the constraints are
not imposed.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2740 c92efa57-630b-4861-b058-cf58834340f0
- Many ortho auxiliary functions (tauset, rhoset, sigset, calphi, updatc)
are now in common between FPMD/CP, and moved to module ortho_base.f90
- In FPMD, three index vectors, related to real space like charge and potential
have been substituted with single index vector like in CP, for compatibility
and efficiency.
- Bug fix in pwtools/matdyn.f90 a logical variable was used in place of a
character variable
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2694 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
working again
- calls to very old "rs" eispack driver replaced by calls do
"dspev" lapack driver
- subroutines sigset, rhoset, tauset moved from cplib.f90 to
ortho_base.f90, now they are used in fpmd subroutines too
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2625 c92efa57-630b-4861-b058-cf58834340f0
- logic behind variable fccc and ccc cleaned up and shared
between fpmd and cp subroutines
- rhoset, sigset, tauset cleaned-up and prepared for the
merging of the ortho subs.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2581 c92efa57-630b-4861-b058-cf58834340f0
principle since the same information can be specified with nelup and neldw.
However in systems containing many atoms of various kinds it can help reduce
human errors. If unspecified, this parameter is ignored. [silviu]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2578 c92efa57-630b-4861-b058-cf58834340f0
could also be specified with a proper choise of nelec. The later option however
is more sensitive to human errors, especially when working on large systems
containing diverse elements (or when working in the middle of the night...) [silviu]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2577 c92efa57-630b-4861-b058-cf58834340f0
implemented is the one described in PRL 92, 17061 (2004) and, at present, only
works at zero temperature.
The restart files are now written in xml format and are saved ina sub-directory
of the main "save" directory.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2562 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
variables and then in scaled variable. Now the scaled
center of mass is stored in variable "cdms".
This patch affect only the standard output.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2520 c92efa57-630b-4861-b058-cf58834340f0
the dipole moment. That way one don't have to worry about placing the
molecule/cluster in the center of the cell. [silviu]
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2499 c92efa57-630b-4861-b058-cf58834340f0
ensemble DFT and NOT conjugate gradient
berry phase electric field and nspin==2
conjugate gradient and nspin==2
P.U.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2465 c92efa57-630b-4861-b058-cf58834340f0
and the xml data-file is data-file.xml (previously restart.xml). The restart dir now contains a
history sub-dir that contains a copy of the previous files data-file.xml (to facilitate post-processing).
Examples' references do not need to be regenerated.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2424 c92efa57-630b-4861-b058-cf58834340f0
The idea is that module funct contains data defining the DFT functional in use
and a number of functions and subroutines to manage them.
Data are PRIVATE and are (shuold be) accessed and set only by function calls.
Basic drivers to compute XC quantities are also included.
It should be the main place where definitions for and calculation of xc
functionals are centralized.
In CPV printout [A.U.] replaced by [HARTREE A.U.] in many places.
stefano
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2411 c92efa57-630b-4861-b058-cf58834340f0