Commit Graph

141 Commits

Author SHA1 Message Date
Paolo Giannozzi dfaff10db6 Release notes updated; fixed localhost for i-Pi on MacOS (Venkat Kapil) 2018-06-04 17:54:42 +02:00
Paolo Giannozzi 58705a9216 xdm test merged with other vdw-related tests 2018-05-09 18:31:07 +02:00
paulatto 9e337f3ba9 New code to compute total energy and phonons in 2D materials by enforcing 2D periodic boundary conditions. Inter-layer Coulomb interaction is truncated. Vacuum space need to be larger than the layer size. Also check phonon example17 and input documentation.
Developed by Thibault Sohier, Matteo Calandra, Francesco Mauri



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13952 c92efa57-630b-4861-b058-cf58834340f0
2017-10-25 10:40:59 +00:00
degironc 8daab211f1 no need for a portable stdint... normal stdint.h should work
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13828 c92efa57-630b-4861-b058-cf58834340f0
2017-09-05 01:23:37 +00:00
degironc 19b3d59586 Fletcher-32 checksum implemented in clib/fletcher32.c
c-routine for a 16-byte integer array taken verbatim from the 
optimized c version reported in
https://en.wikipedia.org/wiki/Fletcher%27s_checksum#Optimizations
except for the fact that the data size is not an argument of the 
function but rather the address of its location is passed, as this
is what a fortran call passes as reference. 
The type of these variables is also defined as uint32_t 
instead of size_t because this is what fortran implicitely does.

Fortran interfaces to a generic subroutine fletcher32_cksum also
defined in UtilXlib/fletcher32_mod.f90



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13824 c92efa57-630b-4861-b058-cf58834340f0
2017-09-03 15:01:51 +00:00
giannozz df779596bd F77_FUNC wrapper for C routines deleted with all associated configure machinery.
IMPORTANT: please verify the correct functioning of "ec_fill_radii" for qmmm


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13640 c92efa57-630b-4861-b058-cf58834340f0
2017-07-28 13:55:26 +00:00
degironc 3e20b43121 a problem with world_comm that was referenced in mp_global in
an obscure way solved.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13638 c92efa57-630b-4861-b058-cf58834340f0
2017-07-28 12:32:24 +00:00
giannozz 322baa015d Re-installed some minor changes to C and timing functions, aimed towards
removal of old-style fortran to C binding and of configure hacks. The
fortran timing functions are now f_tcpu and f_wall, with obvious meaning


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13631 c92efa57-630b-4861-b058-cf58834340f0
2017-07-27 17:26:36 +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
giannozz 93832116a9 Some more minor C-fortran cleanup
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13606 c92efa57-630b-4861-b058-cf58834340f0
2017-07-18 17:35:40 +00:00
degironc e1d6b18de9 more changes at the smmothing of beta- and q-funcions
US variable qq renamed qq_nt and a new variable qq_na added
because in real space the integral may depend (slightly) on
the atomic position and an atomic value is needed to compute
exactly normalizable wfc.  
Whenever realspace tricks are not used  qq_nt is used.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13604 c92efa57-630b-4861-b058-cf58834340f0
2017-07-15 23:16:18 +00:00
giannozz 2d49df4bd4 More cleanup with timing routines, see Doc/release-notes for explanations
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13603 c92efa57-630b-4861-b058-cf58834340f0
2017-07-15 20:33:50 +00:00
giannozz 36bad8b03a Cleanup, removal of unused C subroutines
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13602 c92efa57-630b-4861-b058-cf58834340f0
2017-07-15 20:18:16 +00:00
giannozz f3be636b49 c functions cclock and scnds called via iso_c_binding
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13601 c92efa57-630b-4861-b058-cf58834340f0
2017-07-15 15:34:01 +00:00
giannozz 735499b0b0 Forgotten include file, has been moved to FFTXlib/
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13013 c92efa57-630b-4861-b058-cf58834340f0
2016-09-23 20:30:11 +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 8a520cbe5d - adding support file for qmmm simulations to setup auxiliary quantities like
atomic radii, which are not defined in the atomic code and makes the "fix"
  for LAMMPS more clumsy.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12610 c92efa57-630b-4861-b058-cf58834340f0
