-
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
Add tags for worldtube iterations #5847
Conversation
0ac68f0
to
3c1b9b2
Compare
struct Mass : db::SimpleTag { | ||
using type = double; | ||
using option_tags = tmpl::list<OptionTags::Mass>; | ||
using type = std::optional<double>; |
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.
An idea to maybe avoid having to hold individual optionals in tags for self force things and check if they are available: You could just store the SelfForceOptions
that were constructed from the input file in a tag. Then that tag can be used instead of ApplySelfForce
(you just check the optional), and also wherever you need it's parameters. Thoughts?
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 removed ApplySelfForce
now in favor of just checking whether MaxIterations
is greater than 0. I think I would prefer to hide the extraction of these quantities in the OptionParsing, rather than having to get them from the struct each time step.
*/ | ||
struct ApplySelfForce : db::SimpleTag { | ||
using type = bool; | ||
using option_tags = tmpl::list<OptionTags::ApplySelfForce>; | ||
struct MaxIterations : db::SimpleTag { |
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.
With this change, you now implicitly convert a size_t
to a bool
wherever you had a check for ApplySelfForce
. Could you change those to explicitly check if the size_t > 0
? Also, depending on your thoughts about my other comment, this may be moot.
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.
Removed ApplySelfForce
in fixup
*/ | ||
struct InitializeCurrentIteration : tt::ConformsTo<db::protocols::Mutator> { |
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.
Did you want to add this to the executable?
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, it is added in #5855
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.
Looks good. You can squash
@nikwit Could you give this a quick rebase just to run CI again? Otherwise it looks good and I'll merge it after CI finishes. |
Changes the self force options to an
Auto
class and introduces the tagsMaxIterations
andCurrentIteration
which will be required for the iterative scheme of the worldtube.depends on #5831