-
Notifications
You must be signed in to change notification settings - Fork 191
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
Compute a worldtube constraint for Klein-Gordon Cce #5931
base: develop
Are you sure you want to change the base?
Compute a worldtube constraint for Klein-Gordon Cce #5931
Conversation
* volume data `Tags::KleinGordonPsi` (at the worldtube) | ||
* indicates the accuracy of the simulation. | ||
*/ | ||
struct ComputeKGWorldtubeConstraint { |
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 doesn't appear to have anything to do with gauge transformations, so it should probably go in a different file.
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've moved the mutator to a new file.
* volume data `Tags::KleinGordonPsi` (at the worldtube) | ||
* indicates the accuracy of the simulation. | ||
*/ | ||
struct ComputeKGWorldtubeConstraint { |
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 needs a test that actually checks that the result. The current test just checks that db::mutate_apply<ComputeKGWorldtubeConstraint>
and ::Actions::MutateApply<ComputeKGWorldtubeConstraint>
give the same answer, which doesn't give much evidence that it is the correct answer.
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.
Testing the physical aspect of the calculation is a quite nontrivial task. In fact, it will be one of the main focuses of the upcoming method paper for this CCE system --- in the paper, a variety of systems are used to show that the constraint converges exponentially with resolution (I've obtained many solid results to verify this is indeed the case). Another PR #5932 initiates the steps to build worldtube data for those systems. The goal therein is to add a new executable (in parallel with AnalyticTestCharacteristicExtract
) that can justify all the physical aspects of the new CCE system, including the worldtube constraint in this PR.
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'm not concerned about the physics, here. I want some evidence that the variable slicing is doing what you expect. At the moment, all the test does is checks that the function will run without crashing.
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.
@Sizheng-Ma I believe what @wthrowe is looking for is just a test where you give the apply
function a random cauchy KG Psi, volume Psi, and an interpolator, and you check that you get out an expected value (since it's just a subtraction).
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.
Yes, that would be fine.
0d9f3bd
to
0da89a6
Compare
* volume data `Tags::KleinGordonPsi` (at the worldtube) | ||
* indicates the accuracy of the simulation. | ||
*/ | ||
struct ComputeKGWorldtubeConstraint { |
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.
@Sizheng-Ma I believe what @wthrowe is looking for is just a test where you give the apply
function a random cauchy KG Psi, volume Psi, and an interpolator, and you check that you get out an expected value (since it's just a subtraction).
Proposed changes
Both Cauchy and characteristic systems evolve the scalar field independently. The results have to be consistent at the worldtube. This yields a worldtube constraint (
Cce::Tags::KleinGordonWorldtubeConstraint
) that needs to be monitored during evolution, which reads:where$\psi^{\rm Cauchy}$ is from Cauchy's worldtube data ($\psi^{\rm Characteristic}$ is the evolved variable (
Cce::Tags::BoundaryValue<Cce::Tags::KleinGordonPsi>
) andCce::Tags::KleinGordonPsi
).This PR adds an action to compute
Cce::Tags::KleinGordonWorldtubeConstraint
and dump it to the disk. The first commit adds its tag. The second one initializes the tag in the databox. The third commit adds the action. And the last one dumps the tag to the disk.Upgrade instructions
Code review checklist
make doc
to generate the documentation locally intoBUILD_DIR/docs/html
.Then open
index.html
.code review guide.
bugfix
ornew feature
if appropriate.Further comments