tidy3d icon indicating copy to clipboard operation
tidy3d copied to clipboard

Time permittivity monitor

Open alec-flexcompute opened this issue 1 year ago • 3 comments

A permittivity monitor, just in the time domain instead of frequency domain. This should be useful now that our nonlinear capabilities are what they are.

alec-flexcompute avatar Apr 26 '24 21:04 alec-flexcompute

I am not sure this makes sense in general. Maybe for some type of nonlinearities? But generally permittivity is chi-1, and nonlinearities are higher-order-chi-s. I guess when there is no frequency mixing, an effective epsilon can be written, which is maybe what you have in mind?

momchil-flex avatar Apr 26 '24 22:04 momchil-flex

I'm mainly thinking about checking how a nonlinear material's permittivity would be different at different times

alec-flexcompute avatar Apr 26 '24 23:04 alec-flexcompute

Maybe one way to do this while still being rigorous could be to consider a method that returns the polarization of a medium as a function of FieldData or FieldTimeData?

image

https://en.wikipedia.org/wiki/Nonlinear_optics

class Medium(...):
    
     def polarization(field_data: FieldData | FieldTimeData) -> FieldData | FieldTimeData:
         """Compute polarization density of this medium when an electric field is present."""
         # compute all chi terms
         # construct field data with the polarization?

Then the user could add a FieldTimeMonitor to the simulation and call this method if they want to see the effect of the nonlinear medium?

tylerflex avatar Apr 29 '24 12:04 tylerflex