by alat, into global variable at(3,3). Local auxiliary vectors a1, a2, a3 are
introduced when convenient in order to reduce the number of changes. Beware
unexpected side effects.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7457 c92efa57-630b-4861-b058-cf58834340f0
Input external pressure is in KBar and not in GPa like it was formerly in CP.
Then from now on input value for variable "press" in cell namelist
should be given in KBar like it is written on the documentation!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6964 c92efa57-630b-4861-b058-cf58834340f0
but copied to internal variables. Documentation of "cell_dofree" aligned
with what it actually does. Tests and examples are missing.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6833 c92efa57-630b-4861-b058-cf58834340f0
CMPLX is explicitly typed, blas/lapack are lowercase (consistently with
the convention: FORTRAN COMMANDS = uppercase, all the rest lowercase)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5789 c92efa57-630b-4861-b058-cf58834340f0
calculations using a unique saw(x) function (included in cell_base) in
all e-field related routines (energy, potential, forces, ..) and inclusion
of a macroscopic electronic dipole contribution in the mixing scheme.
This should solve charge sloshing problems that appeared with the prevous
version in metallic slabs.
Riccardo Sabatini and Stefano deGironcoli
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5627 c92efa57-630b-4861-b058-cf58834340f0
Scaled (crystal) coordinates (+ cell if needed) are used in the relazation.
In the normal case it shouls behave exactly as usual.
CVSexample has been updated adding an example for this feature...
Once reasonably tested and robust it may be better to move these cases in
exanple03 that contains other relaxation examples.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4536 c92efa57-630b-4861-b058-cf58834340f0
Please do not re-introduce old-style syntax. A uniform syntax allows
if the need arises to change the precision in less than no time.
Courtesy of Pascal Thibeaudeau. Modules/ directory only.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3964 c92efa57-630b-4861-b058-cf58834340f0
parameters a, b, c, cosab, cosac, cosbc, to celldm was not correct.
Documentation updated. Courtesy of Marco Fornari.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3763 c92efa57-630b-4861-b058-cf58834340f0
lack of sufficient clarity). PW vc code is updated. For some reason vc-relax
rotates cell vectors a little (i.e. there seem to be a pure rotation in
the dispacement), somebody with more experise should look at that.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3685 c92efa57-630b-4861-b058-cf58834340f0
similarly to CP code via "cell_dofree" (and iforceh). So "cell_dofree"
now appears to be working for PW, and has a couple of new options
'xyt' and 'xyzt' which should allow to optimize only (x1,x2,y2) and
(x1,x2,y2,x3,y3,z3) components of the lattice vectors. If these added
constraints really do work properly in PW - only time will tell ...
It would be nice to merge "cell_base_init" from CPV to PW, and also
"cellmd" module of PW into "cell_base" of CPV. Otherwise these seem to
exist and be updated separately despite having identical
functionality.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3680 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
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
- Standard output hopfully made more clear and common between CP/FPMD
- common CP/FPMD initialization
- fix for nat checking in cploop
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1775 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