-
Notifications
You must be signed in to change notification settings - Fork 22
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
First pass at composite transformations. #203
Conversation
Result of Benchmark Tests
|
Comment about the guts of On this topic, the following checks should be completed:
|
At first glance, this looks good to me; thanks! I would also suggest updating the |
The idea is a good one but the present implementation of the flavor transformations in SNEWPY means that there are only limited circumstances where you can string together flavor transformations. The neutrinos would have to decohere between the transformations being applied and the only flavor transformation we have in SNEWPY which occurs outside the supernova is neutrino decay. |
I checked the math and it turns out chaining together SNEWPY's flavor transformations cannot be done even if the previously mentioned restriction that the neutrinos decohere between transformations is valid. Attached is a proof. |
Thanks for checking this and writing it up! If I understand correctly, there’s two different ways we could fix this:
|
Either option should work. The second is the easiest and I know what to do. I haven't looked at how much of the code would have to change if we went to 6 flavors though it's something we said we'd do. |
This PR is superseded by several other efforts to handle flavor transformations and is now obsolete. Closing without merging. |
This PR is designed to address issue #183 by implementing a simple class to compose an arbitrary list of flavor transformations.
If instantiated as follows,
c = CompositeTransformation(U1, U2, ..., Un)
where
U1
,U2
, etc. are differentFlavorTransformation
objects, the class will apply the transformations in the order supplied to the CompositeTransformation. I.e.,U1
will be applied first, thenU2
, and so on toUn
.Unit tests need to be added to the branch before we proceed with the merger.