LD used instead of MPIF90 in Makefiles for loading. Since LD is used
anyway in iotk, it makes sense to use it. In some cases it may be
useful to have distinct options for compiling and for loading.
Minor cleanup in some routines
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3976 c92efa57-630b-4861-b058-cf58834340f0
Apparently the reason is insufficient stack size, but it may not be sufficient
to use command "limits" o "ulimit", because the stack size seems to be reset
either by queueing systems or by the code itself. A C routine that removes
stack limits has been added and is called at the beginning of the run.
Fixed format error in printout of parameters for Berendsen thermostat (Eduardo)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3954 c92efa57-630b-4861-b058-cf58834340f0
PAW-related stuff extracted and put into the paw module; various checks
moved to more appropriate places; initialization of obsolete variables
lloc and lmax moved elsewhere; variable zp moved to uspp_param.
All PP-reading subroutines (too many) read zp, not zv; zv is set later.
Summary for pseudopotentials unified and purged of printout of
obsolete/unused/unset variables.
PW/readin.f90 renamed to something more suggestive of what it does
(PW/read_pseudo.f90). Module PW/upf_to_internal.f90 moved to Modules/,
routine upf2internal removed from CPV/read_pseudo.f90.
Harmless error in berry phase + a few bad formats in GIPAW fixed.
Dependencies and Makefiles updated.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3851 c92efa57-630b-4861-b058-cf58834340f0
- correct an unquoted string (iosys) in PW/input.f90:483
(this was the cause of tonight compilation failere)
- correct a few incorrect format strings
- make more use of the constants module and thus
provide more consistent units. NOTE, this has some
numerical changes in the outputs, as in some places
rather low precision and inconsistent numbers were
used for unit conversion.
- convert all(?) single precision constants to double
using the attached little perl program.
exceptions: efermi.f90 (as it is supposed to be rewritten
anyways), plotbands.f90 (it uses single precision everywhere,
which may result in saving a significant amount of memory,
so i converted the two double precision constants to single).
Unused routine 'set_fft_grid' removed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3602 c92efa57-630b-4861-b058-cf58834340f0
- disable locales via use of LC_ALL=C in all shell scripts
(which will hopefully make sorted lists more consistent
between people running with different locales).
- remove redundant files from PW, NMR_new, VdW, VIB;
rename subroutines if their functionality is noI
unchanged from the original source it was taken from.
- corresponding updates to Makefiles and dependencies.
- whitespace cleanups (eleminate remaining tabs).
- a few more float->DBLE
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3596 c92efa57-630b-4861-b058-cf58834340f0
- workaround for gfortran (it is sort of working)
- single precision constants promoted to double precision
- dfloat-> DBLE
- DIMAG ->AIMAG
- DCMPLX->CMPLX
Note that ALL calls to dfloat, dimag, dcmplx have been added recently,
since I removed all of them no more than a few months ago
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3586 c92efa57-630b-4861-b058-cf58834340f0
libcp.a respectively), used to load the executables. This removes
the need to specify all needed objects in many different makefiles.
Works with 95, ifort, xlf. Please let me know if there are problems
with more exotic or lousy compilers.
A few minor things fixed as well.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3428 c92efa57-630b-4861-b058-cf58834340f0
make.depend are now in the CVS and shouldn't be updated unless
needed. Configure no longer runs makedeps.sh. Type 'make depend'
to regenerate dependencies.
Remove all */make.depend files before updating!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3409 c92efa57-630b-4861-b058-cf58834340f0
representation of the small group of k. k points on the border
of the Brillouin zone of systems with non symmorphic space groups
are not dealt with. Spin-orbit case included.
Find_mode_sym extended to all the q points, with the same limitations as
the bands.
(still experimental).
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3330 c92efa57-630b-4861-b058-cf58834340f0
environment variable, or to './' (as before) if this is not set
- pseudo_dir is set by default to the value of $ESPRESSO_PSEDIR,
to $HOME/espresso/pseudo/ otherwise
- documentation updated to reflect the new defaults
Note that the 'capture' of $HOME/pw/pseudo using a call to 'getenv'
was already present in pwscf but it was not working (pseudo_dir was
overwritten) so nothing susceptible to create new problems was added.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3309 c92efa57-630b-4861-b058-cf58834340f0
Now the input of v_of_rho is the charge density in both real and reciprocal
space (always available within the scf loop); the output is unchanged. This
permits to get rid of one FFT for the calculation of V-Hartree and one for the
calculation of V-XC (\nabla rhr in GGA). Array dimensions removed from the list
of arguments of several routines (they are read from the modules). Unused
variables removed.
2) mix_rho has been modified in order to mix only the fourier components of the
smooth part of the density. The FFTs in the local-TF preconditioning are done
using the coarse mesh (cft3s). The performance of the mixing is almost
unchanged, but the mixing itself is much cheaper. Cleanup of unused variables.
Please, check for posible side effects of these modifications.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3256 c92efa57-630b-4861-b058-cf58834340f0
- io_pot removed, replaced by read_rho, write_rho. It looks like it is
working but more testing is needed
- Makeifles updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3072 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
Directory Raman/ removed: removed it from CVS/Entries to get rid of error.
I am experimenting a little bit with CVS so if you encounter strange
problems please let me know
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2800 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
Modules/functionals.f90 and flib/functionals.f90 and lsda_functionals.f90
Duplicated routine dmxc.f90 removed. Atomic code does not depend any
longer on PH/.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2551 c92efa57-630b-4861-b058-cf58834340f0
charges are computed in real space only in spheres around the atoms and
these patches are added to rho on the dense fft grid.
Affected routines: addusdens and newd.
Should scale linearly with system size, as opposed to the quadratic
scaling of the G-space implentation.
Experimental version:
- no forces nor stress yet.
- parallel version to be tested
- not to mention phonon and the other codes ...
DISCLAIMER
There are accuracy issues to be understood better, we may need properly
modifies pseudopotentials in order to avoid (or reduce) errors when
ecutrho is still insufficient to describe all Fourier components of the
augmentation charge.
In this case (that is nearly always) also the usal G-space has errors
(negative charges for molecules and surfaces, for instance) but they are
usually small and we are used to live with them.
Some experience is needed to understand the relevance of the error related
to R-space augmentation charges.
CP has R-space augmentation with small-boxes.
They also produce some different, usually small, errors.
I think (I may be wrong) this is the origin of the fact that sometime PWscf
and CP total energies are not exactly the same.
SdG and Antonio Suriano
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2531 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
written and read. Added some consistency checks. Postprocessing programs
not yet working (at least not all of them).
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2144 c92efa57-630b-4861-b058-cf58834340f0
conversion to real => DBLE
(including real part of a complex number)
conversion to complex => CMPLX
complex conjugate => CONJG
imaginary part => AIMAG
All functions are uppercase.
CMPLX is preprocessed by f_defs.h and performs an explicit cast:
#define CMPLX(a,b) cmplx(a,b,kind=DP)
This implies that 1) f_defs.h must be included whenever a CMPLX is present,
2) CMPLX should stay in a single line, 3) DP must be defined.
All occurrences of real, float, dreal, dfloat, dconjg, dimag, dcmplx
removed - please do not reintroduce any of them.
Tested only with ifc7 and g95 - beware unintended side effects
Maybe not the best solution (explicit casts everywhere would be better)
but it can be easily changed with a script if the need arises.
The following code might be used to test for possible trouble:
program test_intrinsic
implicit none
integer, parameter :: dp = selected_real_kind(14,200)
real (kind=dp) :: a = 0.123456789012345_dp
real (kind=dp) :: b = 0.987654321098765_dp
complex (kind=dp) :: c = ( 0.123456789012345_dp, 0.987654321098765_dp)
print *, ' A = ', a
print *, ' DBLE(A)= ', DBLE(a)
print *, ' C = ', c
print *, 'CONJG(C)= ', CONJG(c)
print *, 'DBLE(c),AIMAG(C) = ', DBLE(c), AIMAG(c)
print *, 'CMPLX(A,B,kind=dp)= ', CMPLX( a, b, kind=dp)
end program test_intrinsic
Note that CMPLX and REAL without a cast yield single precision numbers on
ifc7 and g95 !!!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2133 c92efa57-630b-4861-b058-cf58834340f0
- core charge, same module between CPV and FPMD
- Makefile: added dependency between "mods" and "libiotk"
- Makefile: fix for dependencies in PH and Gamma when __NEWPUNCH is defined
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1995 c92efa57-630b-4861-b058-cf58834340f0
all files open by seqopn.f90 and diropn.f90 in the TMP_DIR have the
general form "prefix"."extension" where extension is the only part of
the filename passed as an argument. This should avoid conflicts between
different jobs running at the same time and sharing the same TMP_DIR
(provided they have different prefixes ...)
All examples (from 1 to 26) give the same output as before on my pc.
Please let me know if you notice unexpected behaviours.
stefano
PS: example26 apparently does nothing (even giving the command run_example 7)..
As it uses cp.x which does not use seqopn/diropn routines this behaviour
cannot be due to the present changes.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1963 c92efa57-630b-4861-b058-cf58834340f0
exchange stuff.
These features can be obtained by compiling with -DEXX added to DFLAGS
in make.sys
***** DO NOT USE FOR ANY PRODUCTION RUN. *****
Stefano and Antonio
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1883 c92efa57-630b-4861-b058-cf58834340f0
The input keyword "potential_extrapolation" has been substituted by two separate keywords "pot_extrapolation" and "wfc_extrapolation".
Default values are still 'atomic' for the former and 'none' for the latter. Documentation updated.
C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1551 c92efa57-630b-4861-b058-cf58834340f0
noncolinear and spin-orbit cases. pwnc.x is no more needed and the
directory PWNC and all its files will be removed.
Step one: added to PW the noncolinear routines that have not been
merged, changes on all the Makefiles.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1537 c92efa57-630b-4861-b058-cf58834340f0
- Few more functionals has been added to file more_functionals.f90
since in PW BLYP/LSDA were not implemented .
In the same file, temporary, are stored old CP90 subroutines
for testing purpose ( in CP functionals were vectorized!! ).
The small program PP/xctest.f90 can be used to make a comparative
test between new and old routines, in case someone suspect a problem
there.
- buon anno!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1533 c92efa57-630b-4861-b058-cf58834340f0
in particular (modenum.ne.0) stands for iswitch = -4 now: is it OK?
unused show_memory routine also removed
documentation updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1503 c92efa57-630b-4861-b058-cf58834340f0
(to be tested). Makefile and ChangeLog cleanup
Per favore scrivete qualcosa nel ChangeLog quando fate qualcosa
e verificate che tutto compile quando aggiungete roba - PG
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1413 c92efa57-630b-4861-b058-cf58834340f0
- iotk_scan in iotk_module had a mixed up 'intent' statement.
- sun ultra fire 3 compiler warnings
- cleanup in filename length (brought to 256)
- cleanup in include files
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1399 c92efa57-630b-4861-b058-cf58834340f0