-
Notifications
You must be signed in to change notification settings - Fork 47
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
Refactored DirectivityData to store far fields and flux as fields, and compute radiation parameters via properties #2129
base: pre/2.8
Are you sure you want to change the base?
Conversation
9fd1921
to
1799dba
Compare
Does it make more sense to store the linearly polarized fields and add properties to get the circularly polarized ones? |
Linearly polarized fields are the regular far-field components Etheta and Ephi. I was previously thinking of putting E_left and E_right as properties of FarfieldProjectionMonitor, but doing so would require users to define both FarfieldProjectionMonitor and DirectivityMonitor to obtain all radiation characteristics. So I placed E_left and E_right under DirectivityMonitor, allowing users to access these radiation characteristics with just one monitor. Maybe a better way is to keep all six far-field components (Er to Hphi) as fields in DirectivityData and introduce E_left and E_right as properties? |
I agree. For simplicity and extensibility, I think the @QimingFlex can you think of any parameters of interest where the far field approximation is not used for antennas? |
This sounds like a good plan. We store DirectivityData only with Etheta/Ephi, Htheta/Hphi, and total flux. Other characteristics, such as directivity, axial ratio, and polarized fields, are defined as properties. How do you think? @weiliangjin2021 |
Sounds good to me. |
aa7df58
to
7737d34
Compare
Sorry, wouldn't this now be almost identical to a far field monitor? Should we consider unifying, e.g. deprectating DirectivityMonitor, and adding the directivity, axial ratio, etc. properties to the FarFieldAngleMonitor? |
The difference lies in DirectivityMonitor inheriting FluxMonitor to compute directivity. Do you think it would be better for FarFieldAngleMonitor to inherit FluxMonitor and store flux as a field in FarFieldAngleData? This will allow DirectivitiMonitor to be depracted. |
Ok, I think it makes sense as is. Note that you're modifying the notebooks submodule. |
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.
Great, this looks a lot simpler @QimingFlex! Couple of simple things and yea just need to revert the notebooks module.
435ffd2
to
607e7de
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.
Could you also add tests for left and right polarization?
607e7de
to
fc2a5c8
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.
Approve once tests for right/left polarization have been added
No description provided.