1) the dependency upon module "extfield" via recently introduced "monopole"
variable made explicit in the call, with an optional variable
2) the code doesn't stop any longer in case it doesn't manage to find
symmetries, it just issue a warning, removes symmetry and proceeds
Should be harmless but please check. All make.depend files updated.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13114 c92efa57-630b-4861-b058-cf58834340f0
not so smart and should be simplified as much as possible). Minor Makefile
change: it is no longer needed to compile Modules in order to run the makedeps
script (it is sufficient to regenerate the version.f90 file).
make.depend updated: there were several dependencies of nonexistent files.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12873 c92efa57-630b-4861-b058-cf58834340f0
the three pieces are in three different places: fsocket.f90 in Modules/,
sockets.c in clib/, run_driver in PW/src. Subroutine get_server_address might
actually be moved to module "command_line_options".
Version number updated to 6.beta (6.0.beta too long, 6.0bet? 6.0.b?)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12833 c92efa57-630b-4861-b058-cf58834340f0
(it was acting only on descriptor variables, noneed to keep it into module)
- name change: all function/variables named *_dlay_* renamed *_type_* for consistency
- IMPORTANT: fft_type_allocate merged with real space grid initializaiton
some other grid functions removed/merged with fft types.
Since some initialization has been moved elseware there could be some SIDE EFFECT
- In practice, now grid dimensions (nr1, nr2, nr3) comes with fft variable definition
and variable allocation.
NEXT: review of the initialization/setting of the fft parallelization
- real space grid initialization subroutines moved to fft_types module
(it was acting only on descriptor variables, no need to keep it in Modules)
- name change: all function/variables named *_dlay_* renamed *_type_* for consistency
- IMPORTANT: fft_type_allocate merged with real space grid initializaiton
some other grid functions removed/merged with fft types.
Since some initialization has been moved elseware there could be some SIDE EFFECT
- In practice, now grid dimensions (nr1, nr2, nr3) comes with fft variable definition
and variable allocation.
NEXT: review of the initialization/setting of the fft parallelization
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12703 c92efa57-630b-4861-b058-cf58834340f0
l-dependent array in all cases.
This is already the case when upf%tpawp or upf%q_with_l are .true. .
For vanderbilt US pseudos, where nqf and rinner are non zero, we do here what otherwise
would be done multiple times in many parts of the code (such as in init_us_1, addusforce_r,
bp_calc_btq, compute_qdipol) whenever the q_l(r) were to be constructed.
For simple rrkj3 pseudos we duplicate the infomation contained in q(r) for all q_l(r).
This requires a little extra memory but unifies the treatment of q_l(r) and allows further
tweaking with the augmentation charge.
Variable upf%q_with_l set .true. at the end of the operation. It would be better to leave the
variable untouched at its input value and modify the routines that compute q_l(r) to just use
the now always present upf%qfuncl array but this is the first step before some cleanup.
setqf.f90 moved from PW/src to Modules, Makefiles and dependencies updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12591 c92efa57-630b-4861-b058-cf58834340f0
x-y-z to z-y-x (for a G->R transform) to make it consistent with the way
ffts are executed in the general parallel case.
changes to
- fft_dlay_scalar (in fft_types.f90)
- sticks_maps_scalar (in sticks_base.f90)
- all variant of fft_scalar.XXX.f90 ( tested for XXX=FFTW3 )
no more need to call fft_dlay_allocate with arguments like max(dfft%nr1x,dfft%nrx3) ... dfft%nr1x should be always fine.
changes should not be needed to CPV and GWW that use cfft3ds initializing data via the modified stick_maps_scalar and fft_dlay_scalar.
explicitely tested for CPV.
in PW, pw2blip.f90 uses cfft3ds. The new execution order needs a different definition of the auxiliary array do_fft_x -> do_fft_z,
that should now be the same as dfft%isind. For now it is initialized following the same logics as the original routine.
some auxiliary functions/subroutines like put_f_of_R, put_f_of_G, get_f_of_R, get_f_of_G added to fft_parallel to help
assigning/retrieving values to/from a distributed fft array in the parallel case.
These tools are NOT designed for efficiency but to make life easier in testing programs (see for instance test0.f90).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12570 c92efa57-630b-4861-b058-cf58834340f0
1) Moved some TDDFPT-specific cases from the general routine LR_Modules/ch_psi_all.f90 to the TDDFPT routines;
2) Deleted the variable "tddfpt", because it is no longer needed anywhere (in the older versions of the code this variable was used to tell to the PHonon routines about TDDFPT specific operations);
3) Some other minor changes in TDDFPT.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12432 c92efa57-630b-4861-b058-cf58834340f0
of pw.x, developed in a distinct branch are merged to the trunk.
Work done by:
Giovanni Borghi, Andrea Ferretti, Pietro Delugas
N.B. The feature is still experimental. To compile it,
add in make.sys the manual preprocessing flag
-D __XSD
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12372 c92efa57-630b-4861-b058-cf58834340f0
moment to get rid of flib/, whose usefulness is far from obvious. The content
of flib/ is now in Modules/. Many makefiles updated and little more.
Packages using QE routines should just remove links to flib/flib.a.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12072 c92efa57-630b-4861-b058-cf58834340f0
with PW. There are several other variables that can be merged now, but these
three were easier and required changes to a very small number of routines.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11983 c92efa57-630b-4861-b058-cf58834340f0
1. rewritten the core part of the ESM to improve readability and efficiency
of the code (esm.f90).
2. introduce a new function (exp_erfc(x,y) = exp(x) * erfc(y)) to avoid
getting “NaN” in particular case.
4. two dimensional (xy plane) average charge density and electrostatic
potentials are printed out to ‘prefix.esm1’ instead of stdout
3. make ESM calculation compatible with the NEB (neb.x).
4. introduce the constant bias potential (constant-mu)
(PRL 109, 266101 (2012)) feature to both pw.x and neb.x.
5. write ESM information in the XML file (One can use post-processing program
such as pp.x).
6. including various example calculations.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11662 c92efa57-630b-4861-b058-cf58834340f0
it requires a quite different treatment from all other cases. These are made
uniform: the FFT descriptor passed in input is always used (before it was a bit
but not always). Should be safe, nothing has changed in practice.
Disadvantage: no more consistency check between declared grid and descriptor.
Advantages: simpler; more uniformity between the three grids (and in case of
more future grids); no more dependent upon fft_base modules via dffts and dfftp
descriptors, that can now be moved where they should belong (i.e. to modules
gvect, gvecs, containing G-vectors and indices) (I am not going to do this any
time soon, though: it takes a lot of small changes everywhere)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11559 c92efa57-630b-4861-b058-cf58834340f0
Added two small files from libxc. Compile with -D__LIBXC, link with libxc:
-L/dir/where/libxc/is -lxcf90 -lxc
User guides updated with a reshuffling of names: contributors to all of QE
(in particular, most functionals) are listed in the user guide of QE and
not in the one of PW. make.depend updated
This is just to avoid that the work done is lost. It should be a first step
towards better organization of XC functionals. We should seriously consider
one of the following options:
1. move to libxc, getting rid of all duplicated functionals, keeping only
those that are not available in libxc;
2. add the possibility to use any functional from libxc (currently only a few
can be used). This may require serious restructuring work in our XC
functional (il-)logic, that has become clumsy, obscure and redundant
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11075 c92efa57-630b-4861-b058-cf58834340f0
(e.g. some versions of optimized BLAS for Mac). In order to ctivate it, add
-Dzdotc=zdotc_wrapper to DFLAGS in make.sys.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10972 c92efa57-630b-4861-b058-cf58834340f0