# Space-Time Modulation

In active nanophotonic devices such as electro-optical modulators, materials can be modulated in both space and time. In Tidy3D, space-time modulations can be applied to a regular Medium, or a dispersive medium such as Lorentz, or even a spatially varying medium such as CustomMedium.

To apply spatio-temporal modulations to permittivity and/or electric conductivity, you have to check the Space-Time Modulation option in medium definition. Then, expand the Permittivity and/or Conductivity menus to set the modulation parameters.

The full space-time modulation is A(r,t)=Re[At(t)As(r)]A(r, t) = Re[A_t(t) A_s(r)].

# Time Modulation

Modulation with a harmonic time dependence. If you include modulation to both permittivity and electrical conductivity, the same time modulation parameters are applied.

The time modulation is given by At(t)=Aeiϕ2πiftA_t(t) = A e^{i \phi - 2 \pi i f t}.

freq0 (ff): Modulation frequency.

Type: floating-point number

  • Unit: Hz (default) or THz
  • Constraint: greater than or equal 0
  • Required field

amplitude (AA): Real-valued maximum amplitude of the time dependence.

Type: floating-point number

  • Unit: It takes the unit of whatever is being modulated.
  • Constraint: greater than or equal 0
  • Default: 1

phase (ϕ\phi): Phase shift of the time dependence.

Type: floating-point number

  • Unit: rad or degree (default)
  • Default: 0

# Space Modulation

The modulation profile with a uniform or user-supplied spatial distribution of amplitude and phase. You can set different space modulation parameters to permittivity and electrical conductivity.

The space modulation is given by As(r)=A0(r)eiψ(r)A_s(r) = A_0(r) e^{i \psi(r)}.

amplitude (A0A_0): Amplitude of space modulation. To obtain a uniform space modulation throughout the medium, set a real value in the edit box. Or upload a user-supplied amplitude distribution HDF5 dataset.

Type: floating-point number

  • Unit: It takes the unit of whatever is being modulated.
  • Constraint: greater than or equal 0
  • Default: 1

To generate a HDF5 dataset in a correct shape, create a SpaceModulation (opens new window) object using the Python interface and use the to_hdf5(filename) (opens new window) method.

phase (ψ\psi): Phase of space modulation. To obtain a uniform phase throughout the medium, set a real value in the edit box. Or upload a user-supplied phase distribution HDF5 dataset.

Type: floating-point number

  • Unit: rad or degree (default)
  • Default: 0

To generate a HDF5 dataset in a correct shape, create a SpaceModulation (opens new window) object using the Python interface and use the to_hdf5(filename) (opens new window) method.

interp_method: Interpolation method used to obtain the values at spatial locations on the Yee grid.

Options:

  • nearest (default)
  • linear

# Notes