2016-07-25 07:22:56 +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
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
giannozz bd6867cb1e Patch by Axel to ensure compilation on Windows
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11840 c92efa57-630b-4861-b058-cf58834340f0
2015-11-13 20:33:05 +00:00
giannozz d600cc5ea2 The string containing the MD5 hash could contain control character as it was
not initialized in case of failure. Modified to return an error message


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11780 c92efa57-630b-4861-b058-cf58834340f0
2015-10-09 18:57:46 +00:00
giannozz 0c9876eea7 Preprocessing option __INTEL replaced by __INTEL_COMPILER that the compiler
automatically recognizes. Please verify if clib/stack.c always compile or not.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11761 c92efa57-630b-4861-b058-cf58834340f0
2015-09-24 13:10:28 +00:00
paulatto 9982a6c061 Small change on previous commit: apparently (i.e. according to documentation) LoadLeveler send a SIGXCPU after soft_wall is reached and SIGKILL when har_wall is reached. I've added trapping of SIGXCPU.
Wall clock limit is specified as:
  wall_clock_limit = 5:00,4:30
which would give pw 30 minutes to shut down





git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11025 c92efa57-630b-4861-b058-cf58834340f0
2014-06-04 14:23:19 +00:00
paulatto 63e85afa7f Added the possibility to intercept several signal and trigger a proper stop of the code, as if the file prefix.EXIT was found.
Currently intercepted signals are SIGINT (caused by CTRL-C), SIGTERM (by default sent by PBS one minute before wall time expires), SIGUSR1, SIGUSR2

In order to compile this code add -D__TERMINATE_GRACEFULLY to MANUAL_DFLAGS in make.sys

This code partially conflicts with __TRAP_SIGUSR1, although they can both be compiled ony the last signal handler set will work. However they do the same thing, so __TRAP_SIGUSR1 could eventually be removed as it is less general. 

You can change the delay between the alert and the end of allocated wall time depending on the queue system. Here are some examples:

* with PBS:
  send the signal 120 seconds before the end:
  #PBS -l signal=@120

  send signal SIGUSR1 10 minutes before the end:
  #PBS -l signal=SIGUSR1@600

  you cand also send a signal manually with qsig, or send a signal and then stop:
   qdel -W 120 jobid
  will send SIGTERM, wait 2 minutes than force stop.

* with LodLeveler:
  According to documentation, a SIGUSR1 or a SIGTERM is sent, depending if the job will be restarted or not; SIGKILL follows after 2 minutes. There is no mention if this delay can be changed.



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11024 c92efa57-630b-4861-b058-cf58834340f0
2014-06-04 14:12:13 +00:00
giannozz fd7d2618b1 Modified according to suggestion by Pizzi and Cepellotti
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10955 c92efa57-630b-4861-b058-cf58834340f0
2014-05-09 19:04:20 +00:00
giannozz 7c01062ba0 Final (?) set of changes to the build system, especially for Windows (Axel)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10590 c92efa57-630b-4861-b058-cf58834340f0
2013-11-07 21:06:06 +00:00
giannozz d224f9d7b8 Small fixes for unitialized variables and questionable constructs,
courtesy of Ake Sandgren


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10577 c92efa57-630b-4861-b058-cf58834340f0
2013-11-05 14:35:41 +00:00
giannozz dab27f2c0d More cleanup of mpi modules, plus support for cross-compilation on windows
using the mingw compiler (Axel)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10573 c92efa57-630b-4861-b058-cf58834340f0
2013-11-04 09:58:24 +00:00
giannozz 4338c04895 Fixes for more warnings (e.g. unitialized variables) by Axel
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10526 c92efa57-630b-4861-b058-cf58834340f0
2013-10-10 14:24:18 +00:00
giannozz 41c8b628f1 Minor fixes by Axel to reduce the number of compiler warnings - harmless but
too many of them may hide serious warnings


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10524 c92efa57-630b-4861-b058-cf58834340f0
2013-10-10 12:46:35 +00:00
paulatto 4bccbf5dd8 l1 is an unsigned int: it cannot be negative, error is signaled by it being == 0
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10129 c92efa57-630b-4861-b058-cf58834340f0
2013-04-09 13:44:09 +00:00
paulatto 99900e84ab Added a small C function to do a binary copy of a file and an interface to call it from fortran
res = f_copy(source, dest)

returns:
 0 : no error
-1 : cannot open source
-2 : cannot open dest
-3 : error while writing
-4 : disk full while writing




git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10111 c92efa57-630b-4861-b058-cf58834340f0
2013-04-07 15:34:07 +00:00
paulatto 3aff3512d1 avoid excessive complaining
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10053 c92efa57-630b-4861-b058-cf58834340f0
2013-03-12 10:27:14 +00:00
paulatto 0db771c5c1 All c/fortran interfaces replace with iso_c_binding.
f_mkdir replaced with a more explicit f_mkdir_safe, f_mkdir is now a direct wrapper of the POSIX function.

