• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MakefileH A D01-Jun-20181.9 KiB5633

READMEH A D01-Jun-20184.3 KiB11783

distrib.f90H A D01-Jun-20181 KiB5226

input.f90H A D01-Jun-20188.7 KiB302208

input_common.f90H A D01-Jun-20187.1 KiB235162

input_q.f90H A D01-Jun-20187.1 KiB241157

inread.f90H A D01-Jun-20186.5 KiB204142

interpol.f90H A D01-Jun-20181.9 KiB7031

plotxct.f90H A D01-Jun-201814.5 KiB485323

plotxct.inpH A D01-Jun-20181.8 KiB5444

plotxct_common.f90H A D01-Jun-20181.9 KiB3827

read_wannier.f90H A D01-Jun-20186.1 KiB148100

write_xct.f90H A D01-Jun-20185.3 KiB202143

write_xct_dens.f90H A D01-Jun-20182.6 KiB9548

README

1================================================================================
2PlotXct code
3================================================================================
4
5  Version 2.0   (May, 2018)
6  To be announced.
7
8  Version 1.2   (Aug, 2016)
9  F. H. da Jornada, J. Deslippe, D. Vigil-Fowler, J. I. Mustafa, T. Rangel,
10  F. Bruneval, F. Liu, D. Y. Qiu, D. A. Strubbe, G. Samsonidze, J. Lischner.
11
12  Version 1.1   (June, 2014)
13  Version 1.0	(July, 2011)
14  Version 0.5	F. Ribeiro (2008), S. Ismail-Beigi
15  Version 0.2	M. L. Tiago (2002-2007)
16
17--------------------------------------------------------------------------------
18
19Description:
20
21PlotXct plots the exciton wavefunction in real space based on
22output of BSE/absorption (with full diagonalization).
23
24Reads files WFN_fi/WFNq_fi (from mean field) and eigenvectors (output
25from BSE/absorption code when using diagonalization, not Haydock) and
26plots selected exciton state in real space according to:
27
28   Psi(r,r`,s) = Sum_cvk A_svck * phi_sck(r) * exp(ik.r) * conjg( phi_svk(r`) * exp(i[k+q].r`)
29
30where r`, hole coordinate, is fixed at some point and r, electron coordinate,
31runs over a supercell of given size (typically, equivalent to the fine k-grid),
32with a real-space mesh defined by the FFT grid of the wavefunction files.
33A separate plot can be generated for each spin s.
34
35
36Output is written in format suitable for Data Explorer (DX).
37
38The input option 'restrict_kpoints' reduces the sum over k-points
39above to a sum over the ones that give most of the contribution
40to the norm of eigenvectors. This is handy if there are many k-points
41but only a few of them give sizable contribution.
42
43input: WFN_fi WFNq_fi       wavefunction files
44       eigenvectors         output from BSE/absorption code
45       plotxct.inp          input parameters
46
47--------------------------------------------------------------------------------
48
491. Copy/edit plotxct.inp.
50
51   You'll need:
52     . index of the exciton state you want to plot
53     . hole position in lattice coordinates
54     . supercell dimensions (or k-grid)
55     . spin component you want to plot (if spin-polarized)
56
572. Run plotxct.x
58
59   The ASCII file 'xct.[state]_s[spin].a3Dr' will be created.
60
61   'a3Dr' means that the file is in ASCII and contains 3D data in 'r' real space.
62
63   The header of this file contains information on
64     . state index
65     . state energy in eV
66     . hole position in atomic units (a.u.)
67     . spin component plotted
68     . supercell lattice vectors in a.u.
69     . number of discretization points
70   followed by three columns of data corresponding to the complex values of the
71   electronic part of the excitonic wavefunction, and its magnitude squared.
72
73   The values are written with very low precision due to file-size concerns.
74
75
763. Convert to a format readable by the plotting utility of your choice.
77
78   Use the 'volume.py' utility:
79
80   Usage: volume.py imfn imff ivfn ivff ovfn ovff phas cplx [hole]
81
82   imfn = input matter file name
83   imff = input matter file format
84          (mat|paratec|vasp|espresso|siesta|tbpw|xyz|xsf)
85   ivfn = input volumetric file name
86   ivff = input volumetric file format (a3dr)
87   ovfn = output volumetric file name
88   ovff = output volumetric file format (cube|xsf)
89   phas = remove wavefunction phase (true|false)
90   cplx = complex wavefunction (re|im|abs|abs2)
91   hole = plot hole (true|false)
92
93   You can specify whether you want a .xsf (XCrysDen) or .cube (Gaussian Cube)
94   file format. You can remove or keep the arbitrary phase of the wavefunction
95   by setting parameter "phas" to true or false. You can plot the re, im, abs,
96   or abs2 part of the wavefunction.
97
98   You must specify a path to the input file (example: "../01-scf/input")
99   in one of the supported formats (DFT and others) so that the script can
100   obtain the atomic positions from the file.
101
102   You can choose whether to display or not the position of the hole by setting
103   parameter "hole" to true or false.
104
105   The resulting .xsf or .cube file can be viewed in XCrysDen or converted to
106   POV-Ray script format using Surface code (for more details on the latter
107   option, see Visual/README).
108
109   ****************
110   Example:
111
112     % ~/BerkeleyGW/Visual/volume.py ../01-scf/input paratec xct.000001_s1.a3Dr a3dr \
113                    xct.000001.abs2.xsf xsf false abs2 false
114     % xcrysden --xsf xct.000001.abs2.xsf
115
116   ****************
117