1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
|
-------------------------------------------------------
2018-11-01 libGridXC-devel-42
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).)
-------------------------------------------------------
2018-11-01 libGridXC-devel-41
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.
-------------------------------------------------------
2018-10-31 libGridXC-devel-40
(Faulty commit)
-------------------------------------------------------
2018-02-01 libGridXC-devel-39
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.
-------------------------------------------------------
2017-11-02 libGridXC-devel-38
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.
-------------------------------------------------------
2017-10-30 libGridXC-devel-37
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.
-------------------------------------------------------
2017-10-29 libGridXC-devel-36
Fix two bugs in the libxc interface
- The function gridxc_setXC_libxc was assigning incorrect weights to
the functional(s).
- In ldaxc and ggaxc, the exchange or correlation components were not
set to zero for, respectively, correlation or exchange functionals.
- Added a new test (Testers/test-match) to explore numerical differences
between the Soler-Balbas and the libxc results.
( + Updated Testers/test1 to support arbitrary seed sizes. The reference
results have not been changed yet, pending an assessment of the validity
of the chosen weights)
-------------------------------------------------------
2017-08-01 libGridXC-devel-35
Use explicit loops in cellxc to avoid temporaries
Rather than using the convenient but opaque array
syntax, use explicit loops in some places. This
would avoid temporary arrays and possible bugs.
(Thanks to Nick Papior)
-------------------------------------------------------
2017-07-07 libGridXC-devel-34
Make non-collinear calculations more robust in ggaxc.F
(Thanks to Ramon Cuadrado)
-------------------------------------------------------
2017-03-01 libGridXC-devel-33
Update building logic. Update docs/CHANGES file
To avoid installing an inconsistent gridxc.mk file, the 'install'
target has been removed. In a new INSTALL file, it is stressed that a
'make clean' command be issued before the actual building.
Libxc-specific tests are built if support for libxc is compiled in.
Update also version.info to match bzr revno.
-------------------------------------------------------
revno: 32
committer: Alberto Garcia <albertog@icmab.es>
branch nick: libgridxc
timestamp: Fri 2017-02-17 16:26:14 +0100
message:
Echo message on libxc in gridxc.mk
------------------------------------------------------------
revno: 31 [merge]
fixes bug: https://launchpad.net/bugs/1665294
author: Nick Papior <nickpapior@gmail.com>
committer: Alberto Garcia <albertog@icmab.es>
branch nick: libgridxc
timestamp: Fri 2017-02-17 12:46:13 +0100
message:
Avoid 'reshape' intrinsic. Remove gather buffer. Wrap libxc code
(Thanks to Nick Papior)
* The RESHAPE intrinsic will in many cases create a temporary array to
ensure that the array is consecutive in memory, and then perform the
copy. However, when dealing with large arrays this becomes very heavy
on memory and it is better to force a linear copy on the arrays. To
fix this a new module is added which implements two generic interfaces:
array_copy (for copying data)
array_add (for adding data)
Both implement different dimensions such that one may go from:
1D -> 4D
4D -> 1D
which is very convenient in the present code due to buffer arrays in
MPI calls.
* Secondly, two calls to MPI_AllGather were adding an unnecessary
buffer for receiving. However, when memory is consecutive there is no
need to use a buffer array: we simply pass by reference the first
memory segment and MPI treats it as a consecutive segment.
* Fixed compilation without LibXC
In xcmod the dummy function 'process_libxc_spec' had an erroneous call
to array specs. This has been fixed.
In gridxc the export of 'setXC_libxc_ids' was not properly wrapped
------------------------------------------------------------
revno: 30 [merge]
tags: libgridxc-0.7.0
committer: Alberto Garcia <albertog@icmab.es>
branch nick: libgridxc
timestamp: Wed 2017-01-25 23:29:31 +0100
message:
Enhance the libxc interface
The "setxc" suite has been extended:
- A new routine setxc_libxc_ids provides a simpler interface to setxc
when the libxc codes are known. For example:
call setxc_libxc_ids(2,[101, 130])
sets up PBE exchange and correlation.
- New extended "author" string codes for libxc functionals of the form
LIBXC-NNNN-SYMBOLIC_NAME
where the symbolic name is optional if NNNN is a valid libxc code,
or is used to determine the code if NNNN is zero. So:
LIBXC-0101
LIBXC-0000-GGA_X_PBE
are valid specifications for PBE exchange.
The 'setxc' internal structures hold the actual libxc code in the
numeric field.
------------------------------------------------------------
revno: 29
tags: libgridxc-0.6.1
committer: Alberto Garcia <albertog@icmab.es>
branch nick: libgridxc
timestamp: Mon 2016-10-31 17:23:50 +0100
message:
Make 'comm' argument mandatory in MPI version
This change will trigger an error if a serial version
of the library is used in a MPI program, or viceversa.
Update Testers/makefile to discover whether a serial
or parallel version of the library is used.
modified:
Testers/makefile
src/gridxc_config.F90
------------------------------------------------------------
revno: 28 [merge]
committer: Alberto Garcia <albertog@icmab.es>
branch nick: libgridxc
timestamp: Thu 2016-07-07 16:51:24 +0200
message:
Make the building system more robust and streamlined
VPATH mechanism
LIBXC support
MPI support
removed:
extra/lib-arch.mpi.make
extra/serial-lib-arch.make
gridxc.mk
added:
extra/fortran.mk
extra/libxc.mk
src/config.sh
src/gridxc.mk.in
renamed:
src/Testers/ => Testers/
modified:
00_README
Testers/makefile
src/MPI_instr/Makefile
src/MPI_instr/mpi_instr.f90
src/gridxc_config.F90
src/ldaxc.F
src/makefile
-------------------------------------------------------
2016-06-01 libGridXC-devel-27
Fix inconsistency in libxc interface for combined functionals
This fixes bug lp:1587887
-------------------------------------------------------
2016-06-01 libGridXC-devel-26
Apply minimum-density fix for nc case
Thanks to Ramón Cuadrado for the fix in ggaxc.F
-------------------------------------------------------
2016-05-28 (libGridXC-devel-25)
Fix MPI issue of redundant interfaces
An obscure problem with ambiguous generic interfaces has been solved
by using a new file 'mpi__include' which exports only a reduced set of
mpi symbols.
-------------------------------------------------------
2016-05-09 libGridXC-devel-24
Update building mechanism
- New subdirectory 'src'.
- Simple 'install' target for local installation.
- Updated README file.
- New gridxc.mk symbol file.
|