Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selective localization and constrained centres from Marianetti et al. [PRB 90, 165125 (2014)] #187

Merged
merged 35 commits into from
Sep 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
47ef661
Selectively localized WFs with constrained centres from PHYSICAL REVI…
May 25, 2018
5f1ef15
Selectively Localized and Constrained centres with penalty functional
Jun 19, 2018
e6c664a
Merge branch 'develop' of https://github.com/VVitale/wannier90 into c…
Jun 21, 2018
f517529
Tutorial and Example for Selective Localization and constrained centr…
Jun 21, 2018
e94ace3
Added example26 to the README file in examples
Jun 21, 2018
6eb23e5
Changes to the .scf, .nscf and .win files and to parameters.tex and …
Jun 21, 2018
bcd6089
Bugfix for selective localization and constrained centres
Jun 21, 2018
1ba4329
Bugfix in the parallelisation of the constrained centres algorithm
Jun 21, 2018
d9be40b
Merge branch 'develop' of https://github.com/wannier-developers/wanni…
Jun 21, 2018
fe9e7df
Changes in parameters.F90 to introduce the modifications from Giovann…
Jun 21, 2018
85260dd
Minor aesthetic improvements to parameters.F90 for the output of cons…
Jun 21, 2018
1fb9045
Added test for example26 (selectively localized WFs)
Jun 22, 2018
a3373b6
Bugfix for parallel implementation of constrained centres
Jun 22, 2018
b8af7ec
Small change to the logic in parameters.F90 to run the selective loca…
Jun 22, 2018
4066126
Run example26 with fewer iterations to make travis happy
Jun 22, 2018
7b62c03
Merge branch 'develop' into Marianetti
giovannipizzi Jun 23, 2018
b4d0e35
Merge branch 'develop' into Marianetti
mostofi Jul 10, 2018
a8db088
SLWFs and constrained centers algorithm with fixed value of lambdac. …
Jul 19, 2018
c8d469e
Final changes to the Marianetti algorithm with documentation, example…
Jul 26, 2018
0dbce67
Merge branch 'develop' of https://github.com/wannier-developers/wanni…
Jul 26, 2018
20e0560
Bugfix for parallel execution (Selective localization with constrains)
Jul 26, 2018
c20e835
Merge branch 'develop' into Marianetti
VVitale Aug 31, 2018
e63ae08
Updates to tutorial examples for SLWF and cube plotting format
Sep 28, 2018
2c11dfc
Updates to the SLWF parts of the user guide
Sep 28, 2018
c617122
Merge branch 'develop' of https://github.com/VVitale/wannier90 into M…
Sep 28, 2018
df6eee5
Fixed conflicts in files.tex
Sep 28, 2018
aabc453
Merge branch 'mostofi-VVitale-Marianetti' into Marianetti
Sep 28, 2018
1d219a3
Merge pull request #3 from mostofi/VVitale-Marianetti
VVitale Sep 28, 2018
16c3112
Additions to Marianetti PR #187 from Arash Mostofi
Sep 28, 2018
d2d00bf
Removed not conformed tab character in wannierise.F90
Sep 28, 2018
67d5964
Update to SLWF sections of user guide
mostofi Sep 30, 2018
ec97f02
SLWF: Avoiding printing lambda at each iteration when using constrain…
Sep 30, 2018
12583b0
SLWF: Changed benchmark in testw90_example26 such that it conforms to…
Sep 30, 2018
6d38c7a
Merge pull request #4 from mostofi/VVitale-Marianetti
VVitale Sep 30, 2018
72911b6
SLWF: Changes to files.tex in doc/user_guide/ to respect the changes …
Sep 30, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 82 additions & 4 deletions doc/tutorial/tutorial.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2813,6 +2813,83 @@ \subsection*{Shift current $\sigma^{abc}$}
gnuplot> plot 'GaAs-sc_xyz.dat' u 1:2 w l
\end{verbatim}


\sectiontitle{26: Gallium Arsenide -- Selective localization and constrained centres}

\begin{itemize}

\item Outline: \textit{Application of the selectively localised Wannier function (SLWF) method to gallium arsenide (GaAs), following the example in Ref. \cite{Marianetti}, which is essential reading for this tutorial example.}


\item Directory: \verb|examples/example26/|


\item Input files:

\begin{itemize}

