Commit Graph

202 Commits

Author SHA1 Message Date
Paolo Giannozzi 9af0317f8d Once again, a problem with modules in Makefiles. In order to simplify things,
after the proliferarion of modules and libraries, I have collected into a
single variable BASEMOD_FLAGS, defined in make.inc, the list of directories
for modules, to be included by all codes. IMPORTANT NOTICE: re-run "configure",
the new Makefiles work in conjunction with the new make.inc
2018-01-08 22:28:48 +01:00
Paolo Giannozzi f950a749d8 Finally removed last remains of "custom" grid. The same two routines are used
to initialize G-vectors for all grids: one (ggen) to generate a new set of
G-vectors, one (ggens) to generate a subset of G-vectors with the same
ordering as in the original set.
2018-01-05 22:26:39 +01:00
Pietro Delugas 8095e17bb6 Some cleanup of Modules/upf.f90 and Modules/read_upf_schema.f90
hopefully solving issues with some older version of intel compiler. The
The routine writing a temporary copy of upf files compliant to xml
syntax has been moved in an external module
2017-12-20 19:42:17 +01:00
giannozz 45fa016097 Module in libxc_funcs.f90 wasn't apparently used anywhere
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@14014 c92efa57-630b-4861-b058-cf58834340f0
2017-11-26 21:47:41 +00:00
pietrodelugas b43909dd00 Replace iotk with FoX for reaiding XML UPF files. Included reading routine for new UPF format based on XML schema. Old UPF files may be not fully compliant with XML syntax, in case of parse errors an emended temporary copy is made in outdir and deleted after parsing is done
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13994 c92efa57-630b-4861-b058-cf58834340f0
2017-11-14 12:09:56 +00:00
giannozz 143f145e9f Old xml input file, never really used, deleted. To be replaced by direct
read of the new, schema-based, xml file, currently read via a translator


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13954 c92efa57-630b-4861-b058-cf58834340f0
2017-10-25 15:04:18 +00:00
giannozz 17a0d4fb44 "make clean" no longer removes version.f90 (breaks packaged version)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13887 c92efa57-630b-4861-b058-cf58834340f0
2017-09-29 15:40:45 +00:00
giannozz 1e2d541c27 Fixes and extensions to ESM, by Minoru. To be completed: compiles and works
but there is a case that doesn't work.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13727 c92efa57-630b-4861-b058-cf58834340f0
2017-08-19 12:59:26 +00:00
pietrodelugas c961d6b145 for XML I/O in pw.x and cp.x iotk has been replaced with FoX
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13654 c92efa57-630b-4861-b058-cf58834340f0
2017-07-30 17:59:35 +00:00
degironc 4636bca635 KS_Solvers directory has been created with three subdirectories:
KS_Solvers/CG, KS_Solvers/Davidson, KS_Solvers/Davidson_RCI.
Two are currently used by QE, the third one implements the Davidson
diagonalization within the Reverse Communication Interface paradigm,
courtesy of Micael Oliveira.

KS_Solvers routines depend only on lower level libraries, notably UtilXlib, 
LAXlib, (SCA)LAPACK, and BLAS.

reorganization can be improved. For instance some duplicated routines like
cdiaghg and rdiaghg could/should be moved in LAXlib. This could reduce the need
to include  KS_Solvers directories in the link step of many codes.    

Minimal changes to calling sequence have been made, essentially just adding
h_psi,s_psi,g_psi and h_1psi,s_1psi routines names as arguments (with a
specific calling sequence ihardcode inside the routines that agree with PWSCF one). 
This could be avoided adopting the RCI paradigm.

Compiled in serial and parallel, 177/182 pw tests passed (3 that were failing 
even before on my laptop pw-berry, pw-langevin, pw-pawatom + 2 unknown==not tested), 
12 /17 cp tests passed (some o2-us-para-pbe-X fail but the same was for the 
original version)

I assume the modified calling procedure is working and the problem lies somewhere else.
 
Randomly tested some examples in pw, ph, pwcond and it seams to work.

Please report any problem.





git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13644 c92efa57-630b-4861-b058-cf58834340f0
2017-07-29 12:19:19 +00:00
degironc fe8300299c mp_diag.f90 moved from Modules to LAXlib
dependencies updated


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13641 c92efa57-630b-4861-b058-cf58834340f0
2017-07-28 14:21:28 +00:00
degironc 7fd27ba0ad UtilXlib directory created to contain a library (libutil.a) for
basic operations: error handling, timing clocks, interfaces to basic mpi 
calls, find free units...
These routines are moved from Modules and dependencies to other modules
are removed. 

