-
Notifications
You must be signed in to change notification settings - Fork 59
Electric field monitor for Charge #2566
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
base: develop
Are you sure you want to change the base?
Conversation
Diff CoverageDiff: origin/develop...HEAD, staged and unstaged changes
Summary
tidy3d/components/data/unstructured/base.py
|
a22f358
to
8ff1ec8
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.
7 files reviewed, 4 comments
Edit PR Review Bot Settings | Greptile
61b4a48
to
50d69e3
Compare
Looks good overall, but I wanted to discuss whether we should store Ex, Ey, and Ez separately or in a single Triangular/Tetrahedral-GridDataset. In FDTD field monitors we do store them separately, but I guess one big reason to do that there is that Ex, Ey, and Ez can live on different grids (in fact, it was default up until some point). Moreover, storing cartesian grid info typically doesn't require much memory in comparison to actual field data. For unstructured datasets storing grid info does actually take more memory that a single field, and it seems like at least in this PR Ex, Ey, and Ez are stored at the same locations. Do you see any other arguments towards storing them separately or as a single xarray? In my surface monitor PR I decided to go the single-array route and use indexed data array with additional coord tidy3d/tidy3d/components/data/unstructured/base.py Lines 410 to 412 in 2116575
|
Yes, that makes sense! Will do that. Thanks @dbochkov-flexcompute |
@dbochkov-flexcompute I just realized that we're already storing multiple solution in each of the |
yeah, I think that would make sense |
@dbochkov-flexcompute I updated this to use the same data array class you mentioned. There will probably be conflict when either this or your branch gets merged though but it should be pretty straightforward. |
ed5576e
to
9a91727
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. Minor comments, also wondering what is your plan for the related current density monitor?
Monitor tests Remove IndexedFieldDataArray
ae9d57c
to
ca475c6
Compare
Greptile Summary
Adds electric field monitoring capabilities to the Charge simulation module, enabling visualization and analysis of steady-state electric fields through a new
SteadyElectricFieldMonitor
class and associated data structures.SteadyElectricFieldMonitor
intidy3d/components/tcad/monitors/charge.py
to monitor Ex, Ey, Ez componentsSteadyElectricFieldData
class intidy3d/components/tcad/data/monitor_data/charge.py
handling electric field data with proper unit conversion (V/μm)_cell_to_point_data
utility inUnstructuredGridDataset
for VTK-based cell-to-point data conversion