\item[--] \verb|GaAs.scf| \textit{The {\tt PWSCF} input file for ground state calculation}
\item[--] \verb|GaAs.nscf| \textit{The {\tt PWSCF} input file to obtain Bloch states on a uniform grid}
\item[--] \verb|GaAs.pw2wan| \textit{The input file for} \verb|pw2wannier90|
\item[--] \verb|GaAs.win| \textit{The} \verb|wannier90| \textit{and} \verb|postw90| \textit{input file}


\end{itemize}

\begin{enumerate}

\item Run {\tt PWSCF} to obtain the ground state of Gallium Arsenide

\verb|pw.x < GaAs.scf > scf.out|


\item Run {\tt PWSCF} to obtain the ground state of Gallium Arsenide

\verb|pw.x < GaAs.nscf > nscf.out|

\item Run {\tt Wannier90} to generate a list of the required overlaps (written into the \verb|GaAs.nnkp| file)

\verb|wannier90.x -pp GaAs|


\item Run {\tt pw2wannier90} to compute:

\begin{itemize}
\item[--] The overlaps $\langle u_{n\bf{k}}|u_{n\bf{k+b}}\rangle$ between
Bloch states (written in the \verb|GaAs.mmn| file)
\item[--] The projections for the starting guess (written in the \verb|GaAs.amn| file)

\end{itemize}


\verb|pw2wannier90.x < GaAs.pw2wan > pw2wan.out|

\item Inspect the {\tt .win} file.

\begin{itemize}
\item[--] Make sure you understand the new keywords corresponding to the selective localisation algorithm.
\item[--] Run {\tt wannier90} to compute the SLWFs, in this case using one objective Wannier function.

\end{itemize}


\verb|wannier90.x GaAs|

\end{enumerate}

To constrain the centre of the SLWF you need to add \mbox{{\tt slwf\_constrain = true}} and \\
\mbox{{\tt slwf\_lambda = 1}} to the input file and uncomment the \mbox{{\tt slwf\_centres}} block. This will add a penalty functional to the total spread, which will try to constrain the centre of the SLWF to be on the As atom (as explained in Ref.~\cite{Marianetti}, particularly from Eq.~24 to Eq.~35).

Look at the value of the penalty functional, is this what you would expect at convergence?
Does the chosen value of the Lagrange multiplier {\tt slwf\_lambda} give a SLWF function centred on the As atom?

Alternatively, you can modify the {\tt slwf\_centres} block to constrain the centre of the SLWF to be on the Ga atom.
Do you need a different value of {\tt slwf\_lambda} in this case to converge?
Take a look at the result in Vesta and explain what you see. Do these functions transform like the identity under the action of the $T_d$ group?


\end{itemize}

\sectiontitle{27: Silicon -- Selected columns of density matrix algorithm for automated MLWFs}

Note: This example requires a recent version of the {\tt pw2wannier90.x} post-processing code of {\tt Quantum ESPRESSO}.
Expand Down Expand Up @@ -2964,17 +3041,18 @@ \subsection*{Shift current $\sigma^{abc}$}
{\tt wannier90.x diamond}

\item Plot the first MLWF with VESTA
{\tt vesta diamond_00001.cube}
{\tt vesta diamond\_00001.cube}
\end{enumerate}

Extra: Instead of using {\tt wannier_plot_mode = crystal} try to use the molecule mode as {\tt wannier_plot_mode = molecule} (see the user guide for the definition of this keyword).
Extra: Instead of using {\tt wannier\_plot\_mode = crystal} try to use the molecule mode as {\tt wannier\_plot\_mode = molecule} (see the user guide for the definition of this keyword).
Add the following line to the {\tt .win} file:
\begin{verbatim}
restart = plot
\end{verbatim}
and re-run \wannier\. Use VESTA to plot the resulting MLWFs, do you see any difference from the {\tt crystal} mode case? Can you explain why?
and re-run \wannier. Use VESTA to plot the resulting MLWFs, do you see any difference from the {\tt crystal} mode case? Can you explain why?
Try to change the size of the supercell from 3 to 5, do you expect the results to be different? ({\it Hint:} When using the Gaussian cube format the code outputs the WF on a grid that is smaller than the super
unit-cell. The size of the grid is specified by {\tt wannier_plot_scale} and {\tt wannier_plot_radius}.)
unit-cell. The size of the grid is specified by {\tt wannier\_plot\_scale} and {\tt wannier\_plot\_radius}.)



\bibliographystyle{apsrev4-1}
Expand Down
Loading