lp:libgridxc

Created by Alberto Garcia and last modified
Get this branch:
bzr branch lp:libgridxc
Only Alberto Garcia can upload to this branch. If you are Alberto Garcia please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Alberto Garcia
Project:
libGridXC
Status:
Development

Recent revisions

47. By Alberto Garcia

Add optional argument to cellxc to keep the input distribution

The internal load-balancer in cellxc can be deactivated by
setting 'keep_input_distribution' to .true. on input.
This is useful if a client program has already determined
an optimal distribution.

46. By Alberto Garcia

Remove superfluous array in mesh3d

44. By Alberto Garcia

Remove obsolete code from ldaxc

A superfluous test for relativistic LDA exchange had been
left inadvertently in ldaxc. That test is now done in
cellxc and atomxc, and it uses the appropriate procedures
depending on the libxc version.
The fossil code in ldacx prevented proper compilation with
libxc >= 4.0.0.

43. By Nick Papior

Update interpolation code. Avoid allocation checks

The main change is the update of the interpolation.f90 code which is
now the same as in Siesta.

There were a few changes mainly related to allocation/deallocation of
the spline_t. Now the call to generate_spline_master does not store
the data with an optional flag. When the user only wants the d2yd2x
we can skip some overhead of deallocation + copies which should be
beneficial for large calculations.

Other parts of the code have been modified to use assignments to array
sections instead of to whole (allocatable) arrays. This is simply to
tell the compiler to *not* insert LHS reallocation checks.

[(re)Allocation on assignment is a standard F2003 feature that might
impact performance. See:
https://stackoverflow.com/questions/42140832/automatic-array-allocation-upon-assignment-in-fortran]

42. By Alberto Garcia

Fix allocation size in cellxc

(The bug was harmless, as the size used (nf after a loop) was at least
as large as the right one (nXCfuncs).)

41. By Alberto Garcia

Add support for libXC v4 (bug fix)

(Fixed faulty logic in previous commit)

LibGridXC can now work with recent versions of libXC. An interface change
in v4 regarding the relativistic LDA exchange is now automatically handled
by checking the version number of the library pointed to by the LIBXC_ROOT
variable.

Compatibility spans now versions libXC-2.2.3 to libXC-4.2.3.

40. By Alberto Garcia

Add support for libXC v4

LibGridXC can now work with recent versions of libXC. An interface change
in v4 regarding the relativistic LDA exchange is now automatically handled
by checking the version number of the library pointed to by the LIBXC_ROOT
variable.

Compatibility spans now versions libXC-2.2.3 to libXC-4.2.3.

39. By Alberto Garcia

Improvements to building system. Dual serial/mpi hierarchy

- The 'build.sh' script harnesses the standard makefile to build an
  alternative hierarchy of the form

   ROOT
       gridxc.mk, libxc.mk
       serial/
          ...
       mpi/
          ...

  Each of the 'serial' and 'mpi' subdirectories are complete
  installations of libGridXC. The top-level gridxc.mk defines the
  appropriate LIBS and INCFLAGS variables depending on the setting of
  the WITH_MPI variable, that can be set in client makefiles.

- The auxiliary libxc.mk file is automatically installed.

- A local installation is always done (./lib, ./include)

- Simpler makefile for Testers, using local installation

- The fortran.mk file must include FC_SERIAL and FC_PARALLEL symbols.

38. By Alberto Garcia

Fix variable name in non-libxc version

Due to an oversight, the non-libxc code blocks in atomxc and cellxc
were using a non-existent variable name.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers