-
Notifications
You must be signed in to change notification settings - Fork 145
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
Select projections #200
Select projections #200
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #200 +/- ##
===========================================
+ Coverage 60.93% 61.28% +0.35%
===========================================
Files 29 29
Lines 16971 17098 +127
===========================================
+ Hits 10341 10479 +138
+ Misses 6630 6619 -11
Continue to review full report at Codecov.
|
Jamal - thanks for the interesting contribution. I can certainly see the logic in what you propose. I would like to talk through the implications with the other developers and will do so next time we have developers' call (we do this roughly every 6 weeks). |
Dear Jamal,
Thanks a lot in advance! |
- add num_proj parameter to specify the number of projections - remove the restriction that num_proj must be equal to num_wann - read the selected projections from the AMN file
6e9fda8
to
21d0b79
Compare
- read projections into the new input_proj_* arrays - the proj_* arrays are now determined by select_projections - the selected projections are written after the list of all projections
Thanks for the feedback! I see your points and have tried to make the appropriate changes. The last point is something that I still have been unable to address. Since the input_proj_* arrays are allocated within param_get_projections, it is not clear to me how to know the number of projections beforehand. It seems that counting the number of projections within param_get_projections, and then calling the routine again after num_proj has been set, is not that straightforward. Please advise me on how to best determine num_proj before a call to param_get_projections. Much appreciated! |
There a few ways that come to my mind to do this.
Actually, the additional flag could have an intent inout and be used in the second call, with count=False, to pass in the value of |
Hi @jimustafa, just to update on our internal timeline:
Thanks! |
- count projections in param_get_projections - update input parameters in the user guide - remove obsolete tests
With the most recent commit, I believe the feature has been completed. If there are any additional items identified during the next Wannier90 coding day, please let me know and I will try to have them complete by mid-December. Any feedback from @greschd would be appreciated, regarding whether the feature helps with the use cases that led to #131. |
Hi @jimustafa. I haven't had the chance to try this out yet, but from what I see it does indeed seem to solve the use case for #131. Thanks a lot! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! This looks great!
When lcount=.true., some content of the input file that was read was changed, and the second run (e.g. if 'random' was present) was giving wrong results. Not clear because the error was errand, though (was working on travis but failing on my machine)
…ctions Fixing a small bug introduced in #200
…ctions Allow to select projections from a longer list specified in input. This fixes wannier-developers#131.
When lcount=.true., some content of the input file that was read was changed, and the second run (e.g. if 'random' was present) was giving wrong results. Not clear because the error was errand, though (was working on travis but failing on my machine)
…l_bug_lcount_projections Fixing a small bug introduced in wannier-developers#200
These changes are an attempt to address #131.
The primary change is the addition of some logic to remove the restriction that the number of projections must be equal to the number of Wannier functions. Now the projections block can define more than
num_wann
projections, as long asnum_proj
is defined. When the AMN file is being read,select_projections
determines which elements enter in the construction of the projection matrices.A few ancillary changes have also been made:
Additional remarks:
num_proj
parameter is a bit of a quiz for the user; it may be better to implement projections counting inparam_get_projections
(like inparam_get_range_vector
)