Commit Graph

63 Commits

Author SHA1 Message Date
cavazzon c880a0a848 - Almost all neb routines moved to Modules
- New module check_stop used by all codes
  to check for exit conditions ( maximum time
  or EXIT file )


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@718 c92efa57-630b-4861-b058-cf58834340f0
2004-03-15 00:08:26 +00:00
sbraccia 186a8f6657 Fixed a problem with a rename of an already renamed variable (ntyp_ => ntyp => nsp : ifort complains !!!).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@715 c92efa57-630b-4861-b058-cf58834340f0
2004-03-12 16:30:12 +00:00
sbraccia c609bca56b Fixed a bug spotted by Konstantin Kudin:
when a calculation was restarted wfc were always read by file
(no matter whether the startingwfc keyword was set or not).
The same was true for the potential.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@714 c92efa57-630b-4861-b058-cf58834340f0
2004-03-12 10:51:49 +00:00
cavazzon 744fb1cbb2 - neb basic routines moved to Modules, to be shared among codes
- 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
2004-03-08 08:43:25 +00:00
sbraccia b893fdb844 oops ...
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@679 c92efa57-630b-4861-b058-cf58834340f0
2004-02-26 15:24:50 +00:00
sbraccia 0224c2a9ad wfc-extrapolation extended to all "relax" algorithms.
Molecular Dynamics based algorithm partially rewritten:
both standard and damped MD are performed with the velocity Verlet
scheme (with or without constrains).
Renata's subroutines are used only in the framework of variable
cell.
constrain.f90 file is no longer needed: cnstrains are set in the
input file (see CONSTRAINTS CARD) with the same input format used
in FPMD. An arbitrary number of constrains can be set.
In the case of constrained relaxation the damped MD
algorithm is used instead of BFGS.
When restart_mode = "from_scratch" many reastr files are removed
from the scratch directory.
Several other modifications here and there. (C.S.)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@675 c92efa57-630b-4861-b058-cf58834340f0
2004-02-26 11:50:36 +00:00
giannozz 384b771828 Berry-Phase calculation in parallel fixed for npool = 1,
program stops if npool > 1.  Misc doc updates


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@614 c92efa57-630b-4861-b058-cf58834340f0
2004-02-18 14:28:27 +00:00
dalcorso c7fbb5340c Use only potential mixing with dipfield.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@603 c92efa57-630b-4861-b058-cf58834340f0
2004-02-16 11:47:26 +00:00
degironc ce9d9804c9 14 feb 2004 LDA+U: variable starting_ns_eigenvalue has been added in
order to allow to specify how to fill starting ns occupation
             matrices. Useful when the default choice take the wrong
             (or not desired) path.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@598 c92efa57-630b-4861-b058-cf58834340f0
2004-02-14 08:39:34 +00:00
sbraccia 4367d42d15 The new bfgs minimization scheme is now the default.
To use the old scheme the keyword ion_dynamics must be set to "old-bfgs".
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@576 c92efa57-630b-4861-b058-cf58834340f0
2004-02-09 11:15:33 +00:00
sbraccia d674eaaa72 Removed all references to miscellany. basic_algebra_routines and parser are used instead.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@547 c92efa57-630b-4861-b058-cf58834340f0
2004-02-02 17:31:15 +00:00
cavazzon 2051825662 Workaround for XLF compiler bug,
use of renamed variables.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@516 c92efa57-630b-4861-b058-cf58834340f0
2004-01-24 10:01:55 +00:00
giannozz 0b1a5c9fd8 Extensive module cleanup: DP moved from wrong place (parameters) to the
correct place (kinds); module "varie" replaced by "control_flags" (not
yet in pwcom, though) - many many files changed.
64-bit cpus (Opteron, maybe Itanium) should now work if __LINUX64 is defined


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@513 c92efa57-630b-4861-b058-cf58834340f0
2004-01-23 15:08:03 +00:00
sbraccia b59ad69456 Again some problems with ethr: the diagonalization threshold can now be read by the input file (diago_thr_init).
This value of ethr is overwritten (with a warning message) in the case of a phonon calculation (lphonon flag added). If diago_thr_init is not specified in the input file it is automatically set in setup.f90 (for example in the case of a nscf calculation ethr = tr2 / nelec).
I hope this policy is appropriate for all kind of calculations.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@511 c92efa57-630b-4861-b058-cf58834340f0
2004-01-23 09:50:00 +00:00
sbraccia ce4506716b Obscure messages about gamma and noncolin modified.
Version number updated to 1.4.0.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@500 c92efa57-630b-4861-b058-cf58834340f0
2004-01-21 16:40:09 +00:00
sbraccia 2efd90d37f General cleanup. The threshold for diagonalization (ethr) is now fixed to 1.D-5 at the first scf iteration (iter=1). A check is then performed to verify that the resulting density is adeguate (dr2/nelec > ethr). If it is not the diagonalization goes on with a smaller ethr. For iter > 1 ethr is updated with the old recipe. Also added a warning in update_pot that indicates "problems" in the wfc extrapolation. This problem has not yet been fixed.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@495 c92efa57-630b-4861-b058-cf58834340f0
2004-01-20 12:26:22 +00:00
dalcorso c5baf9fdae Additional check for fixed occupations.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@490 c92efa57-630b-4861-b058-cf58834340f0
2004-01-19 10:53:55 +00:00
giannozz 3eae140f76 More uninitialized variables have been initialized
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@467 c92efa57-630b-4861-b058-cf58834340f0
2004-01-06 16:53:55 +00:00
giannozz 5a8c4a05dc Tabs removed (again)
NEB/ removed from makedeps.sh
plotrho: added possibility to have contour lines of various type
A few undefined variables defined (again)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@465 c92efa57-630b-4861-b058-cf58834340f0
2004-01-05 18:11:01 +00:00
sbraccia 3a4d6e8d5c Minor bugs in BFGS structural relaxation fixed.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@462 c92efa57-630b-4861-b058-cf58834340f0
2003-12-18 13:39:53 +00:00
sbraccia c690c6d228 The trick suggested by Francesco Antoniella ( input from file ) is now coded
in iosys (input.f90).
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@456 c92efa57-630b-4861-b058-cf58834340f0
2003-12-16 15:43:57 +00:00
sbraccia 2f4d7baded PW, Gamma and NEB are now unified.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@449 c92efa57-630b-4861-b058-cf58834340f0
2003-12-10 14:57:07 +00:00
giannozz 7fcd5e1a3c NEB at gamma (NEB/pwgneb.x) is now available.
Problem with starting_magnetization in NEB code fixed
Misc documentation updates
chdens : fixed XCRYSDENS output (Tone)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@443 c92efa57-630b-4861-b058-cf58834340f0
2003-12-04 11:41:08 +00:00
giannozz fd6348978e spin-polarized calculations: at least one value for
starting_magnetization must be explicitly set in input
(fixed previously introduced bug).


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@438 c92efa57-630b-4861-b058-cf58834340f0
2003-12-02 14:28:22 +00:00
cavazzon 9ce7263953 - bug (alpha compiler) reported by Sergey has been fixed
- module filnam in pwcom moved to io_files module
- module units in pwcom moved to io_file

