Skip to content

Commit 1d6b187

Browse files
Merge pull request #320 from giovannipizzi/release_3.1
Release 3.1
2 parents 9676b93 + 68e9c04 commit 1d6b187

248 files changed

Lines changed: 285648 additions & 5342 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ postw90.x
33
.DS_Store
44
make.inc
55
w90chk2chk.x
6+
w90spn2spn.x
67
libwannier.a
78
libwannier.so
89
libwannier.dylib
910
*~
10-
*.x.dSYM
11+
*.x.dSYM
12+
.vscode

.pre-commit-config.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
- repo: https://github.com/pre-commit/pre-commit-hooks
2+
rev: v2.2.3
3+
hooks:
4+
- id: trailing-whitespace
5+
files: (?x)^(
6+
config/make[.]inc[.\w]*|
7+
examples/example\d\d[-]?\w*/.+win
8+
)$
9+
- id: end-of-file-fixer
10+
files: (?x)^(
11+
config/make[.]inc[.\w]*|
12+
examples/example\d\d[-]?\w*/.+win
13+
)$
114
- repo: git://github.com/pseewald/fprettify
215
sha: v0.3.3
316
hooks:
@@ -8,4 +21,3 @@
821
)$
922
verbose: true
1023
entry: ./test-suite/tools/fprettify-wrapper.py
11-

CHANGELOG.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,44 @@
11
# CHANGELOG of Wannier90
22

