lp:~albertog/libgridxc/raw-mpi
- Get this branch:
- bzr branch lp:~albertog/libgridxc/raw-mpi
Branch merges
Branch information
Recent revisions
- 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-allocatio n-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 formROOT
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. - 37. By Alberto Garcia
-
Reduce overhead by instantiating libxc objects outside grid loop
By setting up the libxc objects beforehand and passing them to the
worker routines ldaxc and ggaxc, we save the overhead of instantiating
and deinstatiating them at every grid point.Note that the VDW subsystem is not affected: it does not use libxc
at all.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:libgridxc