From now on, all file names and their unit and attributes (i.e. reclen)
should be defined in Modules/io_files.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@382 c92efa57-630b-4861-b058-cf58834340f0
2003-11-09 18:30:08 +00:00
cavazzon 40e943b6f4 ibm xlf bug workaround related to the "use only" sintax construct
carlo


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@377 c92efa57-630b-4861-b058-cf58834340f0
2003-11-06 15:35:23 +00:00
moscac 88566f1a21 input modified because of a bug in mpixlf_r compiler on ibm machines
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@371 c92efa57-630b-4861-b058-cf58834340f0
2003-11-05 17:22:35 +00:00
sbraccia 24ce939aeb Unit stdout (set in Modules/io_global.f90) is used to write on standard output
instead of 6 or *.
C.S.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@365 c92efa57-630b-4861-b058-cf58834340f0
2003-11-04 10:53:05 +00:00
moscac cd6efe6773 non collinear input variables put into input.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@359 c92efa57-630b-4861-b058-cf58834340f0
2003-10-30 13:56:34 +00:00
giannozz bba38fd761 bfgs modified to work with arbitrary components of the atomic positions
kept fixed (Carlo Sbraccia)
"Total force" now prints a more sensible quantity:
\sqrt(\sum_{i,n} f_i(n)^2) instead of \sum_{i,n} |f_i(n)|
Cleanup in several routines and in modules.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@334 c92efa57-630b-4861-b058-cf58834340f0
2003-10-16 16:30:12 +00:00
dalcorso bf7fb98555 Unit conversion was inconsistent with the definition in INPUT_PW.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@326 c92efa57-630b-4861-b058-cf58834340f0
2003-10-06 13:21:15 +00:00
cavazzon cbff0f48de different modules containing filenames and directories
substituted by common module:
Modules/io_files.f90


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@317 c92efa57-630b-4861-b058-cf58834340f0
2003-09-23 14:45:12 +00:00
fabris 033a080ddd parallel and more robust version of DIIS diagonalization
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@297 c92efa57-630b-4861-b058-cf58834340f0
2003-09-02 12:43:13 +00:00
cavazzon 0afcf95c6f io_base logic simplified even more,
variable wf_collect added to the control namelist.
This logical variable will be used in pw to
collect wave funcions at the end of a parallel run.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@295 c92efa57-630b-4861-b058-cf58834340f0
2003-09-02 09:16:09 +00:00
giannozz 319ae12049 sp3 fix (allocation with zero length). Manual updates.
Gamma: fixed occupations, electric fields, cleanup.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@289 c92efa57-630b-4861-b058-cf58834340f0
2003-08-21 15:14:22 +00:00
dalcorso 72a8f4b592 Very simple implementation of occupations='from_input' in pwscf.
Useful for atomic calculations.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@287 c92efa57-630b-4861-b058-cf58834340f0
2003-08-21 09:41:51 +00:00
cavazzon da47185a66 All namelists and cards moved to Modules/input_parameters.f90 .
From now on, all new input variables should be added
  to this module, and then copied to the code internal
  variables in the input.f90 subroutine
