semiempirical correction and with general QE programming style (if any):
* there is a new variable "vdw_corr", in namelist &system (not &control)
that can have 'TS', 'ts', 'Grimme-D2', etc values. I guess there will
be soon 2n+1 different van der Waals semiempirical corrections, so it
is wise to have a single variable for all of them. Related variables
(options, cutoffs, etc) keep their current names, are read from &system.
* variables read on input are copied to internal variables, as in all
other cases. It is clumsy and I am starting to doubt it will ever be
useful, but it has to be done in a consistent way.
Note that this may introduce some incompatibilities, especially for users
of modified CP code. If anybody has better ideas, feel free to propose.
If something doesn't work as expected, please let me know.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10426 c92efa57-630b-4861-b058-cf58834340f0
Module mp_global is still there for compatibility and still contains the
routine mp_startup that performs the intialization, but shouldn't be any
longer used in new developments and should be slowly replaced by specific
modules. New module containing command-line options added. Command-line
options are read at the beginning of the run and broadcast to all processors
(there is no guarantee that command-line options cam be accessed by all mpi
processes). Nothing should be broken by these changes but please verify if
all parallelization levels work (I have limited access to parallel machines
right now)
The reason for these changes, and for those that will come soon, is to make
image parallelization easier (in particular in NEB but also for other cases).
Right now it is a pain, in part because the initialization is inadequate,
in part because it is never clear who reads/writes what from/to where.
It will take a few weeks before everything converges to a stable state.
Meanwhile, please be patient and fix/report problems.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9876 c92efa57-630b-4861-b058-cf58834340f0
dipole moment and quadrupole moment of a charge distribution on the dense real-space grid.
The subroutine has been modified to accept any kind of density as input. PW/src/makov_payne.f90 modified accordingly.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8701 c92efa57-630b-4861-b058-cf58834340f0
In particular:
fd_gradient.f90 contains a module to perform gradients in the real space grid using finite differences. A few
different schemes have been implemented, it is necessary to initialize the finite difference calculation by
passing the selected scheme and order to an initialization routine. The module is parallel, but not very fancy.
generate_function.f90 contains a few subroutines that generate a specific function on the real space grid. The
possible functions are gaussian, exponenentials, gradient of gassians and gradient of exponentials. Also in this
case the subroutines are parallel and built following the scheme in the makov_payne.f90 subroutines.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8645 c92efa57-630b-4861-b058-cf58834340f0
The only variable used in all codes, "title", moved to a new module run_info
in Modules (it may in the furture contain more stuff).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8044 c92efa57-630b-4861-b058-cf58834340f0
functions - courtesy of Xifan Wu (Temple U.), Lingzhu Kong, Zhaofeng Li
(Princeton U.). There should be no effect on other functionalities.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8029 c92efa57-630b-4861-b058-cf58834340f0
Now all variables regarding real space grid, fft and
their parallelization are contained into the objects:
dfftp (dense grid)
dffts (smooth grid)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7973 c92efa57-630b-4861-b058-cf58834340f0
needs five interegers to be fully defined (all the back-compatibility
has been respected).
Added drivers and functions to implement new non-local functionals.
Added the vdw-DF2 (to test).
Fixed how shortnames are handled in input (funct.f90)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7706 c92efa57-630b-4861-b058-cf58834340f0
re-assignement to stdout in image_io_start. The net effect should be
that NEB works as before (stdout is re-assigned and re-directed anyway)
while PH should have image 1 write to stdout. No warranty, not tested.
string_methods.f90 renamed to neb.f90.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7488 c92efa57-630b-4861-b058-cf58834340f0
startup_new takes root and comm as arguments. Added mp_image_global_module
that contains only image parallelization.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7444 c92efa57-630b-4861-b058-cf58834340f0
- Grid dimensions for both dense and smooth grids are in Modules/griddim.f90
- Variables describing G vectors and their mapping onto FFT grids (both
dense and smooth) are in Modules/recvec.f90
- FFT descriptors are defined in Modules/fft_types.f90
- Variables describing G-vector distribution across processors are
contained in Modules/stick_base.f90
- Distribution across processors of G vectors in sticks and planes
is performed in Modules/stick_set.f90, routine pstickset, which
also initializes FFT descriptors
- G vectors and their mapping onto FFT grids are calculated in
Modules/recvec_subs.f90 (routine ggen: a modified version of PW one,
replacing the CP one ggencp)
Testing is very limited but given the kind of modifications there should
be no major problem, I hope.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7384 c92efa57-630b-4861-b058-cf58834340f0
b) the fix I introduced some time ago to avoid keeping a large and non
distributed array mill_g wasn't very smart and likely electric fields in
CP were no longer working in CP
c) Misc. cleanup in view of some more CP-PW merge in G-vectors
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7379 c92efa57-630b-4861-b058-cf58834340f0