lp:~nickpapior/siesta/4.0-xc-np

Created by Nick Papior and last modified
Get this branch:
bzr branch lp:~nickpapior/siesta/4.0-xc-np
Only Nick Papior can upload to this branch. If you are Nick Papior please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Nick Papior
Project:
Siesta
Status:
Merged

Recent revisions

526. By Nick Papior

Removed RC comments that were not needed, no code logic has changed

525. By Alberto Garcia

More robust treatment of nspin=4 in SiestaXC/ggaxc.f

524. By Alberto Garcia

More robust way to deal with nspin=4 in xc.f

523. By Alberto Garcia

Add extra logging and control capabilities

A number of extra control and logging features have been implemented
to facilitate the use of Siesta within automated computational
frameworks, notably the AiiDA platform.

- A new file 'MESSAGES' holds a summary of warnings and possible errors.

  Calls to 'die' now print a line in MESSAGES with a 'FATAL' prefix, and
  then perform an orderly closing of the CML file, and flush stdout and
  stderr, before actually terminating the program.

  The routine 'message(level,str)' also prints an appropriate line in
  MESSAGES.

- Optional termination if geometry is not converged

  If the flag 'Geometry.Must.Converge' is .true., the
  program will terminate if the geometry relaxation is
  not converged, before carrying out any final analysis.

- Enhancements to the CML interface

  Add routine print_spin and call it at every geometry step. The final
  call in 'siesta_analysis' is preserved for backwards compatibility.

  Put energies in 'scf finalization' module in the CML file

  Write stress to CML file at each geometry step

  Close properly the CML stack before 'die'ing.

- Add a simple interface to check wall-clock time

  A new module 'm_check_walltime' provides a routine
  'check_walltime' and exports variables 'walltime_max'
  and 'walltime_warning'.

  Users can request walltime control by means of the
  fdf variables:

  Max.Walltime N # in seconds, default infinity
  Max.Walltime.Slack # in seconds

  Typically, the first would be set automatically by inheritance
  from the queuing system or AiiDA script. The second should give
  an estimate of the time needed for cleanup operations. The default
  is 5 seconds.

  Currently, the 'check_walltime' routine is invoked at the end of
  every SCF step, and at the end of every geometry step.

- Fixes for compilation

  Use a 'local_sys.{f,F}' file in Util programs and
  SiestaXC to decouple them from the extra functionality
  in the top-level sys.F file (particularly the CML closing
  operations).

  Remove the dependency of 'alloc.o' on 'debugmpi'.

  Add '.c' to .SUFFIXES in 'arch.make.in'

- Add arch.make suitable for fortran-mpi Docker image

  (Experimental)

522. By Alberto Garcia

Add extra logging and control capabilities

A number of extra control and logging features have been implemented
to facilitate the use of Siesta within automated computational
frameworks, notably the AiiDA platform.

- A new file 'MESSAGES' holds a summary of warnings and possible errors.

  Calls to 'die' now print a line in MESSAGES with a 'FATAL' prefix, and
  then perform an orderly closing of the CML file, and flush stdout and
  stderr, before actually terminating the program.

  The routine 'message(level,str)' also prints an appropriate line in
  MESSAGES.

- Optional termination if geometry is not converged

  If the flag 'Geometry.Must.Converge' is .true., the
  program will terminate if the geometry relaxation is
  not converged, before carrying out any final analysis.

- Enhancements to the CML interface

  Add routine print_spin and call it at every geometry step. The final
  call in 'siesta_analysis' is preserved for backwards compatibility.

  Put energies in 'scf finalization' module in the CML file

  Write stress to CML file at each geometry step

  Close properly the CML stack before 'die'ing.

- Add a simple interface to check wall-clock time

  A new module 'm_check_walltime' provides a routine
  'check_walltime' and exports variables 'walltime_max'
  and 'walltime_warning'.

  Users can request walltime control by means of the
  fdf variables:

  Max.Walltime N # in seconds, default infinity
  Max.Walltime.Slack # in seconds

  Typically, the first would be set automatically by inheritance
  from the queuing system or AiiDA script. The second should give
  an estimate of the time needed for cleanup operations. The default
  is 5 seconds.

  Currently, the 'check_walltime' routine is invoked at the end of
  every SCF step, and at the end of every geometry step.

- Fixes for compilation

  Use a 'local_sys.{f,F}' file in Util programs and
  SiestaXC to decouple them from the extra functionality
  in the top-level sys.F file (particularly the CML closing
  operations).

  Remove the dependency of 'alloc.o' on 'debugmpi'.

  Add '.c' to .SUFFIXES in 'arch.make.in'

- Add arch.make suitable for fortran-mpi Docker image

  (Experimental)

521. By Nick Papior

Fixed initialization of interpolation variable and reduction variable

This fixes lp:1685169.
The bug occurs when siesta has been compiled with:
   -ffpe-trap=invalid,zero,overflow,underflow,denormal
which signals an SIGFPE.
Typically these things are hidden when compiling normally and one
should, probably, not be concerned.

520. By Nick Papior

Updated Eig2DOS, now it is more consistent with the gnubands.f90 file

Changed:
-m => -e (makes more sense that small e is lower energy bound as used in gnubands)
-M => -E (makes more sense that small e is lower energy bound as used in gnubands)
  (note that -m and -M are still workable)
the old -e is not used anymore, however, if -d (debug) is enabled it works the same.
-F is now equivalent to -f (as -F is used in gnubands).

It now also checks whether the supplied KP file exists.

519. By Nick Papior

Forced ParallelOverK to false if non-collinear spin

Now Diag.ParallelOverK is forced to .false. if non-collinear
spin is used.

This fixes lp:1666428

518. By Nick Papior

Fixed averaging of the electri-field energy contribution with GridCellSampling

The energy from the external electric field was not added. It does not
matter for a true electric field, however when a dipole correction is
in place the electric field may vary slightly and introduce corrections
to the energy. This is now fixed.

This fixes lp:1666219

517. By Nick Papior

Memory leak fixed in spher_harm.f

A memory leak was discovered using valgrind:
  valgrind --track-origins=yes --leak-check=full siesta

A pointer array was nullified and re-allocated in certain cases

Branch metadata

Branch format:
Branch format 6
Repository format:
Bazaar pack repository format 1 (needs bzr 0.92)
This branch contains Public information 
Everyone can see this information.

Subscribers