The namelists and cards parsers are in :
  Modules/read_namelists.f90 and Modules/read_cards.f90

files input_parameters.f90 read_namelists.f90 read_cards.f90
are shared by all codes, while each code has its own version
of input.f90 ( used to copy input values into internals variables ).

EXAMPLE:
 suppose you need to add a new input variable called "pippo"
 to the namelist control, then:

1) add pippo to the input_parameters.f90 file containing the
   namelist control

   INTEGER :: pippo = 0
   NAMELIST / control / ....., pippo

   remember: always set an initialization value!

2) add pippo to the control_default subroutine
   ( cantained in module  read_namelists.f90 )

   subroutine control_default( prog )
     ...
     IF( prog == 'PW' ) pippo = 10
     ...
   end subroutine

   this routine set the default value for pippo,
   that could vary with the code

3) add pippo to the control_bcast subroutine
   ( cantained in module  read_namelists.f90 )

   subroutine control_bcast( )
     ...
     call mp_bcast( pippo )
     ...
   end subroutine


4) add pippo to the control_checkin subroutine
   ( cantained in module  read_namelists.f90 )

   subroutine control_checking( prog )
     ...
     IF( pippo < 0 ) &
       CALL error(' control_checkin ',' variable pippo less than 0 ', 1 )
     ...
   end subroutine

5) Copy the value of pippo in the code internal variables
   ( file input.f90 )

   subroutine iosys()
     use input_parameters, only: ...., pippo
     use pwcom, only: ....., myvar
     ...
     call read_namelists( 'PW' )
     ...
     myvar =  pippo
     ...
   end subroutine


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@282 c92efa57-630b-4861-b058-cf58834340f0
2003-07-31 13:24:20 +00:00
giannozz 85162b6006 cell parameters in the case ibrav=0 back to previous convention
(as documented in INPUT_PP). Misc. cleanup, manual updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@278 c92efa57-630b-4861-b058-cf58834340f0
2003-07-28 15:03:32 +00:00
giannozz 6b9b7b9725 Atomic positions are written in a relaxation run in input units
The unit cell can be given using crystallographic parameters a, b, c,
(all in A), cosab cosac, cosbc .  Misc. cleanup


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@263 c92efa57-630b-4861-b058-cf58834340f0
2003-07-11 15:16:00 +00:00
dalcorso 9de24e53b5 Energy and forces with a finite electric field.
Added the possibility to subtract the dipole field
for slab or molecule calculation.
(See  PRB 59, 12 301 (1999) and PRB 63, 205426 (2001).)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@252 c92efa57-630b-4861-b058-cf58834340f0
2003-06-30 14:09:05 +00:00
cavazzon de9a865b6c subroutine latgen and volume moved to flib
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
2003-06-25 12:43:25 +00:00
giannozz dc72f0a224 More files names dimensioned to 80, pwtools/Makefile fixed
Examples updated, new example for band structure calculation added


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@246 c92efa57-630b-4861-b058-cf58834340f0
2003-06-25 09:12:45 +00:00
giannozz 3a086b820c Installation cleanup; fftw are compiled by default
All Makefiles updated for addition of Berry phase code
iargc, getenv, getarg preprocessed
Missing Blas/Lapack sources for pw added


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@228 c92efa57-630b-4861-b058-cf58834340f0
2003-06-12 07:43:14 +00:00
dieguez d6193c5491 *** empty log message ***
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@226 c92efa57-630b-4861-b058-cf58834340f0
2003-06-11 20:07:53 +00:00
giannozz aef2705d46 Davidson modified to use less memory in non-US calculations
(involves changes in several routines)
Option "nooverlap" for Davidson removed


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@215 c92efa57-630b-4861-b058-cf58834340f0
2003-05-22 10:18:38 +00:00
fabris f6b268f0ce Small changes for RMM-DIIS diagonalization
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@213 c92efa57-630b-4861-b058-cf58834340f0
2003-05-19 09:26:15 +00:00
giannozz 318b756c42 rimossi alcuni write di troppo
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@155 c92efa57-630b-4861-b058-cf58834340f0
2003-04-14 20:14:09 +00:00
dalcorso 513f48608f Introdotto il calcolo del dipolo di cariche localizzate al centro della
cella unitaria in chdens (utile solo per molecole isolate).
Introdotta la possibilita' di aggiungere un potenziale a forma di dente
di sega al potenziale degli ioni per simulare un campo elettrico
finito. (by J. Tobik)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@141 c92efa57-630b-4861-b058-cf58834340f0
2003-04-03 15:35:36 +00:00
giannozz f5f21247a0 Do not restart bfgs from previous results if restart_mode='from_scratch'!!!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@135 c92efa57-630b-4861-b058-cf58834340f0
2003-03-25 13:39:36 +00:00
giannozz 433ad9a2f9 calls to mpi_bcast replaced by calls to interface mp_bicast
Electron-phonon with Vanderbilt according to MW


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@132 c92efa57-630b-4861-b058-cf58834340f0
2003-03-24 15:25:17 +00:00