MANY files are updated to comply with the move.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13629 c92efa57-630b-4861-b058-cf58834340f0
2017-07-26 11:15:20 +00:00
pietrodelugas 0c9ca78026 hdf5 interface has been readapted to recent changes of the binary output. H5F5 interface now works for 1.10.x as well as 1.8.x libraries and can be compiled using serial hdf5 libraries
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13545 c92efa57-630b-4861-b058-cf58834340f0
2017-06-04 17:42:17 +00:00
giannozz df7dee04f5 CP now also reads the charge density in G-space. Added workaround to
avoid changing too many things at the same time. The way the option 
"trhor" works is just awful. Two auxiliary routines that perform FFT of
the charge density extracted. They may be useful in other cases as well


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13512 c92efa57-630b-4861-b058-cf58834340f0
2017-05-15 15:21:05 +00:00
giannozz 397c64b88c There is no reason to have Wyckoff-related modules part in Modules/, part in
PW/src/: module wyckoff moved to Modules/


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13492 c92efa57-630b-4861-b058-cf58834340f0
2017-05-05 20:00:43 +00:00
giannozz 8238d74754 Auxiliary tool "dist.x" merged into pw.x. There is no longer an executable
"dist.x" but a link to pw.x. The code figures out what to do. May be useful
as well as "dry run", to check that everything is correct in input.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13426 c92efa57-630b-4861-b058-cf58834340f0
2017-03-22 14:16:08 +00:00
giannozz fb026749de New band parallelization for EXX, contributed by Taylor Barnes et al.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13290 c92efa57-630b-4861-b058-cf58834340f0
2017-02-07 17:39:25 +00:00
giannozz f86660892c Some harmonization of old and new tetrahedra:
- old routine computing dos, allocation and deallocation of "tetra" moved into
  module ktetra; variables tetra and ntetra are used only inside the module
- added module variable nntetra containing number of neighboring points used
  (20 for optimized tetrahedra, 4 otherwise)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13228 c92efa57-630b-4861-b058-cf58834340f0
2017-01-08 14:14:38 +00:00
pietrodelugas 81f2072851 cleanup of some unusued variables
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12858 c92efa57-630b-4861-b058-cf58834340f0
2016-08-27 17:02:50 +00:00
pietrodelugas 6e93ffec3c experimental version of HDF5 bynary output for charge density, spin-polarization g-vectors and collected wavefunctions. Thanks to Nicola Varini
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12856 c92efa57-630b-4861-b058-cf58834340f0
2016-08-27 14:30:50 +00:00
giannozz 73746cc0ea Major simplification of new I/O: each pool writes its own set of wavefunctions
Little tested and unfinished, should anyway work (names and contents of files
not changed wrt the previous situation)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12834 c92efa57-630b-4861-b058-cf58834340f0
2016-08-25 07:13:40 +00:00
giannozz a0a6b8977b Added interface with PALENQUE. Following the traditional logic (or lack of it)
the three pieces are in three different places: fsocket.f90 in Modules/,
sockets.c in clib/, run_driver in PW/src. Subroutine get_server_address might
actually be moved to module "command_line_options".
Version number updated to 6.beta (6.0.beta too long, 6.0bet? 6.0.b?)  


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12833 c92efa57-630b-4861-b058-cf58834340f0
2016-08-24 19:54:34 +00:00
ccavazzoni 75cb15a76d - real space grid initialization moved to fft_types module
(it was acting only on descriptor variables, noneed to keep it into module)
- name change: all function/variables named *_dlay_* renamed *_type_* for consistency

- IMPORTANT: fft_type_allocate merged with real space grid initializaiton
  some other grid functions removed/merged with fft types.
  Since some initialization has been moved elseware there could be some SIDE EFFECT

- In practice, now grid dimensions (nr1, nr2, nr3) comes with fft variable definition
  and variable allocation. 
  NEXT: review of the initialization/setting of the fft parallelization

- real space grid initialization subroutines moved to fft_types module
  (it was acting only on descriptor variables, no need to keep it in Modules)
- name change: all function/variables named *_dlay_* renamed *_type_* for consistency

- IMPORTANT: fft_type_allocate merged with real space grid initializaiton
  some other grid functions removed/merged with fft types.
  Since some initialization has been moved elseware there could be some SIDE EFFECT

