-
Notifications
You must be signed in to change notification settings - Fork 218
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 laser parameter output for --dump-metadata #4938
base: dev
Are you sure you want to change the base?
Add laser parameter output for --dump-metadata #4938
Conversation
Without having looked at the content I can already see that this file didn't change, so almost certainly you didn't run the tests (as the failing CI is also telling you). Please update said file and check that the tests and examples all compile and pass. |
27aeaa2
to
3804126
Compare
3804126
to
c38a06c
Compare
@PrometheusPi @max-lehman14 What's the status here? |
@chillenzer I will take over this PR |
c38a06c
to
b90328c
Compare
This still does not output anything else than the default parameters. And there should be a bug in the Gaussian code that is actually never causing any compile time issues. |
b90328c
to
3bb2796
Compare
@steindev @chillenzer @psychocoderHPC ready for review |
3bb2796
to
11d4e41
Compare
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.
Just one comment.
@@ -250,6 +242,14 @@ namespace picongpu | |||
static constexpr auto laguerreModes = floatN_X<numModes + 1>(1.0); | |||
static constexpr auto laguerrePhases = floatN_X<numModes + 1>(0.0); | |||
/** @} */ | |||
|
|||
template<typename My = GaussianPulseParam> |
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.
We typically use T_
as default names for template arguments and not My
. I would like to stick to that guideline.
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 was already part of the original implementation from @chillenzer.
I agree with you. @psychocoderHPC should this change go in this PR as well?
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.
renamed My
to T_Self
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 aware of this and I didn't stick to that convention because I see it less as a template parameter and more as a hack/workaround for injecting the correct type.
I'm fine with changing it but if so, we should probably do it consistently everywhere and adopt that as the new convention.
Interstingly, we get compile errors like:
which I did not see when I tested the code on hemera. |
"unit": "s", | ||
"value": 5e-15 | ||
}, | ||
"time_delay": { |
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.
The time delay was actually outputted correctly for my LWFA test - strange
@@ -223,7 +241,7 @@ namespace picongpu | |||
originToString(My::FOCUS_ORIGIN_X), | |||
originToString(My::FOCUS_ORIGIN_Y), | |||
originToString(My::FOCUS_ORIGIN_Z)}}}; | |||
result["time_delay"] = {{"value", My::TIME_DELAY_SI}, {"unit", "s"}}; | |||
result["time_delay"] = {{"value", GetTimeDelay<My>()}, {"unit", "s"}}; |
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.
MUST BE GetTimeDelay<My>::value
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.
Thanks - I applied it
61b9087
to
7132138
Compare
You've done everything right so far but the CI failures are due to |
This pull request adds laser parameter output in the
BaseParam.def
andGaussianPulse.def
files, based on the new parameter output feature from @chillenzer .In the
picongpu-metadata.json
file the standard laser parameters fromincidentField.param
are displayed with units, for example:or
The next things on my list are:
adding README[EDIT/REMOVED by @PrometheusPi]invest deeper in the problem, that Laguerremodes and -phases in the incidentField.param file are not correctly displayed if there are several Laguerremodes (seems like its falling back to the default 0th Laguerre mode for a standard Gaussian)