-
Notifications
You must be signed in to change notification settings - Fork 63
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
Periodic CoulombOperator
Gives Garbage
#535
Comments
Hi all,
the line in question I have just copy-pasted, without knowing what it actually does, esp. as the periodic code seemed disfunctional.
The idea behind the generalization of the operator is to handle all operators of the following forms:
Coulomb: 1/r12
BSH: exp(-r12)/r12
Slater: exp(-r12)
F12: 1-exp(-r12)
F12^2: (1-exp(-r12))^2 = 1-2 exp(-r12) + exp(-2 r12)
FG: F12 *Coulomb
by using the same expansion exponents (they depend on eps only, but not on the exponents of the operator), and add their coefficients (they depend on the actual form of the operator). That way all these operators are simply represented as a single operator.
So if I understand correctly, the parameter that breaks your code either does nothing or truncates the expansion, based on the assumption of decreasing exponents of the expansion. That should still be the case *with the exception* of F12 (and related operators), where I represent the “1” as a single term in the operator expansion with a tiny exponent: see gfit.h:660
Hope this helps.
Best,
Florian
Florian Bischoff
Humboldt-Universitaet zu Berlin, Institut fuer Chemie
Unter den Linden 6, 10099 Berlin
phone: +49-30-2093-82708
office: Brook-Taylor-Str 2, room 3'322
***@***.***
https://tinyurl.com/bischofflab
… On May 22, 2024, at 2:42 PM, Jonathon Misiewicz ***@***.***> wrote:
@evaleev and I are working on periodic code, and I find that values of the electric potential changed after rebasing onto a more recent version of MADNESS. The current results appear to have an additional "contribution" that is pure garbage (e.g., not even monotonic as you get away from the center of the sum-of-Gaussian charge distribution).
The problem is this line of code added during #498. The CoulombOperator required the last argument to truncate_periodic_expansion to be true, not false, prior to the PR. Manually changing that argument reproduces our electric potential prior to rebasing onto #498, but doing that would break many other operators.
@fbischoff, I noticed that you generalized some operators in operator.h to use your new function but left others the same. Is there an underlying reason? I want to make sure that my fixes to the CoulombOperator don't interfere with anything you were trying to do.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
The periodic code is certainly dysfunctional for our purposes, and we're hoping to make it less so. That helps, thank you. As a follow-up, why did The trouble in our case is that Gaussians which should be discarded are not, and I'd also need to look into why they need to be discarded in some cases but not others... It could very well be a defect in the original code. |
The periodic code is certainly dysfunctional for our purposes, and we're hoping to make it less so.
I’m looking forward to that!
That helps. As a follow-up, why did BSHOperator3D get updated but not BSHOperatorPtr3D? Is there a reason for this, or was it simply a matter of convenience?
no real reason, I tried to keep legacy code functional.
Best,
Florian
Florian Bischoff
Humboldt-Universitaet zu Berlin, Institut fuer Chemie
Unter den Linden 6, 10099 Berlin
phone: +49-30-2093-82708
office: Brook-Taylor-Str 2, room 3'322
***@***.***
https://tinyurl.com/bischofflab
… On May 22, 2024, at 9:16 PM, Jonathon Misiewicz ***@***.***> wrote:
The periodic code is certainly dysfunctional for our purposes, and we're hoping to make it less so.
That helps. As a follow-up, why did BSHOperator3D get updated but not BSHOperatorPtr3D? Is there a reason for this, or was it simply a matter of convenience?
The trouble in our case is that Gaussians which should be discarded are not, and I'd also need to look into why they need to be discarded in some cases but not others... It could very well be a defect in the original code.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Did you set the function and operator to be periodic in the heading?
George
On Thu, May 23, 2024 at 3:18 AM Florian Bischoff ***@***.***>
wrote:
… > The periodic code is certainly dysfunctional for our purposes, and we're
hoping to make it less so.
I’m looking forward to that!
> That helps. As a follow-up, why did BSHOperator3D get updated but not
BSHOperatorPtr3D? Is there a reason for this, or was it simply a matter of
convenience?
no real reason, I tried to keep legacy code functional.
Best,
Florian
Florian Bischoff
Humboldt-Universitaet zu Berlin, Institut fuer Chemie
Unter den Linden 6, 10099 Berlin
phone: +49-30-2093-82708
office: Brook-Taylor-Str 2, room 3'322
***@***.***
https://tinyurl.com/bischofflab
> On May 22, 2024, at 9:16 PM, Jonathon Misiewicz ***@***.***> wrote:
>
>
> The periodic code is certainly dysfunctional for our purposes, and we're
hoping to make it less so.
> That helps. As a follow-up, why did BSHOperator3D get updated but not
BSHOperatorPtr3D? Is there a reason for this, or was it simply a matter of
convenience?
> The trouble in our case is that Gaussians which should be discarded are
not, and I'd also need to look into why they need to be discarded in some
cases but not others... It could very well be a defect in the original
code.
> —
> Reply to this email directly, view it on GitHub, or unsubscribe.
> You are receiving this because you were mentioned.Message ID:
***@***.***>
—
Reply to this email directly, view it on GitHub
<#535 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACQQMOIBILPTCSTNTAFYYG3ZDW663AVCNFSM6AAAAABIDSAATCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRWG42DGMZSGQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Yes. The same application behaved differently before/after #498, and I can restore the old behavior by restoring an argument flag to how it was pre-#498, so I doubt my application code is the issue. The relevant part of our application code looks like
|
The picture is a little clearer now, so I'll try to clean this issue up soon. |
Another clarification regarding the recent refactor. Was the new constructor was added for backwards-compatibility, so it therefore should be moved away from, or is that just an unfortunate copy-paste artifact? I need to know what constructor to use when I'm repairing the operator construction. |
Hi Jonathon,
I’m not quite sure which constructor which copy-paste artifact you mean. My commit you’re referring to was quite (too?) large.. Maybe you can give me some specific line or so?
Best,
Florian
Florian Bischoff
Humboldt-Universitaet zu Berlin, Institut fuer Chemie
Unter den Linden 6, 10099 Berlin
phone: +49-30-2093-82708
office: Brook-Taylor-Str 2, room 3'322
***@***.***
https://tinyurl.com/bischofflab
On Oct 9, 2024, at 5:42 PM, Jonathon Misiewicz ***@***.***> wrote:
@fbischoff <https://github.com/fbischoff>
Another clarification regarding the recent refactor. Was the new constructor was added, so it therefore should be moved away from, or is that just an unfortunate copy-paste artifact?
…
I need to know what constructor to use when I'm repairing the operator construction.
—
Reply to this email directly, view it on GitHub <#535 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABZXPPGCI75ABVJQZRNWNDTZ2VFG7AVCNFSM6AAAAABIDSAATCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBSGY4DSMRXGY>.
You are receiving this because you were mentioned.
|
Ah, I didn't realize that GitHub's link-to-specific-line feature doesn't work for files with diffs too large to show... Note that the same comment is on line 1020.
|
Hi Jonathon,
I see. Comment line 1007 is a copy-paste artifact, sorry for that..
Best,
Florian
…------------------------------------------------------
Florian Bischoff
Humboldt-Universitaet zu Berlin, Institut fuer Chemie
Unter den Linden 6, 10099 Berlin
phone: +49-30-2093-82708
office: Brook-Taylor-Str 2, room 3'322
***@***.***
https://tinyurl.com/bischofflab
On Oct 10, 2024, at 3:22 PM, Jonathon Misiewicz ***@***.***> wrote:
Ah, I didn't realize that GitHub's link-to-specific-line feature doesn't work for files with diffs too large to show...
operator.h:1007 <https://github.com/m-a-d-n-e-s-s/madness/pull/498/files#diff-22333d357a4becfe78caa180594a5472c9adc7f780585e267719f78261b0c497>
Note that the same comment is on line 1020.
Hi Jonathon, I’m not quite sure which constructor which copy-paste artifact you mean. My commit you’re referring to was quite (too?) large.. Maybe you can give me some specific line or so? Best, Florian Florian Bischoff Humboldt-Universitaet zu Berlin, Institut fuer Chemie Unter den Linden 6, 10099 Berlin phone: +49-30-2093-82708 office: Brook-Taylor-Str 2, room 3'322 @.*** https://tinyurl.com/bischofflab
On Oct 9, 2024, at 5:42 PM, Jonathon Misiewicz @.***> wrote: @fbischoff <https://github.com/fbischoff> https://github.com/fbischoff Another clarification regarding the recent refactor. Was the new constructor was added, so it therefore should be moved away from, or is that just an unfortunate copy-paste artifact?
https://github.com/m-a-d-n-e-s-s/madness/pull/498/files#diff-22333d357a4becfe78caa180594a5472c9adc7f780585e267719f78261b0c497R1007
… <x-msg://58/#>
I need to know what constructor to use when I'm repairing the operator construction. — Reply to this email directly, view it on GitHub <#535 (comment) <#535 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZXPPGCI75ABVJQZRNWNDTZ2VFG7AVCNFSM6AAAAABIDSAATCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBSGY4DSMRXGY. You are receiving this because you were mentioned.
—
Reply to this email directly, view it on GitHub <#535 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABZXPPD33ZE64KHSD54EX43Z2Z5THAVCNFSM6AAAAABIDSAATCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBVGA4DGOBQGY>.
You are receiving this because you were mentioned.
|
@evaleev and I are working on periodic code, and I find that values of the electric potential changed after rebasing onto a more recent version of MADNESS. The current results appear to have an additional "contribution" that is pure garbage (e.g., not even monotonic as you get away from the center of the sum-of-Gaussian charge distribution).
The problem is this line of code added during #498. The
CoulombOperator
required the last argument totruncate_periodic_expansion
to betrue
, notfalse
, prior to the PR. Manually changing that argument reproduces our electric potential prior to rebasing onto #498, but doing that would break many other operators.@fbischoff, I noticed that you generalized some operators in
operator.h
to use your new function but left others the same. Is there an underlying reason? I want to make sure that my fixes to theCoulombOperator
don't interfere with anything you were trying to do.The text was updated successfully, but these errors were encountered: