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
- input pressure in GPa ( both code )
- Output stress in GPa ( both code )
- Output layout made more similar:
energies, positions, forces, cell
displayed in the same way
- Zero velocities after a restart implemented in CP
- Nose and damped dynamics for cell implemented
in FPMD like in CP
carlo
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1260 c92efa57-630b-4861-b058-cf58834340f0
- initialization (both code uses the same ggen)
- now FPMD initializes the small-boxes too (required for untrasoft pseudo)
- print out
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1186 c92efa57-630b-4861-b058-cf58834340f0
( cell_move in Module/cell_base.f90 )
- More input parameters check in Module/read_namelists
- For CP, restart file is saved in working directory like in FPMD
and not in output_dir where MD data are saved, this is because
usually one keep MD trajectories in home dir.
- added pseudopotential for wannier dynamics example
- added Wannier postprocessing (from Manu Sharma )
- fixed a small bug for FPMD and 'diis' electron dynamics
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1083 c92efa57-630b-4861-b058-cf58834340f0
PW: nqfm => nqfx, some us variables and aainit moved to Modules/uspp.f90 (new)
CP: lx, lqx => lqmax, lix => lmaxx+1, variables moved, aainit not yet merged
invmat moved to flib/ and merged with invmat3 of CP/FPMD,
rndm and ylmr2 moved to flib/ in rranf.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@793 c92efa57-630b-4861-b058-cf58834340f0
- basic cell and ionic variables moved frpm pwcom to
cell_base and ions_base .
cell_base modules and ions_base modules should be initialized
through the use of cell_base_init and ions_base_init, this after
having read the namelists and the cards .
IN THE FUTURE NONE OF THE VARIABLES IN THE BASIC MODULES SHOULD
BE SET IN THE MAIN CODES, BUT THROUGH A CALL TO SOME INIT
FUNCTIONS CONTAINED IN THE BASIC MODULE ITSELF.
THE IDEA IS THAT THE BASIC VARIABLES SHOULD BE USED AS
READ-ONLY. UNFORTUNATELY IN F90 THERE IS NO POSSIBILITY
TO SET A READ ONLY ATTRIBUTE.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@702 c92efa57-630b-4861-b058-cf58834340f0
io_base: strings with the name of the data sections added to the
restart file, this will allow R/W of data sections in any order
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@257 c92efa57-630b-4861-b058-cf58834340f0
and used by all codes,
as common latgen it has been used the one contained in CPV,
sice this version solve some problems related to left-handed cell
new common module ions_base with ionic basic variables
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@247 c92efa57-630b-4861-b058-cf58834340f0
all FPMD related subs moved back to FPMD directory.
2) All Make.fpmd... merged with Make.cp... and removed.
3) "use parameter .." added to all cft_3 subroutines .
4) hpsort.f90 erf.f90 simpson.f90 moved to flib .
everything seem to compile fine,
at least on IBM
carlo
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@67 c92efa57-630b-4861-b058-cf58834340f0