- In practice, now grid dimensions (nr1, nr2, nr3) comes with fft variable definition
  and variable allocation.
  NEXT: review of the initialization/setting of the fft parallelization



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12703 c92efa57-630b-4861-b058-cf58834340f0
2016-08-09 21:38:57 +00:00
pietrodelugas 61c514d0cd Implementation of reading part of new XML schema file added. If compiled with the FLAG __XSD the code will write the XML output file described by the schema and restart information will also be read from the new XML file. Still in testing phase.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12598 c92efa57-630b-4861-b058-cf58834340f0
2016-07-21 14:44:22 +00:00
degironc 18dc5b3bd1 routine upf_to_internal modified so that for USPP we set the augmentation charge as an
l-dependent array in all cases.
 This is already the case when upf%tpawp or upf%q_with_l are .true. .
 For vanderbilt US pseudos, where nqf and rinner are non zero, we do here what otherwise
 would be done multiple times in many parts of the code (such as in init_us_1, addusforce_r, 
 bp_calc_btq, compute_qdipol) whenever the q_l(r) were to be constructed. 
 For simple rrkj3 pseudos we duplicate the infomation contained in q(r) for all q_l(r).

 This requires a little extra memory but unifies the treatment of q_l(r) and allows further 
 tweaking with the augmentation charge.

 Variable upf%q_with_l set .true. at the end of the operation. It would be better to leave the 
 variable untouched at its input value  and modify the routines that compute q_l(r) to just use
 the now always present upf%qfuncl array  but this is the first step before some cleanup.

 setqf.f90 moved from PW/src to Modules, Makefiles and dependencies updated




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12591 c92efa57-630b-4861-b058-cf58834340f0
2016-07-20 11:42:37 +00:00
giannozz 02ce4df8d6 make.sys => make.inc. All other codes using make.sys should modify their build
mechanism accordingly.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12539 c92efa57-630b-4861-b058-cf58834340f0
2016-06-25 07:26:50 +00:00
pietrodelugas 0213240c44 The data types and routines for writing the schema-compliant XML output
of pw.x, developed in a distinct branch  are merged to the trunk. 
Work done by: 
Giovanni Borghi, Andrea Ferretti, Pietro Delugas  

N.B. The feature is still experimental. To compile it,
 add in make.sys the manual preprocessing  flag   
              -D __XSD   

  


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12372 c92efa57-630b-4861-b058-cf58834340f0
2016-04-29 17:19:28 +00:00
giannozz df30a665aa Explicit preprocessing produces *_tmp.f90 files instead of *.F90 files, to
prevent trouble with OS-X. May or may not work (it won't unless configure
is updated: please somebody with v.2.63 of autoconf do it), may turn out to
be obsolete anyway.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12364 c92efa57-630b-4861-b058-cf58834340f0
2016-04-27 14:53:38 +00:00
puma 7a3996b2ef xsf.f90 moved here.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12259 c92efa57-630b-4861-b058-cf58834340f0
2016-03-25 15:04:48 +00:00
puma dc3db3ce99 Moved pw_dot.f90 and zvscal.f90 here.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12254 c92efa57-630b-4861-b058-cf58834340f0
2016-03-25 14:46:01 +00:00
giannozz 1fea499fae Since we are in the process of moving stuff around, I think it is a good
moment to get rid of flib/, whose usefulness is far from obvious. The content
of flib/ is now in Modules/. Many makefiles updated and little more. 

Packages using QE routines should just remove links to flib/flib.a.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12072 c92efa57-630b-4861-b058-cf58834340f0
2016-01-26 12:51:02 +00:00
ccavazzoni 491b47d6e6 - removing LA files
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12056 c92efa57-630b-4861-b058-cf58834340f0
2016-01-23 20:04:03 +00:00
giannozz e193710eaa Routines invmat, invmat_complex, dinv_matrix, zinv_matrix merged into a small
module invmat. Should be harmless, but please check.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12028 c92efa57-630b-4861-b058-cf58834340f0
2016-01-20 10:34:27 +00:00
giannozz 9d708045b5 Module gvecw moved to Modules/; variables for modified kinetic energy merged
with PW. There are several other variables that can be merged now, but these 
three were easier and required changes to a very small number of routines.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11983 c92efa57-630b-4861-b058-cf58834340f0
2016-01-13 18:33:08 +00:00
ccavazzoni fdf7766648 - FFT Modules replaced by FFTXlib
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11857 c92efa57-630b-4861-b058-cf58834340f0
2015-11-21 10:37:48 +00:00
ccavazzoni 780f46c67f - separation of fft data type instances and scatter functions in different modules
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11813 c92efa57-630b-4861-b058-cf58834340f0
2015-10-29 09:08:16 +00:00
gborghi 97d862cdf5 -D __XSD protected commit: sample code for writing a file data-file-schema.xml according to the new xml format
defined in qes.xsd schema, collaboration with Schroedinger company


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11763 c92efa57-630b-4861-b058-cf58834340f0
2015-09-24 16:52:50 +00:00
giannozz 03d8985312 "pot" parallelization level, no longer used, is removed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11688 c92efa57-630b-4861-b058-cf58834340f0
2015-08-20 17:29:18 +00:00
giannozz cd0f8332d2 New version of ESM, courtesy of Minoru Otani
1. rewritten the core part of the ESM to improve readability and efficiency 
   of the code (esm.f90).
