-
Notifications
You must be signed in to change notification settings - Fork 67
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
Added BoltztrapDosBuilder class #42
Conversation
Hi Francesco, Can you update this for the new BoltzTrap2 in pymatgen? Once we get that in, I'll go ahead and start running this as part of production. I'll also add in some code to push this for website soon. |
Hi Shyamd, I'd like to perform some test on the DOS of some material and compare the results with bzt1. |
… interpolating bs with boltztrap2.
Here we are ;-) I pushed in pymatgen a new version of the boltztrap2 interface. There's still the issue of getting the projections, though. |
Few comments:
For the projections: it's an issue of what was calculated. The new database should have projections when they are actually there, but for a lot of the old calculations, it seems that there may have been issues in what VASP actually printed out. |
I am not sure how to fulfill the two points. |
You can allow the user to supply a bandstructures store and then just query that:
This allows you to not worry where the bandstructures are stored, whether its gridfs or just a regular collection. The Store will take care of defining how they are stored. So we have a GridFSStore in maggma that you can query and query_one just as normal. It will take care of separating metadata and compression without the person writing the builder having to worry about that. As for a test find a system that is easy for boltztrap2 to run on. Save the bandstructure as a gziped json and material. Make your builder with the appropriate stores, do get_items, process_items, and update_targets. Checking for errors in each of those steps. |
- Boltztrap4DosBuilder works with Stores - test and test file added
@shyamd could you please check if this is going in the right direction? |
I've made some updates to be compatible with the current Maggma. The thing I was mentioning before is that in the Builder you don't need to worry about the store type. If that doesn't work because of a document too large error that is up to the person using it. All you need to do is query a store for the necessary info, get that data, process, and push. |
Hi @shyamd, |
I was trying to make it so we could somehow fix the test which appears to be running too slow so Travis times out, but as you mentioned it doesn't work. Running this on my own comp the tests pass, im just now sure how to deal with Travis. |
I think get_dos(projection=True) takes the longest time. |
Is there a reason why npts_mu isn't used in the non-spin polarized case? |
no reason, I just forgot to put it there too, sorry :-) |
This passes even the skipped test on my linux machine. Thanks! |
Great news! So are we now ready to run it? ;-) |
Sounds good. I probably won't get a chance to finish this before January release, but I think we can shoot for Feb release of BoltzTrap interpolated DOSes. |
I added a BoltztrapDosBuilder class to run boltztrap in the DOS run mode and get a
complete dos object as output.
Notes:
Since projections can be useful for other purpose then creating dos, my suggestion is to run a separate code to get the projs from the vaspruns and update the bs already stored. Upon the updated bs are ready, the BoltztrapDosBuilder works out-of-the-box generating a complete dos (meaning projections included)