Multi-Physics
- heat
Run a steady-state thermal simulation of a waveguide cross-section. Requires a ‘3D’ license.
Warning
This function is only available under beta release. Please report any issues or bugs.
Note
Each
shape()now accepts an input parameter calledheat_only(default: False), which can be used to set additional shapes on top or bottom of the photonic layer stack. For example, commonheat_onlyshapes are the substrate and metal heater layers.Each
shape()also now accepts an input parameter calledfem_resolution(default: 500), which is used to refine the triangular mesh within certain shapes.Every material carries
thermal_conductivity(W/m·K),resistivity(Ohm·nm),dn_dT(1/K), andeps_r_dc; the defaults are1e-10, infinity,0, and1.0where no reliable published value has been entered. See the Material Database page for values and sources.- Parameters:
min_angle (float) – Minimum angle for triangular mesh. Smaller values result in a finer mesh, but can prevent the meshing algorithm from converging. Default: 30.
boundary_temperature (float) – Fixed temperature boundary condition in ‘K’ set along each perimeter indicated by
boundaries. Default: 298.boundaries (list[str]) – ‘top’, ‘bottom’, ‘left’, or ‘right’; Indicates which boundaries are set to the fixed temperature
boundary_temperature. Default: [‘bottom’].verbose (bool) – Control the display of the progress bar. Default: True.
simulation_name (str) – Simulation name. Default: ‘emode’.
- Returns:
A dictionary/struct with the mesh points (
p), mesh triangles (t),temperature,thermal_conductivity, andheat_generationarrays. It also includes theboundary_temperatureandboundariessettings.
- electrostatic
Run a steady-state electrostatic simulation of a waveguide cross-section. Requires a ‘3D’ license.
Warning
This function is only available under beta release. Please report any issues or bugs.
Note
Each
shape()also now accepts an input parameter calledvoltage(default: None), which is set to create electric field sources. Shapes withvoltageleft as None do not get a voltage boundary condition applied.Each
shape()also now accepts an input parameter calledfem_resolution(default: 500), which is used to refine the triangular mesh within certain shapes.Each material in the EMode material database now has
eps_r_dc(relative permittivity at ~1 kHz).The DC field derived here perturbs the permittivity through each material’s linear electro-optic (Pockels) tensor
r(get('<material>')['r'], m/V): \(\Delta(1/n^2)_{ij} = \sum_k r_{ijk} E_k\), then \(\Delta\varepsilon = -\varepsilon \cdot \Delta(1/n^2) \cdot \varepsilon\).FDM()applies this automatically on the next solve (include_static=Falseto skip it), the same wayheat()’s temperature field perturbs the permittivity throughdn_dT.- Parameters:
min_angle (float) – Minimum angle for triangular mesh. Smaller values result in a finer mesh, but can prevent the meshing algorithm from converging. Default: 30.
verbose (bool) – Control the display of the progress bar. Default: True.
simulation_name (str) – Simulation name. Default: ‘emode’.
- Returns:
A dictionary/struct with the mesh points (
p), mesh triangles (t),voltage,eps_dc_grid, the per-element electric field (Ex,Ey, in V/nm), andcentroids(element centers, in the optical window’s frame).