2. introduce a new function (exp_erfc(x,y) = exp(x) * erfc(y)) to avoid 
   getting “NaN” in particular case.
4. two dimensional (xy plane) average charge density and electrostatic
   potentials are printed out to ‘prefix.esm1’ instead of stdout
3. make ESM calculation compatible with the NEB (neb.x).
4. introduce the constant bias potential (constant-mu) 
   (PRL 109, 266101 (2012)) feature to both pw.x and neb.x.
5. write ESM information in the XML file (One can use post-processing program
   such as pp.x).
6. including various example calculations. 



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11662 c92efa57-630b-4861-b058-cf58834340f0
2015-07-30 11:48:07 +00:00
giannozz 144abd2db2 Added support for analytical GTH PPs, courtesy of Sebastiano Caravati
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11573 c92efa57-630b-4861-b058-cf58834340f0
2015-06-12 08:24:39 +00:00
giannozz 4943e637ed Since sic.f90 is used only in CP, moved from Modules/ to CPV/src/
More minor fixes, make.depend updated 


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11172 c92efa57-630b-4861-b058-cf58834340f0
2014-09-17 13:08:59 +00:00
dalcorso c32485bad1 Wyckoff positions parser cleanup and addition of special positions.
(Contributed by Federico Zadra)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11146 c92efa57-630b-4861-b058-cf58834340f0
2014-08-28 09:08:29 +00:00
dalcorso b785c27093 Added the possibility to give as input coordinates the space group and the
inequivalent atomic positions in crystal coordinates. (Federico Zadra and 
A. Dal Corso)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11126 c92efa57-630b-4861-b058-cf58834340f0
2014-08-04 09:59:04 +00:00
giannozz c1b72fa44f Added TB09 functional, from libxc, courtesy of Eric Germaneau.
Added two small files from libxc. Compile with -D__LIBXC, link with libxc:
-L/dir/where/libxc/is -lxcf90 -lxc
User guides updated with a reshuffling of names: contributors to all of QE
(in particular, most functionals) are listed in the user guide of QE and
not in the one of PW. make.depend updated

This is just to avoid that the work done is lost. It should be a first step 
towards better organization of XC functionals. We should seriously consider
one of the following options:
1. move to libxc, getting rid of all duplicated functionals, keeping only
   those that are not available in libxc;
2. add the possibility to use any functional from libxc (currently only a few
   can be used). This may require serious restructuring work in our XC
   functional (il-)logic, that has become clumsy, obscure and redundant


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11075 c92efa57-630b-4861-b058-cf58834340f0
2014-07-08 10:57:02 +00:00
giannozz 1c47b08a52 Problem with postprocessing and nonlocal fnctional rVV10 wasn't yet solved
by yesterday's commit


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11035 c92efa57-630b-4861-b058-cf58834340f0
2014-06-07 13:13:54 +00:00
giannozz 53bcb858cd More questionable english
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10984 c92efa57-630b-4861-b058-cf58834340f0
2014-05-16 19:23:39 +00:00
giannozz be978a739d Added wrapper for nonstandard implementation of complex BLAS function zdotc
(e.g. some versions of optimized BLAS for Mac). In order to ctivate it, add 
-Dzdotc=zdotc_wrapper to DFLAGS in make.sys.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10972 c92efa57-630b-4861-b058-cf58834340f0
2014-05-16 11:55:10 +00:00
oliviero cae97fd042 ops, forgot to remove environ_input.o from Makefile
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10954 c92efa57-630b-4861-b058-cf58834340f0
2014-05-09 14:56:23 +00:00
obm e0b8534459 Severe: GWW head.x was not working (segmentation faults). There was an obsolote version of very slightly modified phq_init.f90, which resulted in unallocated arrays. I merged the slight
change with PHonon phq_init.f90. I also added a new module wannier_gw, for a tight integration with the rest of the QE. 


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10772 c92efa57-630b-4861-b058-cf58834340f0
2014-02-26 16:25:53 +00:00
marsamos f471967b09 added file plugin_variables to Modules dir
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10770 c92efa57-630b-4861-b058-cf58834340f0
2014-02-26 12:18:28 +00:00