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

Wannier90 tutorial and example 32 (extracting SCDM parameters from projectability with projwfc.x) #300

Merged
merged 7 commits into from
Dec 2, 2019

Conversation

VVitale
Copy link
Collaborator

@VVitale VVitale commented Nov 27, 2019

No description provided.

@codecov
Copy link

codecov bot commented Nov 27, 2019

Codecov Report

Merging #300 into develop will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           develop    #300   +/-   ##
=======================================
  Coverage     65.6%   65.6%           
=======================================
  Files           29      29           
  Lines        17938   17938           
=======================================
  Hits         11768   11768           
  Misses        6170    6170

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dde4a0d...5c97870. Read the comment docs.

@VVitale VVitale changed the title Wannier90 tutorial and example 31 (extracting SCDM parameters from projectability with projwfc.x) Wannier90 tutorial and example 32 (extracting SCDM parameters from projectability with projwfc.x) Nov 27, 2019
Copy link
Member

@giovannipizzi giovannipizzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three minor changes requested

{\tt xmgrace }

To Import the {\tt p\_vs\_e.dat} file, click on {\tt Data} from the top bar and then {\tt Import -> ASCII...}.
At this point a new window {\tt Grace: Read sets} should pop up . Select {\tt p\_vs\_e.dat} in the {\tt Files} section, click {\tt Ok} at the bottom and close the window. You should now be able to see a quite noisy function that is bounded between 1 and 0. You can modify the appearence of the plot by clicking on {\tt Plot} in the top bar and then {\tt Set appearance...}. In the {\tt Main} section of the pop-up window change the symbol type from {\tt None} to {\tt Circle} and symbol size from 100 to 25. Also change symbol color from black to blue. Change the line type from straight to none. Move to the {\tt Symbols} section and change the filling pattern from none to full (indentified by a full black square) and then close the window. For the fitting, go to {\tt Data -> Transformations -> Non-linear curve fitting}. In this window, select the source from the {\tt Set} box and in the {\tt Formula} box insert the following \\
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove space after pop up before the dot.
Also, it is really needed to ask to use 'fill' as a pattern and to make dots blue? I would remove this as it just makes the description longer and it's not critical. I don't think it's a problem if the plot is slightly different from the figure.

Copy link
Collaborator Author

@VVitale VVitale Nov 29, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I think you are right. I'll remove the section where I describe how to modify the graph appearance.


{\tt y = 0.5 * erfc( ( x - A0 ) / A1 )} \\

Select 2 as number of parameters, give 40 as initial condition for {\tt A0} and 7 for {\tt A1}. Click {\tt Apply}. A new window should pop up with the stats of the fitting. In particular you should find a {\tt Correlation coefficient} of 0.96 and a value of $39.9756$ for {\tt A0} and $6.6529$ for {\tt A1}. These are the value of $\mu_{fit}$ and $\sigma_{fit}$ we are going to use for the SCDM method. In particular, $\mu_{SCDM} = \mu_{fit} - 3\sigma_{fit} = 20.0169$ eV and $\sigma_{SCDM} = \sigma_{fit} = 6.6529$ eV. You should now see the fitting function, as well as the projectabilities, in the graph (see Fig. \ref{fig:W_fit}-(a)).\\
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explain that the specific choice \mu_{SCDM} = \mu_{fit} - 3\sigma_{fit} and \sigma_{SCDM} = \sigma_{fit} has been introduced in Ref. [3] and that there is the motivation and validation in there. Maybe somewhere at the end of the exercise say to cite [3] if you use this approach to get mu and sigma?

@@ -0,0 +1,14 @@
#!/bin/bash
for i in {1..21}; do
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a rm e.dat p.dat tmp.dat here - to avoid that these files already exist for some reason.

Can you also add a comment saying that this script is specific for this system (e.g. the number 21)?


{\tt y = 0.5 * erfc( ( x - A0 ) / A1 )} \\

Select 2 as number of parameters, give 40 as initial condition for {\tt A0} and 7 for {\tt A1}. Click {\tt Apply}. A new window should pop up with the stats of the fitting. In particular you should find a {\tt Correlation coefficient} of 0.96 and a value of $39.9756$ for {\tt A0} and $6.6529$ for {\tt A1}. These are the value of $\mu_{fit}$ and $\sigma_{fit}$ we are going to use for the SCDM method. In particular, $\mu_{SCDM} = \mu_{fit} - 3\sigma_{fit} = 20.0169$ eV and $\sigma_{SCDM} = \sigma_{fit} = 6.6529$ eV.The motivation for this specific choice of $\mu_{fit}$ and $\sigma_{fit}$ may be found in Ref.~\cite{Vitale2019automated}, where the authors also show validation of this approach on a dataset of 200 materials. You should now see the fitting function, as well as the projectabilities, in the graph (see Fig. \ref{fig:W_fit}-(a)).\\
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space after the dot: 6.6529$ eV.The motivation

{\tt xmgrace }

To Import the {\tt p\_vs\_e.dat} file, click on {\tt Data} from the top bar and then {\tt Import -> ASCII...}.
At this point a new window {\tt Grace: Read sets} should pop up. Select {\tt p\_vs\_e.dat} in the {\tt Files} section, click {\tt Ok} at the bottom and close the window. You should now be able to see a quite noisy function that is bounded between 1 and 0. You can modify the appearence of the plot by clicking on {\tt Plot} in the top bar and then {\tt Set appearance...}. For the fitting, go to {\tt Data -> Transformations -> Non-linear curve fitting}. In this window, select the source from the {\tt Set} box and in the {\tt Formula} box insert the following \\
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe now you removed more than I intended - I would leave the part where you make them remove the lines and put dots - or at least mention that lines are just added by xmgrace connecting dots, but they are not meaningful (but maybe, it's easier just to put back the part where you explain how to make dots).

rm p.dat;
fi

if [ -f "p_vs_e.dat" ]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to approve this, but I mention that this is not really correct - this file is anyway regenerated, while the file appended with >> is instead tmp.dat, this is the one that should be removed...

Also, you can just rm -f FILENAME to remove it and not complain if it does not exist, no need to check.

Finally, below if there is a problem, better to use exit 1 instead of exit, to mark an unsuccessful exit.

@giovannipizzi giovannipizzi merged commit 8ab4d9d into wannier-developers:develop Dec 2, 2019
manxkim pushed a commit to manxkim/wannier90 that referenced this pull request Jan 10, 2021
Wannier90 tutorial and example 32 (extracting SCDM parameters from projectability with projwfc.x)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants