-
Notifications
You must be signed in to change notification settings - Fork 2
Quantum chemistry part I - single reference methods #187
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: develop
Are you sure you want to change the base?
Conversation
Pull Request Test Coverage Report for Build 16907926789Details
💛 - Coveralls |
|
will review tomorrow 😅 |
|
hi again, this is the basis for Quantum Chemistry support. Later on, I can build all the remaining methods while using these building blocks. When you are done with reviewing the QC-base, I will then add all the remaining (single-reference) post-HF methods. |
| """, | ||
| ) | ||
|
|
||
| function_type = Quantity( |
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.
Is "type" clear enough, or should ang-mom someone be in the name?
| """, | ||
| ) | ||
|
|
||
| exponents = Quantity( |
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.
"primitive_exponents"? I just have no idea of the context/clarity, so feel free to reject these naming questions
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.
both TREXIO and basis set exchange library uses exponents
| ) | ||
|
|
||
| primitive_normalization = Quantity( | ||
| type=MEnum('L2', 'none', 'contracted', 'custom'), |
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.
Move none to the end of the list
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.
You might want to use all lower case for consistency ie l2
|
|
||
| primitive_normalization = Quantity( | ||
| type=MEnum('L2', 'none', 'contracted', 'custom'), | ||
| default='L2', |
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.
I would have thought the default should be none?
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.
its kind of a standard convention that each primitive basis function is L²-normalized before forming any contracted orbital
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.
Even so, I think it is not good practice to populated with a parameter that is not explicitly parsed from the files. It's safer to leave the default out so that it is not populated unless this metadata is actually there
| description=""" | ||
| **Extra scaling factors for each primitive** (dimensionless). | ||
| - Let ϕₖ(r) be the *analytic* primitive basis function (Gaussian or |
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.
Can you check at some point if the greek letters are displayed properly in the GUI metainfo browser and DATA tab?
| contracted function so that | ||
| \\[ | ||
| \\int_{\\mathbb{R}^3} |χ(r)|^2 \\,dr = 1. |
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.
same here, does this display? I remember looking into putting equations in the descriptions but I can't remember the outcome now.
I'm not suggesting you change anything, but if it doesn't display in the GUI we could talk to Area D about a feature for this
| """ | ||
| super().normalize(archive, logger) | ||
|
|
||
| # ---------------- infer component / primitive counts ------------- |
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.
I like this syntax for section separation comments, very nice readability 👍
| from nomad_simulations.schema_packages.variables import Variables | ||
|
|
||
|
|
||
| class MolecularOrbitals(PhysicalProperty): |
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.
Is there a "main" value for this property? Does it even make sense in this case?
I am wondering in the context of using value or some sub-section for different types of the "main" value. I guess we never discussed what to do if the property is only really defined in terms of a set of equally-important metadata
JFRudzinski
left a comment
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.
This has developed into a really nice, clear and extensive(-looking) schema 🙌 The comments and descriptions are particularly good, these should serve as a reference point as we continue to refine and extend the schema
I presume that at this point Denis is already well versed with the schema and approves? I think you said you would also run it by your PhD advisor? Or will you do that later? And what about Nathan, did he review it?
Let's finalize all these things and also a few of my below comments later today, and then I would say you can go ahead and merge it
|
|
||
| # ---------------- property: matrix view (read‑only) ------------------ | ||
| @property | ||
| def coeff_matrix(self) -> np.ndarray: |
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.
is this really not a section quantity? at least the name looks like.
| """, | ||
| ) | ||
|
|
||
| functional_composition = SubSection( |
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.
is this plural? what is the convention when sub-sections repeat?
0e2a43e to
609f5c7
Compare
No description provided.