3+
## v3.1.0 (5th March 2020)
4+
5+
### New features
6+
7+
- Calculation of spin Hall conductivity according to the formalism given in Junfeng Qiao, Jiaqi Zhou, Zhe Yuan and Weisheng Zhao, PRB 98, 214402 (2018) + examples 29 and 30 and tests [[#264]](https://github.com/wannier-developers/wannier90/pull/264)
8+
9+
- Implementation of the SCDM method in Wannier90 for spinor wavefunctions and added example31 for the tutorial [[#277]](https://github.com/wannier-developers/wannier90/pull/277)
10+
11+
- Utility `w90spn2spn.x` for conversion between formatted and unformatted `.spn` files [[#274]](https://github.com/wannier-developers/wannier90/pull/274)
12+
13+
### Various improvements and bugfixes
14+
15+
- Add `install` target for `make`, now `make install` works [[#307]](https://github.com/wannier-developers/wannier90/pull/307)
16+
17+
- Added new documentation and fixed typos [[#308]](https://github.com/wannier-developers/wannier90/pull/308) [[#256]](https://github.com/wannier-developers/wannier90/pull/256) [[#306]](https://github.com/wannier-developers/wannier90/pull/306) [[#300]](https://github.com/wannier-developers/wannier90/pull/300)
18+
19+
- small restructuring of the routines for the AHC calculation with multiple Fermi energies and adaptive refinement [[#289]](https://github.com/wannier-developers/wannier90/pull/289)
20+
21+
- Fix in restart mode (now gathering matrices before dumping `.chk` file) [[#283]](https://github.com/wannier-developers/wannier90/pull/283)
22+
23+
- Fix `pw90common_fourier_R_to_k` subroutines bugs when `use_ws_distance = .true.` [[#273]](https://github.com/wannier-developers/wannier90/pull/273)[[#271]](https://github.com/wannier-developers/wannier90/issues/271)
24+
25+
- Fixes and speed improvements in `pw2wannier90.f90` [[#295]](https://github.com/wannier-developers/wannier90/pull/295) [[#255]](https://github.com/wannier-developers/wannier90/pull/255)
26+
27+
- Bug fixes of `gw2wannier90.py` and `k_mapper.py` [[#294]](https://github.com/wannier-developers/wannier90/pull/294)
28+
29+
- Various bugfixes in input reading and output generation [[#309]](https://github.com/wannier-developers/wannier90/pull/309) [[#290]](https://github.com/wannier-developers/wannier90/pull/290) [[#270]](https://github.com/wannier-developers/wannier90/pull/270) [[#266]](https://github.com/wannier-developers/wannier90/pull/266) [[#258]](https://github.com/wannier-developers/wannier90/pull/258)
30+
31+
- Adding tests for BoltzWann (at least for the electrical conductivity) [[#282]](https://github.com/wannier-developers/wannier90/pull/282)
32+
33+
- Bug fixed in the disentanglement step with SAWFs, especially when running in parallel [[#315]](https://github.com/wannier-developers/wannier90/pull/315)
34+
335
## v3.0.0 (27th February 2019)
436

537
### New Wannier90 features
638

739
- Selective localization and constrained centres from Marianetti et al. [PRB 90, 165125 (2014)] [[#187]](https://github.com/wannier-developers/wannier90/pull/187) [[#207]](https://github.com/wannier-developers/wannier90/pull/207) [[#206]](https://github.com/wannier-developers/wannier90/pull/206) [[#205]](https://github.com/wannier-developers/wannier90/pull/205)
840

9-
- Implementation of the SCDM method in Wannier90 [[#167]](https://github.com/wannier-developers/wannier90/pull/167) [[#202]](https://github.com/wannier-developers/wannier90/pull/202) and added an example for the tutorial [[#194]](https://github.com/wannier-developers/wannier90/pull/194). Note that during development we have adapted the interface of the SCDM input flags; Quantum ESPRESSO v6.4 has the current implementation. [[#238]](https://github.com/wannier-developers/wannier90/pull/239)
41+
- Implementation of the SCDM method in Wannier90 [[#167]](https://github.com/wannier-developers/wannier90/pull/167) [[#202]](https://github.com/wannier-developers/wannier90/pull/202) and added an example for the tutorial [[#194]](https://github.com/wannier-developers/wannier90/pull/194). Note that during development we have adapted the interface of the SCDM input flags; Quantum ESPRESSO v6.4 has the current implementation. [[#238]](https://github.com/wannier-developers/wannier90/pull/238)
1042

1143

1244
- Parallelisation of the core Wannier90 routines [[#193]](https://github.com/wannier-developers/wannier90/pull/193) [[#185]](https://github.com/wannier-developers/wannier90/pull/185) [[#173]](https://github.com/wannier-developers/wannier90/pull/173) [[#151]](https://github.com/wannier-developers/wannier90/pull/151) [[#149]](https://github.com/wannier-developers/wannier90/pull/149) [[#125]](https://github.com/wannier-developers/wannier90/pull/125) [[#120]](https://github.com/wannier-developers/wannier90/pull/120) [[#76]](https://github.com/wannier-developers/wannier90/pull/76)
@@ -71,7 +103,9 @@ Moreover, it generates a new file `seedname_band.labelinfo.dat` with information
71103

72104
- Improvements to the Wigner-Seitz detection routines [[#117]](https://github.com/wannier-developers/wannier90/pull/117) [[#109]](https://github.com/wannier-developers/wannier90/pull/109)
73105

106+
- Fix berry_task check for morb, and add check for kpoint_path block in parameters [[#258]](https://github.com/wannier-developers/wannier90/pull/258)
74107

108+
- Use 64 bit integer in io_wallclocktime [[#266]](https://github.com/wannier-developers/wannier90/pull/266)
75109

76110

77111

Makefile

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,19 @@ TAR := $(shell if which gnutar 1>/dev/null 2> /dev/null; then echo gnutar; else
88

99
default: wannier post
1010

11-
all: wannier lib post w90chk2chk w90pov w90vdw
11+
PREFIX ?= /usr
12+
13+
install: default
14+
install -d $(DESTDIR)$(PREFIX)/bin/
15+
for x in wannier90.x postw90.x w90chk2chk.x w90spn2spn.x ; do \
16+
if [ -f "$$x" ]; then install -m755 "$$x" "$(DESTDIR)$(PREFIX)/bin/$$x"; fi; \
17+
done
18+
if [ -f "utility/w90pov/w90pov" ]; then install -m755 "utility/w90pov/w90pov" "$(DESTDIR)$(PREFIX)/bin/w90pov"; fi;
19+
if [ -f "utility/w90vdw/w90vdw.x" ]; then install -m755 "utility/w90vdw/w90vdw.x" "$(DESTDIR)$(PREFIX)/bin/w90vdw.x"; fi;
20+
install -d $(DESTDIR)$(PREFIX)/lib/
21+
if [ -f "libwannier.a" ]; then install -m644 "libwannier.a" "$(DESTDIR)$(PREFIX)/lib/libwannier.a"; fi;
22+
23+
all: wannier lib post w90chk2chk w90pov w90vdw w90spn2spn
1224

1325
doc: thedoc
1426

@@ -18,6 +30,9 @@ serialobjs: objdir
1830
w90chk2chk: objdir serialobjs
1931
(cd $(ROOTDIR)/src/obj && $(MAKE) -f $(REALMAKEFILE) w90chk2chk)
2032

33+
w90spn2spn: objdir serialobjs
34+
(cd $(ROOTDIR)/src/obj && $(MAKE) -f $(REALMAKEFILE) w90spn2spn)
35+
2136
wannier: objdir serialobjs
2237
(cd $(ROOTDIR)/src/obj && $(MAKE) -f $(REALMAKEFILE) wannier)
2338

@@ -58,7 +73,7 @@ clean:
5873
cd $(ROOTDIR)/test-suite && ./clean_tests
5974

6075
veryclean: clean
61-
cd $(ROOTDIR) && rm -f wannier90.x postw90.x libwannier.a w90chk2chk.x
76+
cd $(ROOTDIR) && rm -f wannier90.x postw90.x libwannier.a w90chk2chk.x w90spn2spn.x
6277
cd $(ROOTDIR)/doc && rm -f user_guide.pdf tutorial.pdf
6378
cd $(ROOTDIR)/doc/user_guide && rm -f user_guide.ps
6479
cd $(ROOTDIR)/doc/tutorial && rm -f tutorial.ps
@@ -68,14 +83,14 @@ thedoc:
6883
$(MAKE) -C $(ROOTDIR)/doc/user_guide
6984
$(MAKE) -C $(ROOTDIR)/doc/tutorial
7085

71-
# For now hardcoded to 3.0.0, and using HEAD
86+
# For now hardcoded to 3.1.0, and using HEAD
7287
# Better to get the version from the io.F90 file and use
73-
# the tag (e.g. v3.0.0) instead of HEAD
88+
# the tag (e.g. v3.1.0) instead of HEAD
7489
dist:
75-
cd $(ROOTDIR) && git archive HEAD --prefix=wannier90-3.0.0/ -o wannier90-3.0.0.tar.gz
90+
cd $(ROOTDIR) && git archive HEAD --prefix=wannier90-3.1.0/ -o wannier90-3.1.0.tar.gz
7691

7792
dist-legacy:
78-
@(cd $(ROOTDIR) && $(TAR) -cz --transform='s,^\./,wannier90-3.0/,' -f wannier90-3.0.tar.gz \
93+
@(cd $(ROOTDIR) && $(TAR) -cz --transform='s,^\./,wannier90-3.1/,' -f wannier90-3.1.tar.gz \
7994
./src/*.?90 \
8095
./src/postw90/*.?90 \
8196
./autodoc/README.txt \
@@ -202,4 +217,4 @@ objdirp:
202217
then mkdir src/objp ; \
203218
fi ) ;
204219

205-
.PHONY: wannier default all doc lib libs post clean veryclean thedoc dist test-serial test-parallel dist-lite objdir objdirp serialobjs tests
220+
.PHONY: wannier default all doc lib libs post clean veryclean thedoc dist test-serial test-parallel dist-lite objdir objdirp serialobjs tests w90spn2spn install

README.install

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
the user guide)
4949
make w90vdw build the van der Waals code
5050
make w90pov build the ray-tracing code
51+
make install install the built binaries
5152
make tests run test cases
5253
make doc build the documentation
5354
make dist make a tar-ball of the distribution
@@ -58,6 +59,11 @@
5859
'make -j NN' will allow compilation using NN multiple threads.
5960
On a multicore CPU this will build the executables in a shorter time.
6061

62+
'make install' supports DESTDIR and PREFIX variables.
63+
Executables will be installed into $(DESTDIR)$(PREFIX)/bin directory,
64+
libraries will be installed into $(DESTDIR)$(PREFIX)/lib directory.
65+
The default DESTDIR is empty, and the default PREFIX is /usr.
66+
6167
In order to compile the postw90.x executable in its parallel version, you have
6268
to specify
6369
COMMS=mpi
@@ -78,7 +84,7 @@
7884
LAPACK can be obtained from the netlib website. It also includes a
7985
non-optimised BLAS.
8086
http://www.netlib.org/lapack/
81-
87+
8288

8389
Linux x86,x86-64
8490
----------------

README.rst

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,25 @@ How to cite
2828
+++++++++++
2929
Please cite the following paper in any publications arising from the use of
3030
this code:
31+
32+
G. Pizzi, V. Vitale, R. Arita, S. Blügel, F. Freimuth, G. Géranton, M. Gibertini,
33+
D. Gresch, C. Johnson, T. Koretsune, J Ibañez-Azpiroz, H. Lee, J.M. Lihm,
34+
D. Marchand, A. Marrazzo, Y. Mokrousov, J.I. Mustafa, Y. Nohara, Y. Nomura,
35+
L. Paulatto, S. Poncé, T. Ponweiser, J. Qiao, F. Thöle, S.S. Tsirkin,
36+
M. Wierzbowska, N. Marzari, D. Vanderbilt, I. Souza, A.A. Mostofi, J.R. Yates,
37+
Wannier90 as a community code: new features and applications,
38+
`J. Phys. Cond. Matt. 32, 165902`_ (2020)
39+
40+
.. _J. Phys. Cond. Matt. 32, 165902: https://doi.org/10.1088/1361-648X/ab51ff
41+
42+
If you are using versions 2.x of the code, cite instead:
3143

3244
A.A. Mostofi, J.R. Yates, G. Pizzi, Y.S. Lee, I. Souza,
3345
D Vanderbilt, N Marzari, *An updated version of wannier90: A tool for
3446
obtaining maximally-localised Wannier functions*,
3547
`Comput. Phys. Commun. 185, 2309 (2014)`_
3648

37-
.. _Comput. Phys. Commun. 185, 2309 (2014): http://dx.doi.org/10.1016/j.cpc.2014.05.003
49+
.. _Comput. Phys. Commun. 185, 2309 (2014): http://doi.org/10.1016/j.cpc.2014.05.003
3850

3951
For the method please cite:
4052

@@ -95,6 +107,7 @@ In addition to the Wannier90 Developer Group, the other authors of Wannier90 v.3
95107
* Takashi Koretsune (Tohoku University and JST PRESTO, JP): Symmetry-adapted Wannier functions, non-collinear spin with ultrasoft in pw2wannier90
96108
* Julen Ibañez-Azpiroz (Universidad del Pais Vasco, ES): shift-current calculation
97109
* Hyungjun Lee (EPFL, CH): Spinor-valued WFs, parallelisation of the core Wannier90 routines
110+
* Jae-Mo Lihm (Seoul National University, KR): SCDM-k implementation for non-collinear spin in pw2wannier90
98111
* Daniel Marchand (EPFL, CH): AiiDA-Wannier90 interface
99112
* Antimo Marrazzo (EPFL, CH): GW bands interpolation, AiiDA-Wannier90 interface
100113
* Yuriy Mokrousov (FZ Jülich, DE): Parallelization of the core routines
@@ -157,7 +170,7 @@ Wannier90 Version 1.0 was written by:
157170
* Jonathan R. Yates (University of Oxford, GB)
158171
* Young-Su Lee (KIST, KR)
159172

160-
Wannier90 is based on Fortran 77 codes written by:
173+
Wannier90 is based on the [Wannier Fortran 77 code](http://www.wannier.org/history/) by:
161174

162175
* Nicola Marzari (EPFL, CH)
163176
* Ivo Souza (Universidad del Pais Vasco, ES)

config/make.inc.alpha

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#======
44

55
F90 = f90
6-
FCOPTS = -fast
7-
LDOPTS = -fast
6+
FCOPTS = -fast
7+
LDOPTS = -fast
88
LIBS = -lcxml
9-

config/make.inc.g95

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# g95
33
#===================
44
F90 = g95
5-
FCOPTS = -O2
5+
FCOPTS = -O2
66
LDOPTS = -O2
77

88

@@ -18,6 +18,3 @@ LDOPTS = -O2
1818
#=======================
1919
#LIBDIR = /usr/local/lib
2020
#LIBS = -L$(LIBDIR) -llapack -lblas
21-
22-
23-

config/make.inc.gfort

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
F90 = gfortran
55

66
#Add next two lines for parallel postw90. Choose the correct name of the mpi f90 wrapper
7-
#COMMS = mpi
7+
#COMMS = mpi
88
#MPIF90 = mpgfortran #mpif90
99

10-
FCOPTS = -O3
10+
FCOPTS = -O3
1111
LDOPTS =
1212

1313
#Next two lines are good for debugging
14-
#FCOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace
14+
#FCOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace
1515
#LDOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace
1616

1717

@@ -25,7 +25,7 @@ LDOPTS =
2525
#=======================
2626
# NETLIB LAPACK and BLAS
2727
#=======================
28-
#LIBDIR = /rscratch/jry20/LIB/gfortran
28+
#LIBDIR = /rscratch/jry20/LIB/gfortran
2929
#LIBS = -L$(LIBDIR) -llapack -lblas
3030

3131
#=======================
@@ -35,8 +35,3 @@ LDOPTS =
3535
# on Ubuntu
3636
#=======================
3737
LIBS = -llapack -lblas
38-
39-
40-
41-
42-

config/make.inc.gfort.dynlib

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
F90 = gfortran
55

66
#Add next two lines for parallel postw90. Choose the correct name of the mpi f90 wrapper
7-
#COMMS = mpi
7+
#COMMS = mpi
88
#MPIF90 = mpgfortran #mpif90
99

1010
FCOPTS = -O3 -fPIC
1111
LDOPTS = -fPIC
1212

1313
#Next two lines are good for debugging
14-
#FCOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace
14+
#FCOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace
1515
#LDOPTS = -fstrict-aliasing -fno-omit-frame-pointer -fno-realloc-lhs -fcheck=bounds,do,recursion,pointer -ffree-form -Wall -Waliasing -Wsurprising -Wline-truncation -Wno-tabs -Wno-uninitialized -Wno-unused-dummy-argument -Wno-unused -Wno-character-truncation -O1 -g -fbacktrace
1616

1717

@@ -25,7 +25,7 @@ LDOPTS = -fPIC
2525
#=======================
2626
# NETLIB LAPACK and BLAS
2727
#=======================
28-
#LIBDIR = /rscratch/jry20/LIB/gfortran
28+
#LIBDIR = /rscratch/jry20/LIB/gfortran
2929
#LIBS = -L$(LIBDIR) -llapack -lblas
3030

3131
#=======================
@@ -35,8 +35,3 @@ LDOPTS = -fPIC
3535
# on Ubuntu
3636
#=======================
3737
LIBS = -llapack -lblas
38-
39-
40-
41-
42-

0 commit comments

Comments
 (0)