into xml files, listed among input variables, but it is never used and no longer
useful. In case, it is easy and quick to reintroduce it, in a less confusing way
This bug was mistakenly introduced during ithe porting of DFPT+U
from QE 5.0.2 to the latest QE. Interestingly, this stupid bug
was found only when computing phononsi+U for bulk Fe using
Fe.pbe-spn-rrkjus_psl.0.2.1.UPF (the bug did not show up when using
e.g. fe_pbe_v1.5.uspp.F.UPF). The benchmark was done with the
frozen phonon approach using phonopy. Moreover, in other tests
(for bulk Si, Al, Ni) this bug also did not show up.
1) DFPT+U with ortho-atomic orbitals is disables,
because it is more complicated than it was expected.
First, Hubbard forces in pw.x must be extended to ortho-atomic orbitals
and then DFPT+U must be reconsidered.
2) Update the reference files for example18 for DFPT+U
3) Various minor changes
phonon code to prevent execution in non-implemented cases (NOT YET WORKING
because variables lxdm and dft_d3 are not properly set when file is read!);
removal of unused variables
I. Timrov, B. Himmetoglu, N. Marzari, M. Cococcioni). The code was ported
from QE 5.0.2 to the latest version of QE, by I. Timrov with the help of
A. Floris and M. Cococcioni. Many thanks for the discussions with P. Giannozzi,
P. Delugas, A. Dal Corso, M. Calandra, L. Paulatto about various issues
during the porting. Sorry if I forgot to mention someone.
2) Some small modifications in the HP code in order to be consistent
with the porting of PHonon+U and changes in LR_Modules.
uneeded relinking; the mysterious "tldeps" machinery modified accordingly;
added explicit dependencies to GWW targets to prevent (once again) problems
with make -j (seems to work now). make.depend updated (once again).
impossible clashes with LIBS as defined by the OS or as used by the configure's
of external libraries (e.g. FoX, for which one such problem has been reported)
Explaintion:
The Wigner-Seitz construction in EPW was done by constructing a cell
centred unit cell. This is fine for electronic properties (this is what is done in wannier90).
However for phonon or electron-phonon properties, one can have issues when the cell
is tilded for example.
The proper way is to construct a set of WS vectors centred on pairs of atoms (phonons)
or atoms (el-ph).
In the matdyn code, a FT grid is constructed with weigths centred on pairs of atoms
and zeros everywhere else.
EPW now reproduced exactly the results of matdyn for the interpolated phonons at a
lower computation cost. Indeed we minimize the number of zeros by keeping the union
of values between all the cells.
In both cases this is very fast anyway but is important for el-ph properties.
A Wigner module was created to deal with this.
In addition, the subroutine cdiagh2 from PHonon/PH/rigid.f90 has been made public to
avoid code duplication in EPW
functions
in case the starting computation has been done twfcollect=.true.
run_nscf saves the wave functions in tmp_dir_phq and not in tmp_dir.
We have to find a way to have them in the same place in both cases.
Not now because release is tomorrow (29 june 2018).
Dirty fix if open_buffer fails in tmp_dir go back to tmp_dir_phq and try
again.
Since github and gitlab just distribute a snapshot of the git repository,
these files must be in the repository as well. NOTA BENE:
All changes MUST GO TO *.tex or *.def FILES, NOT to these files!
Also note that the "make doc" machinery produces also *.xml files and
latex2html converted html versions of latex files. I don't think they belong
to the repository (latex files should maybe be replaced by md files)
containing Eliashberg functions to allow plotting with gnuplot for each mode
separately. Contributed by Mitsuaki Kawamura. Note: uses a fixed format with
a lot of fields (1000) per line.
use internal variable dft%lgamma instead of global variable gamma_only
(in the future they might have a slightly different meaning), obsolete
routines removed. To be done: CP
versions deleted: "fft_qgradient" and "fft_qgraddot". These are the versions
of fft_gradient_r2r and fft_graddot for complex arrays with exp(iqr) behavior,
fr usage in the phonon code (gradient of Delta rho at finite q). Note that in
phonon, indices of drho_gradient have been reversed as well in vdW-DF routines,
and that the call to dgradcorr has been changed (dfftp is passed as argument)
while previous "fft_gradient" becomes "fft_gradient_r2r".
Routine "grad_dot" moved to gradutils, with new name "fft_graddot" and
removal of useless variable in the list of argument.
after the proliferarion of modules and libraries, I have collected into a
single variable BASEMOD_FLAGS, defined in make.inc, the list of directories
for modules, to be included by all codes. IMPORTANT NOTICE: re-run "configure",
the new Makefiles work in conjunction with the new make.inc
three types of calls are possibles : 'Rho', 'Wave', 'tgWave'
In order to enable an fft-type for a given grid the corresponding clock_labels must be set.
One gives a name to desc%rho_clock_lable for 'Rho' type fft and a name to
desc%wave_clock_lable for 'Wave' and 'tgWave' types. Whether tg is
possible depends of the already defined value of desc%have_task_groups variable (mispell to be corrected soon).
definining
dffts%rho_clock_label='ffts', dffts%wave_clock_label='fftw',
dfftp%rho_clock_label='fft', dfftt%rho_clock_label='fftc' and
dfftt%wave_clock_label='fftcw'
and changing
'Dense'->'Rho', 'Smooth'->'Rho', 'Custom'->'Rho', 'CustomWave'->'Wave'
the same clock names and the same overall behavior as with the old interface is obtained.
the nyfft variable must be provided as done in the scf case.
compiles and run.
parallelization with task_group and/or bands not working in some cases
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13807 c92efa57-630b-4861-b058-cf58834340f0
* PHonon/PH/prepare_q.f90
dfpt_tetra_linit should be initialized here for the multi-q
computation including Gamma point.
* PP/src/fermisurfer_common.f90
The routine computing equivalent k-points was incorrect for
body/face/base-centered lattice with nk1/=nk2/=nk3.
Extensions:
* Electron-phonon + tetrahedra works with q2r.x
* matdyn.f90 computes also \omega_ln
(Mitsuaki Kawamura)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13806 c92efa57-630b-4861-b058-cf58834340f0
In real space processors are organized in a 2D pattern.
Each processor owns data from a sub-set of Z-planes and a sub-set of Y-planes.
In reciprocal space each processor owns Z-columns that belong to a sub set of
X-values. This allows to split the processors in two sets for communication
in the YZ and XY planes.
In alternative, if the situation allows for it, a task group paralelization is used
(with ntg=nyfft) where complete XY planes of ntg wavefunctions are collected and Fourier
trasnformed in G space by different task-groups. This is preferable to the Z-proc + Y-proc
paralleization if task group can be used because a smaller number of larger ammounts of
data are transferred. Hence three types of fft are implemented:
!
!! ... isgn = +-1 : parallel 3d fft for rho and for the potential
!
!! ... isgn = +-2 : parallel 3d fft for wavefunctions
!
!! ... isgn = +-3 : parallel 3d fft for wavefunctions with task group
!
!! ... isgn = + : G-space to R-space, output = \sum_G f(G)exp(+iG*R)
!! ... fft along z using pencils (cft_1z)
!! ... transpose across nodes (fft_scatter_yz)
!! ... fft along y using pencils (cft_1y)
!! ... transpose across nodes (fft_scatter_xy)
!! ... fft along x using pencils (cft_1x)
!
!! ... isgn = - : R-space to G-space, output = \int_R f(R)exp(-iG*R)/Omega
!! ... fft along x using pencils (cft_1x)
!! ... transpose across nodes (fft_scatter_xy)
!! ... fft along y using pencils (cft_1y)
!! ... transpose across nodes (fft_scatter_yz)
!! ... fft along z using pencils (cft_1z)
!
! If task_group_fft_is_active the FFT acts on a number of wfcs equal to
! dfft%nproc2, the number of Y-sections in which a plane is divided.
! Data are reshuffled by the fft_scatter_tg routine so that each of the
! dfft%nproc2 subgroups (made by dfft%nproc3 procs) deals with whole planes
! of a single wavefunciton.
!
fft_type module heavily modified, a number of variables renamed with more intuitive names
(at least to me), a number of more variables introduced for the Y-proc parallelization.
Task_group module made void. task_group management is now reduced to the logical component
fft_desc%have_task_groups of fft_type_descriptor type variable fft_desc.
In term of interfaces, the 'easy' calling sequences are
SUBROUTINE invfft/fwfft( grid_type, f, dfft, howmany )
!! where:
!!
!! **grid_type = 'Dense'** :
!! inverse/direct fourier transform of potentials and charge density f
!! on the dense grid (dfftp). On output, f is overwritten
!!
!! **grid_type = 'Smooth'** :
!! inverse/direct fourier transform of potentials and charge density f
!! on the smooth grid (dffts). On output, f is overwritten
!!
!! **grid_type = 'Wave'** :
!! inverse/direct fourier transform of wave functions f
!! on the smooth grid (dffts). On output, f is overwritten
!!
!! **grid_type = 'tgWave'** :
!! inverse/direct fourier transform of wave functions f with task group
!! on the smooth grid (dffts). On output, f is overwritten
!!
!! **grid_type = 'Custom'** :
!! inverse/direct fourier transform of potentials and charge density f
!! on a custom grid (dfft_exx). On output, f is overwritten
!!
!! **grid_type = 'CustomWave'** :
!! inverse/direct fourier transform of wave functions f
!! on a custom grid (dfft_exx). On output, f is overwritten
!!
!! **dfft = FFT descriptor**, IMPORTANT NOTICE: grid is specified only by dfft.
!! No check is performed on the correspondence between dfft and grid_type.
!! grid_type is now used only to distinguish cases 'Wave' / 'CustomWave'
!! from all other cases
Many more files modified.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13676 c92efa57-630b-4861-b058-cf58834340f0
broke PH/examples/example14 because of the involuted way twfcollect and tmp_dir_phq
interact in the phonon code.
variable wf_collect=.false. defined in input so that the code avoids the confusion
and other changes can be tested.
Problem still to be fixed properly.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13671 c92efa57-630b-4861-b058-cf58834340f0
KS_Solvers/CG, KS_Solvers/Davidson, KS_Solvers/Davidson_RCI.
Two are currently used by QE, the third one implements the Davidson
diagonalization within the Reverse Communication Interface paradigm,
courtesy of Micael Oliveira.
KS_Solvers routines depend only on lower level libraries, notably UtilXlib,
LAXlib, (SCA)LAPACK, and BLAS.
reorganization can be improved. For instance some duplicated routines like
cdiaghg and rdiaghg could/should be moved in LAXlib. This could reduce the need
to include KS_Solvers directories in the link step of many codes.
Minimal changes to calling sequence have been made, essentially just adding
h_psi,s_psi,g_psi and h_1psi,s_1psi routines names as arguments (with a
specific calling sequence ihardcode inside the routines that agree with PWSCF one).
This could be avoided adopting the RCI paradigm.
Compiled in serial and parallel, 177/182 pw tests passed (3 that were failing
even before on my laptop pw-berry, pw-langevin, pw-pawatom + 2 unknown==not tested),
12 /17 cp tests passed (some o2-us-para-pbe-X fail but the same was for the
original version)
I assume the modified calling procedure is working and the problem lies somewhere else.
Randomly tested some examples in pw, ph, pwcond and it seams to work.
Please report any problem.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13644 c92efa57-630b-4861-b058-cf58834340f0
basic operations: error handling, timing clocks, interfaces to basic mpi
calls, find free units...
These routines are moved from Modules and dependencies to other modules
are removed.
MANY files are updated to comply with the move.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13629 c92efa57-630b-4861-b058-cf58834340f0
US variable qq renamed qq_nt and a new variable qq_na added
because in real space the integral may depend (slightly) on
the atomic position and an atomic value is needed to compute
exactly normalizable wfc.
Whenever realspace tricks are not used qq_nt is used.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13604 c92efa57-630b-4861-b058-cf58834340f0
from generic one. read/write_rho => read/write_scf for structure rho.
read/write_rho_only => read/write_only, moved to Modules/xml_io_base.f90.
Nothing substantial, but beware side effects
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13502 c92efa57-630b-4861-b058-cf58834340f0
This version rotates the pattern to the one of the final q-point, instead of recomputing, which works around oddities of set_irr and company subroutines (i.e. using global variables, calling mp_bcast..)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13441 c92efa57-630b-4861-b058-cf58834340f0
I've been using this version for years without problems, and I know it has solved a few cases of "wrong representation"
Please report if it gives the wrong modes for any input.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13421 c92efa57-630b-4861-b058-cf58834340f0
of cases, there is no difference and it's just aesthetic, but in some cases
a tiny error may have been corrected - please verify
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13316 c92efa57-630b-4861-b058-cf58834340f0
computing symmetries into a separate routine called after the first one.
Everything should work exactly the same as before. This is just a preliminary
step towards automatic parallelization. Next step: force the FFT grids to be
commensurate with symmetries and not vice versa.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13265 c92efa57-630b-4861-b058-cf58834340f0
Variable "ltetra" moved to common "klist" together with all other variables
setting occupations. All make.depend updated. Should be harmless.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13204 c92efa57-630b-4861-b058-cf58834340f0
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
various specially taylored routines. Please report any anomaly in k-point
parallelization (there shouldn't be any, but who knows).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12891 c92efa57-630b-4861-b058-cf58834340f0
to compute many FFTs at the same time, particularly usefull for EXX
but could be usefule for many linear response code as well
(for the time being implemented only for DFTI and internal FFTW,
should be trivial to extend other drivers)
- more clean-ups
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12815 c92efa57-630b-4861-b058-cf58834340f0
(( somebody was asking on pw_forum one or two months ago, how to display vibrational modes, which, I guess, was due to lack of proper doc ))
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12657 c92efa57-630b-4861-b058-cf58834340f0
- FFT type now do not have any information about task group:
no need to temporary change the value of variable...
- When task group are not needed symple do not use "dtgs" data type
- FFT interfaces called with FFT datatype ONLY, do not perform
task groups trics any longer, this should simply thing a bit....
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12628 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
with few exceptions. Complete removal when new version of D3 is available.
Comit message of previous commit by Iurii blocked due to its size:
1) TDDFPT + hybrids must be used with d0psi_rs=.true.
(treatment of the dipole in the real space).
This is explained in Ge et al., CPC 185, 2080 (2014).
Upgrading the examples and putting a warning in the code.
2) In my last commit (r12487) I wrote a misleading comment:
instead of igk(1:3) and igk_k(1:3,ik) there is of course
igk(ig) and igk_k(ig,ik), where ig runs over G vectors.
In the code everything is fine (only the comment was wrong).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12490 c92efa57-630b-4861-b058-cf58834340f0
More specificaly:
1) Remove global variable npw (from wvfct) and use ngk(ik) (for optical TDDFPT codes)
or ngk(ikk) with ikk=ikks(ik) (for turboEELS). In some routines, ngk is assigned to
the local variable npw, i.e. npw=ngk(ik), and in other routines ngk is used directly.
2) Remove global indices igk(1:3) (from wvfct) and use igk_k(1:3,ik) (for optical TDDFPT codes)
or igk_k(1:3,ikk) with ikk=ikks(ik) (for turboEELS).
3) Remove global variable npwq (from qpoint) and use the local variable with the same name,
which is defined as npwq=ngk(ikq) with ikq=ikqs(ik) (i.e. index of the point k+q).
4) Remove global index variable igkq(1:3) (from qpoint) and use the global index variable
igk_k(1:3,ikq) with ikq=ikqs(ik).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12487 c92efa57-630b-4861-b058-cf58834340f0
BEWARE: I think I have modified all codes that needed it, but please
1) verify that both allocation and deallocation are made in the proper place
2) update other codes not under svn that make usage of such variable
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12451 c92efa57-630b-4861-b058-cf58834340f0
good idea to call "h_psi" a routine that does something related to but
different from H\psi. Corrected a few grossly wrong comments.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12440 c92efa57-630b-4861-b058-cf58834340f0
In particular read_dyn_mat needs to be call with
an array phi(3,3,nat,nat) and not with an
array dyn(3*nat,3*nat).
MCB
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12437 c92efa57-630b-4861-b058-cf58834340f0
They have been kept with the sole purpose to maintain the Gamma-only code and
the k-point code aligned. Since however some new parts (notably exx with USPP)
do not use them any longer, it doesn't seem to me justified to keep them,
adding unneeded complexity. They should be kept, with value igk(i)=i, only for
those parts of the code that are common to Gamma-only and to k-point cases.
Everything should work as before, as long as: igk(i)=i for gamma-only case;
nobody uses gamma-only H\psi on perturbations with q.ne.0
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12425 c92efa57-630b-4861-b058-cf58834340f0
All of its subroutines and module have been transfered into LR_Modules/dynmat_sub.f90.
This will allow the subroutines to be re-used by other programs.
Note: I had to rename the subroutine "readmat" into "readmat2" because of
another readmat subroutine in PHonon/PH/elphon.f90.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12386 c92efa57-630b-4861-b058-cf58834340f0
of a variable with the same name (no conflicts but it wasn't nice); source
beautification. Should be harmless: n_plane_waves is used only in two places
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12370 c92efa57-630b-4861-b058-cf58834340f0
prevent trouble with OS-X. May or may not work (it won't unless configure
is updated: please somebody with v.2.63 of autoconf do it), may turn out to
be obsolete anyway.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12364 c92efa57-630b-4861-b058-cf58834340f0
as this subroutine is not doing exactly what I expected
(charge enters in real space but is returned in G space)
I hope this commit is being applied to the las trevision, SVN documentation is a bit fuzzy.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12315 c92efa57-630b-4861-b058-cf58834340f0
latter was actually a pre-existing bug: some variables related to the
treatment of van der Waals interactions were neither set nor properly
broadcast. Not a big deal until the day you want to use them.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12275 c92efa57-630b-4861-b058-cf58834340f0
a few more flags needed for ACFDT added to acfdtest.f90 (hopefully soon to be removed)
makedeps.sh adapted to the new LR_Modules structure
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12247 c92efa57-630b-4861-b058-cf58834340f0
1) Added a flag dpsi_computed in the subroutine orthogonalize.f90 in LR_Modules. The meaning of this flag is described in the header of that routine. It was needed to generalize this subroutine. In short, this flag controls whether S*evq was already computed before or it must be computed inside of orthogonalize. If this idea does not look good for someone, then a better strategy should be found. I decided to introduce this new flag in order to make minimal changes in the PHonon code.
2) TDDFPT: The use of lr_ortho (which is a modified version of orthogonalize.f90) was replaced in several places by orthogonalize. Still in several places of the turboDavidson code there are calls to lr_ortho, which should be replaced by orthogonalize if possible. In the future lr_ortho should be removed and orthogonalize should be used instead. This is done for the sake of unification of the linear response codes in QE.
3) TDDFPT: The orthogonalization to the valence states manifold (orthogonalize) has been moved from lr_lanczos to lr_apply_liouvillian, which is now in correspondance with the definition of the Liouvillian superoperator implemented in lr_apply_liouvillian. USPP is a special case, and hence the property S^-1 P_c^+ = P_c S^-1 has been used to make such a move of the call to orthogonalize (old call to lr_ortho).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12225 c92efa57-630b-4861-b058-cf58834340f0
--- This line, and those below, will be ignored--
M PHonon/PH/phq_init.f90
M PHonon/PH/elphon.f90
M PW/src/xk_wk_collect.f90
M PW/src/exx.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12193 c92efa57-630b-4861-b058-cf58834340f0
from phq_setup.f90 to separate subroutines setup_nbnd_occ.f90
and setup_alpha_pv.f90 in LR_Modules. The reason for this is always the same:
these parts of PH were duplicated eslewhere (in TDDFPT) and now it is
time to merge them and move to LR_Modules.
Also some small changes in TDDFPT: removing the dependencies on PH variables.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12172 c92efa57-630b-4861-b058-cf58834340f0
from the routine PHonon/PH/phq_setup.f90 to a new routine "setup_dmuxc.f90"
in LR_Modules. The reason for this action is that the same duplicated part of the
code was present in TDDFPT. Now both PHonon and TDDFPT use the same routine in
LR_Modules/setup_dmuxc.f90.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12167 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
transform_dbecsum_so.f90 and transform_dbecsum_nc.f90 appendened to set_dbecsum_nc.f90 that calls them
transform_int3_so extracted from PHonon/PH/transform_int_so.f90 and appended to set_int3_nc.f90 that calls it
transform_int3_nc extracted from PHonon/PH/transform_int_nc.f90 and appended to set_int3_nc.f90 that calls it
dependencies updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12047 c92efa57-630b-4861-b058-cf58834340f0
PH/phcom.f90 split in PH/phcom.f90 + LR_Modules/lrcom.f90 that contains
qpoint module
A number of routines using these variables needed to be modified to explicitely
load qpoint (in addition to phcom)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12005 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
This should fix both, although it is still impossible to specify the input grid and dyn files by hand when usinf xml format
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11794 c92efa57-630b-4861-b058-cf58834340f0
command_argument_count, flush, are used everywhere instead of wrappers.
Some old versions of compilers may no longer work.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11759 c92efa57-630b-4861-b058-cf58834340f0
a single interface "gather_grid" replaces "grid_gather", "gather_smooth",
"cgather_smooth", "cgather_custom". The FFT descriptor is always passed
as argument. Should be safe but beware: I tested only PW.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11526 c92efa57-630b-4861-b058-cf58834340f0
allocatable arrays in derived-type structures are obsolete, and moreover,
there is some new code that wouldn't compile
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11514 c92efa57-630b-4861-b058-cf58834340f0
fft_orbital_gamma -> invfft_orbital_gamma (since it uses invfft!)
bfft_orbital_gamma -> fwfft_orbital_gamma (since it uses fwfft!)
fft_orbital_k -> invfft_orbital_k (since it uses invfft!)
bfft_orbital_k -> fwfft_orbital_k (since it uses fwfft!)
I replaced all the istances I could find in the trunk.
Apologies if I missed any.
Stefano dG
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11489 c92efa57-630b-4861-b058-cf58834340f0