f_mkdir_safe now checks if a directory exists and is writable before creating it, it will only return error if at the end the directory is not writable
Possible causes: file exists but is not a directory; exists and is a directory, but not owned by the user; broken filesystem; perverted umask

check_tempdir does not change directly, but it benefits from the changes in f_mkdir_safe

parallel_mkdir replaced with check_tempdir where it was necessary



git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10052 c92efa57-630b-4861-b058-cf58834340f0
2013-03-11 10:40:05 +00:00
giannozz e3358243f9 variable freed too earlyx
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10046 c92efa57-630b-4861-b058-cf58834340f0
2013-03-10 19:33:55 +00:00
paulatto 785427abff Added double-check of tmp directory existing and being user-writable. This prevents unexpected crashes when outdir exists but is not a directory or is a directory owned by another user.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10045 c92efa57-630b-4861-b058-cf58834340f0
2013-03-10 13:44:28 +00:00
giannozz 6fd015975a Some cleanup of tmp_dir creation. It may break a few things, in particular the
restart mechanism (it is already rather broken anyway). Notable changes:
- variable "restart" is set to true if restart_mode='restart' on input,
  independently upon the value of other variables
- the way tmp_dir and wfc_dir are created if not existent is simplified
- f_mkdir returns -1 if directory exists, 0 if created, 1 if error
- data-file.xml is no longer removed/renamed if restart_mode='from_scratch'. 
  I don't remember why it was done (although I remember there was a reason)
  and cannot see why it should be done. If restarting is dictated by input
  options, it shouldn't matter whether there is already a data-file.xml file
  on disk or not


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10031 c92efa57-630b-4861-b058-cf58834340f0
2013-03-02 14:44:00 +00:00
giannozz f0e2f5a47c Minor corrections
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10000 c92efa57-630b-4861-b058-cf58834340f0
2013-02-21 08:26:04 +00:00
giannozz 6f7c3830d7 make.depend and scrpt generating them updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9573 c92efa57-630b-4861-b058-cf58834340f0
2012-10-24 14:31:17 +00:00
paulatto d70e0802d4 minor bugs
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9542 c92efa57-630b-4861-b058-cf58834340f0
2012-10-16 13:13:59 +00:00
paulatto 7350275bd6 fixed to not include any header if -D__PTRACE is not set
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9511 c92efa57-630b-4861-b058-cf58834340f0
2012-10-10 17:48:27 +00:00
paulatto 6754325b17 Added the possibility to do print backtrace symbols in case of error,
compile with -D__PTRACE to activate.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9508 c92efa57-630b-4861-b058-cf58834340f0
2012-10-10 15:58:57 +00:00
paulatto e4e7d4e226 Apparently the t_mode c structure is not so trivial to use, removed the possobility to specify an umask in mkdir and removed the interface to chmod
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8584 c92efa57-630b-4861-b058-cf58834340f0
2012-02-06 15:03:21 +00:00
paulatto dd92bf644a Small fix because of mkdir returning -1 when directory already exists
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8583 c92efa57-630b-4861-b058-cf58834340f0
2012-02-06 14:50:38 +00:00
giannozz d54950b4e7 Harmless memory leak: missing deallocation
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8216 c92efa57-630b-4861-b058-cf58834340f0
2011-10-22 14:13:21 +00:00
giannozz b133da40d2 Added a few final deallocations - There should be no side effects, but
I haven't tried all codes calling clean_pw (e.g. phonon)


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8214 c92efa57-630b-4861-b058-cf58834340f0
2011-10-21 21:22:04 +00:00
marsamos b077c491e5 forgot to clean patches before commit
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7786 c92efa57-630b-4861-b058-cf58834340f0
2011-05-17 09:39:46 +00:00
marsamos 051b652b95 deleted old GIPAW
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7785 c92efa57-630b-4861-b058-cf58834340f0
2011-05-17 09:38:53 +00:00
ccavazzoni 4e1dba6525 - adding symlink function to be used with PLUMED and CP
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7698 c92efa57-630b-4861-b058-cf58834340f0
2011-04-25 20:57:25 +00:00
marsamos 371ebb3859 add chdir to c_mkdir.c
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7560 c92efa57-630b-4861-b058-cf58834340f0
2011-03-10 16:40:29 +00:00