Closed gabrielasd closed 7 months ago
@msricher let me know if this issue can be closed and maybe open an updated version with what is left to do, which can be labelled as furture enhancement.
The issue I am aware of in the current implementation of the tool is that the hessian function has a bug. The blame for this is on me and I can look at it after the issue with the bug in the 1st and 2nd order derivatives of the splines is resolved, but I may need help eve then.
I'm going to start working on this now. I'll let you know in the next few days how long I think it'll take and what the remaining issues are.
Species
object for $N\text{elec}=0$. This is necessary for promolecules, since sometimes the partial charge is such that the electron number is between 0 and 1, and we want to support this. I can't just choose to use a coefficient $0 \lt c \lt 1$ with the $N\text{elec}=1$ species because this breaks some properties, e.g., mass.I'm working on generating promolecules with arbitrary $N_\text{elec}$ (henceforth $N$) and $N_S$. This is my procedure so far:
@PaulWAyers, @gabrielasd, others, any feedback on this method?
@msricher what about using the algorithm from Appendix A of the paper? That would allow one to read in energies from a reference, determine the appropriate states/barycentric coordinates, and then linearly combine other properties. For cases where only N (not N_S) is specified, one could use just linear interpolation, but it is equivalent to this procedure when you only constrain the number of electrons, not the number of electrons and the spin (or the number of electrons of each spin), to be correct.
Oh, this could also be a good plan. I'll look into it. Thanks!!
I've implemented the linear programming strategy for making Promolecules.
My only problem right now is that, for the available databases, there aren't very many states for each element, and so it's hard to think up combinations of charge/spin that will actually work with the limited species we have.
@gabrielasd do you have the HCI data files?
I think that @FarnazH might have cheap calculations for Carbon (though it was probably lost when wobbie died :.-( ).
It might be worth regenerating data for Carbon (which has interesting spins) at the RHF or CISD level just to have one good example.
Yeah, ok. I'll make a new dataset using PySCF RHF + small basis set just to test things out here.
On Tue., Feb. 27, 2024, 11:38 Paul W. Ayers @.***> wrote:
I think that @FarnazH https://github.com/FarnazH might have cheap calculations for Carbon (though it was probably lost when wobbie died :.-( ).
It might be worth regenerating data for Carbon (which has interesting spins) at the RHF or CISD level just to have one good example.
— Reply to this email directly, view it on GitHub https://github.com/theochem/AtomDB/issues/19#issuecomment-1967031834, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADLODOWQ7GKY5SZYUZ4VTNDYVYDZJAVCNFSM6AAAAABCW7FMQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRXGAZTCOBTGQ . You are receiving this because you were mentioned.Message ID: @.***>
I got floating-point charge/multiplicity promolecules working. I did this using the Appendix A linear programming. I want to test this more thoroughly, but none of our datasets are complete enough to really do this. The dataset scripts are also kind of messy now.
My current branch promol_linprog
on msricher
has a cc-pVDZ UHF dataset that works well enough to give energies and test my promolecules, but otherwise it's also really broken.
@PaulWAyers @gabrielasd @maximilianvz maybe we should work on cleaning up the existing datasets and adding a simple PySCF UHF one? Then I can submit a PR for the promolecule generator.
I'm going to look at some of the spline errors now.
This was originally issue 36 in the QuantumElephant repo. I'm replicating here to keep track of things, but there is already part of this initial request that has been implemented by @msricher in the module promolecule
Description:
We need utility functions for creating promolecules simply. These will involve creating the proper linear combinations of atomic species and then loading them into the Promolecule.
Two simple methods for coefficients.
Example. O atom with charge -0.4 charge 0.0 has coefficient .6 charge -1 has coefficient .4
Example: O atom with charge -1.2 charge -1 should have weight 9.2/9.0
Originally posted by @PaulWAyers in https://github.com/QuantumElephant/atomdb/issues/2#issuecomment-1119991254
We should make a new class based on the Species class called MixedSpecies, which acts as a linear combination of different charge/multiplicity states of the same element at the same coordinates in space, to ensure that properties like energy and mass remain correct when accessed through the promolecule species.
Then, we should have different utility functions for creating the promolecules: