-
Notifications
You must be signed in to change notification settings - Fork 52
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 aux field monitors #2309
base: develop
Are you sure you want to change the base?
Add aux field monitors #2309
Conversation
fb057ec
to
65d0934
Compare
65d0934
to
ed6377a
Compare
ed6377a
to
0792e87
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.
Thanks @caseyflex this looks really solid so code-wise I don't have any comments, more of a general question - is this something that we expect users to use or is it mostly for internal purposes? Also, what would happen if we were to add support for more auxiliary fields in the future? I wonder if these fields could just be stored in the regular FieldTimeData
?
Yeah, I think users will use it. Already knowing the free-carrier density when using TwoPhotonAbsorption nonlinearity is quite useful. Regarding future aux fields -- I was thinking that we could just add more fields to |
No I think that'd be fine as long as all fields are optional.
Yeah I agree. Let's keep it like this for now. |
0792e87
to
15b1e4d
Compare
15b1e4d
to
22ed222
Compare
22ed222
to
22a4783
Compare
Nfx=lambda dim: +1, | ||
Nfy=lambda dim: +1, | ||
Nfz=lambda dim: +1, | ||
) |
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 took another look at this PR to see if the symmetry expansion, and grid locations would be correctly handled and I'm pleasantly surprised that this seems to have been set up in a pretty expandable way previously! :D I was worried about it.
Adds monitor class
AuxFieldTimeMonitor
and corresponding data classesAuxFieldTimeData
andAuxFieldTimeDataset
. Currently it is modeled afterFieldTimeMonitor
-- you specify some aux field components to download, and it puts those in the corresponding data class. The default is no aux field components. Any field components which don't correspond to nonlinearities which are present in the region / material / simulation are just stored as 0.Todo:
_aux_fields
inSimulation
.