-
Notifications
You must be signed in to change notification settings - Fork 64
Integrate LOBSTER apps into crystal toolkit #459
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
base: main
Are you sure you want to change the base?
Conversation
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
StructureMoleculeComponent update
CohpAndDosComponent Features
Example rendered appTodos (Will be worked on once app layout is finalized))
Open questions and things to improve
|
|
@naik-aakash @JaGeo for this to be used on MP's site, we'll need any of the required outputs to be in the LobsterTaskDocument. The client will retrieve a LobsterTaskDocument and then use any fields, like (The client shouldn't depend on lobsterpy / need to call lobsterpy). Also to be clear, crystal toolkit shouldn't depend on emmet, but should use data that is available in the task document The method you implemented is OK to keep as a Can you double check that any data that is required for the app to work is included in the task document model? Any updates to the schema should be made against this branch in emmet (PR link) |
|
Hi @esoteric-ephemera, thanks for the suggestion. I will look at the pinned emmet PR and raise a PR if I find anything is missing. I will also try to make the changes in the client in the PR soon. |
| from crystal_toolkit.settings import SETTINGS | ||
|
|
||
|
|
||
| class CustomVasprun(Vasprun): |
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.
For this class, I would recommend against copying all of Vasprun.final_energy:
class CustomVasprun(Vasprun):
@property
def final_energy(self):
return float(super().final_energy)
|
Hi @esoteric-ephemera , have one question. So, now the plan is that LobsterPy is already run as part of taskdoc generation, and we simply use the outputs from the taskdoc and render the app? I did it this way because, in our initial discussions, it was emphasized that Postprocessing should not be part of Taskdoc, but rather that this app should handle it. Curious about how the workflow pipeline would be now. Once I start with this, I can better comment on the emmet PR. |
|
Any "heavy" post-processing, or post-processing which requires raw output files like vasprun.xml, should happen in the build process for your data. In the current pipeline, the lobster build would be Ex: all derived MP data is built from Light post-processing can occur in the app (e.g., the oxygen evolution graph drawing in the client) , but this should be Let me know if that makes sense! |


This is the PR to integrate LOBSTER into the Crystal Toolkit.
See below for a detailed explanation of the PR by @naik-aakash !