variables for the "world" MPI communicator. The latter are to be found in
world_comm instead. mp_global should be used only to start and to end the
various parallelization levels. Many small but harmless changes: a few
variables removed or moved to another module in most cases.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10558 c92efa57-630b-4861-b058-cf58834340f0
- PWCOND was not compiling any more after last branch merging,
I fix it mapping old to new variables (realus), but I need someone checking it
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10532 c92efa57-630b-4861-b058-cf58834340f0
one directory down, not two directories down. Now it is explicitly set to
something (hopefully) appropriate everywhere. Note that include/f_defs.h
is obsolete and shouldn't be included (it is still in GWW and TDDFPT).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10446 c92efa57-630b-4861-b058-cf58834340f0
"pwscf" or "cp" are removed when the scratch directory is cleaned. May still
need some tweaking in some cases, though, because not all files start with
the value of "prefix" variable
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10437 c92efa57-630b-4861-b058-cf58834340f0
wavefunctions, unit "iunat": they are used only at the end to calculate
forces and stresses with LDA+U. It takes less than no time to re-generate
them on the fly. Unit "iunat" removed everywhere. Also: unit iunatsicwfc
used only in pw2wannier.f90 moved there.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10193 c92efa57-630b-4861-b058-cf58834340f0
together with lda+U variables extracted from pwcom.f90; stored in a separate
ldaU.f90 file. Added a yet unused variable "is_hubbard". make.depend update.
Lot of noise but nothing substantial.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10169 c92efa57-630b-4861-b058-cf58834340f0
maximum number of record. Better to specify with a flag if writing to a
RAM buffer than using tricks such as negative units. BEWARE: may break
things *but it shouldn't)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10056 c92efa57-630b-4861-b058-cf58834340f0
calculation of quantities in real space fixed (I hope). I think there
can be more (in particular, dipole calculation in Makov-Payne is for sure
affected). Moreover it seems that in several cases there is no check whether
the (i,j,k) indices in real space correspond to a physical position or to
a bogus one. Please have a careful look. The correct (?) way to do things
should be the one in realus.f90. The latter has only been cleaned up a bit.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9970 c92efa57-630b-4861-b058-cf58834340f0
1) wfc_dir is always set to something sensible: either its value or tmp_dir
2) files containing wavefunctions and the like in pw.x are stored in wfc_dir,
always; no need to save, modify, reset tmp_dir
3) with the exception of TDDFPT, all other codes do not read wfc_dir. Thus,
wfc_dir is set to tmp_dir by read_file(), since in any case it is where
it is looking for wavefunctions
4) TDDFPT reads and uses wfc_dir; for the time being, wfc_dir is set to
either its value or to "undefined", in order to keep compatibility with
its usage in TDDFPT. The setting is done AFTER read_file is called
May or may not work. I hope it does.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9965 c92efa57-630b-4861-b058-cf58834340f0
using the option tk_plot, integer, if it is > 0 the code
will plot the transmission in k-space region [Full BZ x tk_plot]
Also an option to change the order of 2 loops over k and E
is introduced by using the parameter loop_ek (if .true.
E loop is outside the k-point loop) which could be useful
for 2D interfaces. (A. Smogunov)
(A. Smogunov)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9184 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
Further changes will follow in order to reduce dependencies and
duplicate variables (especially with dfft data structure)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7961 c92efa57-630b-4861-b058-cf58834340f0
1) variables nrxx, nr[123][x] moved from gvect to grid_dimensions
2) when the FFT descriptor, fdfftp, is presewnt, values contained
in the descriptor are used instead
Beware unintended side effects.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7167 c92efa57-630b-4861-b058-cf58834340f0
module smooth_grid_dimensions and no longer in gsmooth. Note that in most
cases, dffts%nr[123] is used instead (of course they are the same).
Lots of changes but nothing substantial. Beware unintended side effects
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7159 c92efa57-630b-4861-b058-cf58834340f0
routines that find the symmetry of a system, are in module symm_base;
module symme contains only routines for symmetrization of the various
quantities.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6403 c92efa57-630b-4861-b058-cf58834340f0
mp_global, which seems to me a more appropriate place. Many changes
but little stuff. Hopefully harmful, but no guarantee: please check!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6122 c92efa57-630b-4861-b058-cf58834340f0
to Modules/environment.f90 and generalized to PW and other codes.
PW/startup.f90 is kept as a wraper for now. The initial message in CP
looks now like the one in PW (please check if it satisfactory). The
compilation date has disappeared from info printed by CP: was it useful?
Makefiles and make.depends updated. ld1 does not depend any longer upon
files in PW/ . Miscellaneous cleanup.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6111 c92efa57-630b-4861-b058-cf58834340f0
(gamma_only, noncolin and generic k) a derived data-type bec_type is introduced
in becmod with component %r (for gamma real case), %nc (for non colinear case)
and %k (for the generic k case) .
The changes were tivial (rbecp -> becp%r, becp->becp%k, becp_nc->becp%nc) but
pervasive... I tried my best to test that everything is ok
stefano
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5937 c92efa57-630b-4861-b058-cf58834340f0
images in a cluster calculation. Still to be tested in parallel, it
has been tested for Gamma vs 0 0 0 and for nspin=1 and 2. Forces seem
to be ok. In the few cases considere there is no significant increase
of workload with respect to the periodic calculation.
plot_io.f90 moved from PP to flib because it may be needed
in PW/martyna_tuckeman.f90 for debugging and in this way circular
references are avoided. It only USE low-level modules like io_global,
kinds, and constants so it should be ok.
Module ws_base.f90 added in Modules. It deals with basic operations
associated to Wigner-Seitz cell. The implementation should be general;
it has been tested for SC and FCC only.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5911 c92efa57-630b-4861-b058-cf58834340f0
Modules/vxccg.f90 split into atomic/vxcgc.f90 and flib/radial_gradients.f90
Modules/metagga.f90 moved to flib/metagga.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5884 c92efa57-630b-4861-b058-cf58834340f0
1) no more f_defs.h file to be included in fortran files
2) all CMPLX explicitly defined as CMPLX(...,KIND=dp)
3) blas/lapack names in lowercase (not all of them, actually)
4) documentation accordingly updated (plus unrelated changes to user_guide)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5805 c92efa57-630b-4861-b058-cf58834340f0
modules is provided by the Makefile in each subdirectory, rather than
by make.sys. No big advantage but neater solution than before
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5737 c92efa57-630b-4861-b058-cf58834340f0
Workaround for crash in pwcond after recenbt changes to phonon symmetry:
a more definitive solution is needed for clean_pw, though
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5204 c92efa57-630b-4861-b058-cf58834340f0
name (remember tha some machines like Mac OSX have case-insensitive file
systems! ee == EE) b) some linkers require an explicit presence of all
modules in the list of files to be linked
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5001 c92efa57-630b-4861-b058-cf58834340f0
flag reporting whether only half G-vector sphere is present (not
actually used in q-e but it may be useful for other codes). make.depend
updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4819 c92efa57-630b-4861-b058-cf58834340f0
LP
UPF file format updated completely, UPFv2 introduced:
* ld1.x can still produce old format, with the switch upf_v1_format=.true. in inputp
this is disabled by default, but we can discuss if it should be the opposite.
* pw.x cp.x and all utilities should notice no difference
* some utilities in upftools still need to be updated, anyway conversion UPFv1 to UPFv2
is very easy, so this should be no big issue
* starting from now to produce an UPF file you need to fill the pseudo_upf derivedd type
and feed it to write_upf woutine in upf_module (Modules/upf.f90)
* extensive use of iotk
I have tried to make the new format as self contained as possible, e.g. there should be
minimal need for post-processing after the data is read, no more reconstruction of known
quantities, and no more odd syntax to save negligible quantity of space. Also the human
readable section is a bit richer, all the rest is more machine readable.
I hope this will not cause any throuble, and tried really hard to, all examples and all
tests works as fine as before and gives (what really looks like) the same results.
Other changes that I needed to make:
* radial grids are now allocatable, they management is a bit less of a hack too
* paw and uspp augmentation are stored in the same place
* paw print total all-electron energy if all atoms are paw, not very useful, but nice
* most of the pseudopotential-writing reading files have been renamed to some more
logical name, I spare you the list. E.g. read_oldpseudo -> read_pseudo_rrkj3
* paw_t derived type was only used in atomic, so I have put it there (as the pseudo_type
module take ages to recompile it was awkward to leave it there).
PAW tests inserted in test/ there are 6 of them, as a consequence I have also put 5 paw
pseudopotentials in the pseudo/ directory.
I will update the PAW scf examples soon, by deleting them (as running a pw with a PAW
pseudopotential requires no option at all). PAW generation examples should be updated.
A lot of small bugfixes here & there mostly uninitialized variables or unallocated
pointers used as subrotuine arguments.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4769 c92efa57-630b-4861-b058-cf58834340f0
Modules/error_handler.f90 . Not really an elegant solution, since
the module in error_handler is never used and subroutine "errore"
is not in the module, but better than it used to be. All makefiles
and make.depend updated (fixes yesterday's linking error as well).
Minor changes here and there as well.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4591 c92efa57-630b-4861-b058-cf58834340f0
global auxiliary variable saved%v removed and replace by a smaller local array.
ddd_PAW has now the same indexing structure as becsum.
miscellaneous:
- defined undefined variable ze2=0 in ascheqps
- ibnd_up/dw initialized in print_ks_energies.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4517 c92efa57-630b-4861-b058-cf58834340f0
present but somewhat hidden. I hope that everything works as before
(matdyn doesn't work with spin-orbit or noncolinear case, but I think
it didn't already) but it is a good idea to check. The choice of a single
q-point in phonon via iq1,iq2,iq3 is presently disabled.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4484 c92efa57-630b-4861-b058-cf58834340f0
Mods: removed read_paw module and .PAW temporary format support. Makefiles and
make.depend updated accordingly.
Fixes in ld1: test of upf types was not working anymore (same as reason as CP),
added deallocation of pawsetup. As testing of PAW without generation may not
work yet I have put a big error for it.
Other: simpson_cp90 was pretending to be simpson in error messages
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4461 c92efa57-630b-4861-b058-cf58834340f0
like in it was in reduce sub of PW. This is to avoid large temporary
array allocations in module mp.f90 (mp.f90 calls subs in mp_base.f90).
On the other hands mp.f90 provide the general interfaces for different
kind of data and data size checking.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4441 c92efa57-630b-4861-b058-cf58834340f0
This is the first step of code cleanup. Actually nothing should change.
rad_paw_routines -> paw_onecenter (2 functions went to paw_init)
grid_paw_variables -> paw_variables (with some additions from rad_paw_routines)
grid_paw_routines -> paw_init (merged with 2 init functions from rad_paw)
Probably there are a few random fixes around.
Next step: remove ndmx and ntpx.
LP
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4422 c92efa57-630b-4861-b058-cf58834340f0
nymore). Other things working: parallel, gamma-only.
Files vxc_t, exc_t and vxcgc moved from atomic to Modules (to prevent cyclic dependencies).
Other random fixes: a kind in init_vloc, a call to infomsg in ./PH/add_for_charges.f90.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4358 c92efa57-630b-4861-b058-cf58834340f0
number "ntyp" of species, not up to the maximum "npsx"; pseudopotentials
should be deallocated if already allocated when read, or otherwise the
pwcond code will stop complaining that "array is already allocated" (not
all compilers complain, though).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4322 c92efa57-630b-4861-b058-cf58834340f0
This means that a lot of routines have been modified and a few files have
been added. During the year several people have contributed to this code,
mainly Guido Fratesi, Ricardo Mazzarello, Stefano de Gironcoli, Andrea Dal
Corso and me (Lorenzo Paulatto).
A brief report of modified or added files follows, further down you will
find a loger report of modifications that was necessary to merge develop_PAW
branch with the current CVS version.
Current version is not 100% functional, but it doesn't brake anything else and
can be used to generate and test PAW pseudopotential.
*************************************
*** Brief report of modifications ***
*************************************
Modified files:
PW/clean_pw.f90
PW/electrons.f90
PW/print_clock_pw.f90
PW/hinit0.f90
PW/potinit.f90
PW/newd.f90
PW/summary.f90
PW/setup.f90
PW/read_pseudo.f90
PW/init_us_1.f90
PW/init_run.f90
PW/mix_rho.f90
atomic/atomic_paw.f90
atomic/write_paw_recon.f90
atomic/ld1_writeout.f90
atomic/write_resultsps.f90
atomic/ld1inc.f90
atomic/ld1_readin.f90
atomic/gener_pseudo.f90
atomic/parameters.f900
atomic/run_pseudo.f900
atomic/set_rho_core.f90
atomic/pseudovloc.f90
Modules/read_upf.f90
Modules/uspp.f90
Modules/pseudo_types.f90
Modules/parameters.f90
Added files:
PW/grid_paw_routines.f90
PW/rad_paw_routines.f90
Modules/grid_paw_variables.f90
Modules/read_paw.f90
Added files that will be removed:
PW/rad_paw_trash.f90
PW/paw_xc.f90
Examples:
examples/PAWexample contains a full test of PAW pseudopotential
for Oxygen. The test consist in these tasks:
- 2 norm conserving, 2 US and 4 PAW pseudopotentials are
generated and tested in ld1
- pw test for an isolated O atom at different cutoffs
- pw test for an O2 molecule at different O-O distance
please read examples/PAWexample/README for (a few) details.
NOTES:
1. new modifications to atomic_paw (and related) from ADC have been rolled
back, as they were breaking a lot of things, I will reintroduce them
later when I am sure that everything works properly.
2. the files PW/paw_xc.f90 and Modules/rad_paw_trash.f90 will be removed in
the next few weeks.
TODO:
1. use new ld1 XC code as much as possible, and remove legacy XC routines
from rad_paw_routines
2. full self-consistency with radial energies
3. make new Harris-Foulkes estimate paw-aware
4. provide some kind error estimate
5. FORCES and stress!! (require symmetrization of becsums)
6. cleanup
************************
*** merge of PW code ***
************************
Versions notation:
OLD=version from 2 years ago used as reference to generate the patches
NEW=CURRENT=current trunk version
PAW=current develop_PAW version
Note: pseudo-potential input and allocation routines changed
a lot in the last years, this is a diagram:
OLD:PW/readin ~~> PAW:PW/read_pseudo --> disappears
pops out --> PAW:PW/readin ~~> NEW:PW/read_pseudo
added files:
Modules/read_paw.f90 (contains module read_paw_module with subroutines
paw_io nullify_pseudo_paw, allocate_pseudo_paw and
deallocate_pseudo_paw previously in removed file
Modules/readpseudo.f90. Also contains module
paw_to_internal with subroutine set_pseudo_paw,
previously in upf_to_internal.f90)
PW/paw_xc.f90 (contains OLD=PAW xc and gcxc routines as adapting paw
grid code to use new routines was very error prone and
quite worthless, as it has to be removed anyway)
Conflicts reported by CVS during merge:
DONE */Makefiles (all replaced with new, redone by hand)
DONE flib/functionals.f90 (nothing to do)
DONE Modules/functionals.f90 (RNV == replaced with NEW version)
DONE Modules/atom.f90 (trivial: duped rgrid)
DONE Modules/autopilot.f90 (trivial)
DONE Modules/bfgs_module.f90 (RNV)
DONE Modules/cell_base.f90 (RNV)
DONE Modules/check_stop.f90 (RNV)
DONE Modules/constants.f90 (RNV)
DONE Modules/constraints_module.f90 (RNV)
DONE Modules/energies.f90 (RNV)
DONE Modules/input_parameters.f90 (RNV)
DONE Modules/ions_base.f90 (RNV, has 3 new subs)
DONE Modules/ions_nose.f90 (RNV)
DONE Modules/parameters.f90 (actually RNV)
DONE Modules/path_base.f90 (RNV)
DONE Modules/path_opt_routines.f90 (RNV)
DONE Modules/path_reparametrisation.f90 (RNV)
DONE Modules/path_variables.f90 (RNV)
DONE Modules/pseudo_types.f90 (cleaned double def of paw_t)
DONE Modules/read_cards.f90 (RNV)
DONE Modules/read_namelists.f90 (checked and RNV)
DONE Modules/uspp.f90 (trivial)
DONE Modules/xml_io_base.f90 (RNV)
DONE PW/read_pseudo.f90 (merged by hand with PAW PW/readin)
DONE PW/bp_calc_btq.f90 (trivial)
DONE PW/c_bands.f90 (actually RNV)
DONE PW/ccgdiagg.f90 (RNV)
DONE PW/cegterg.f90 (RNV)
DONE PW/cft3s.f90 (RNV)
DONE PW/cinitcgg.f90 (RNV)
DONE PW/c_phase_field.f90 (RNV)
DONE PW/divide_et_impera.f90 (nothing to do?)
DONE PW/exx.f90 (RNV)
DONE PW/hinit0.f90 (easy)
DONE PW/h_psi.f90 (RNV)
DONE PW/init_run.f90 (easy)
DONE PW/kpoint_grid.f90 (nothing to do?)
DONE PW/newd.f90 (required mod in newd_paw_grid, CHECK!!)
DONE PW/openfil.f90 (actually RNV)
DONE PW/paw.f90 (actually RNV)
DONE PW/punch.f90 (RNV)
DONE PW/pwscf.f90 (quite RNV)
DONE PW/set_kup_and_kdw.f90 (RNV)
DONE PW/setup.f90 (RNV + 2 line merged by hand)
DONE PW/sgama.f9 (actually RNV)
DONE PW/sgam_at_mag.f90 (actually RNV)
DONE PW/stop_run.f90 (actually RNV)
DONE PW/stres_gradcorr.f90 (actually RNV)
DONE PW/symrho_mag.f90 (nothing to do)
DONE PW/v_of_rho.f90 (RNV)
DONE PW/compute_fes_grads.f90 (RNV)
DONE PW/gradcorr.f90 (RNV)
DONE PW/input.f90 (RNV)
DONE PW/pw_restart.f90 (RNV)
DONE PW/read_ncpp.f90 (actually RNV)
DONE PW/summary.f90 (RNV + inserted new PP type)
DONE PW/wfcinit.f90 (RNV)
the hard ones:
DONE PW/electrons.f90 (adapted code to new syntaxes, a lot of cleanup, removed
some PAW junk that can be readded later, removed parts
that were applyed twice, or had been removed in trunk,
the rhog allocations and usage may need fixes)
DONE PW/mix_rho.f90 (merged tauk and paw additions, a bit of cleanup and smarter
variables names)
DONE PW/init_us_1.f90 (qtot redefined with "triangular" index nb,mb-->ijv)
modified for compiling:
Modules/io_files.f90 (depatched)
PW/pwcom.f90 (depatched)
Modules/parameters.f90 (temporary readded cp_lmax = lmaxx+1)
PW/newd.f90 (merge was wrong, redone mostly by hand)
PW/read_ncpp.f90 (depatched)
PW/read_pseudo (small fixes)
PW/sgam_at_mag.f90 (depatched)
PW/sgama.f90 (depatched)
PW/stres_gradcorr.f90 (depatched)
modified for running:
PW/clean_pw.f90 (added call to deallocate_paw_internals)
Modifications to PAW routines:
1. compute_onecenter_charges and compute_onecenter_charges modified to
comply with new structure of v_xc (in v_of_rho.f90), requiring new
g-space densities to be saved and computed --> using old xc routines
as this code will be removed.
2. qrad size has changed, prad and ptrad had to be changed accordingly.
3. several minor modifications to use new radial grid structure.
4. infomsg arguments changed, very funny bug followed.
5. added new routine deallocate_paw_internals, called by PW/clean_pw.f90
required to run pp.x with more than one q-point(and good programming
practice)
*************************
*** merge of LD1 code ***
*************************
2nd try: atomic code replaced with current version, then merge by hand
the files that are used by paw subsystem:
* atomic_paw.f90 (replaced with most recent version from develop_PAW
routine us2paw and paw2us taken from newer trunk
version, a lot of minor changes.)
* gener_pseudo.f90 (fixes)
* ld1inc.f90 (PAW variables added)
* ld1_readin.f90 (PAW variables added, I am not sure if lpaw should go
in input or inputp namelist)
* ld1_writeout.f90 (it was only necessary to add a few lines)
* pseudovloc.f90 (nothing to do)
* run_pseudo.f90 (almost nothing to do)
* set_rho_core.f90 (readded a few lines for lnc2paw)
* write_paw_recon.f90 (nothing to do)
* write_resultsps.f90 (nothing to do: trunk version is more
PAW-aware than PAW version)
Main problems were found in subroutines run_pseudo and gen_pseudo,
a little code had to be rewritten to comply with new variable names
and fix with merge.
TODO: fix atomic_paw routines to use minimal allocated arrays insetad
of ndmx sized ones; try to use the pawet as much as possible. Remove
test lines and other garbage. Find a fix for PAW2.
The first week of september Andrea Dal Corso uploaded a few modifications to
the atomic_paw routines. I had to rollback them as the structure of atomic_paw
has changed a lot and reimplementing them is probably easier and definitely
safer than fixing everything. I will do it soon, I swear!
LP
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4257 c92efa57-630b-4861-b058-cf58834340f0