Skip to content

FDTD on GDSFactory+ Cloud

MEEP is an open-source FDTD electromagnetic simulator. This notebook demonstrates using the gsim.meep API to run an S-parameter simulation and visualize the results.

Requirements:

  • GDSFactory Simulation SDK: uv pip install gsim
  • GDSFactory+ account for cloud simulation

Load a pcell from the PDK

# ! uv pip install gsim
# ! uv add gsim==0.0.16
from gdsfactoryplus import get_pdk
import gdsfactory as gf

PDK = get_pdk()
PDK.activate()

c = gf.get_component("straight")
c

png

Configure and run simulation

from gsim import meep
from gsim.meep.models.api import Material

sim = meep.Simulation()

sim.geometry(component=c)
sim.materials = {
    "si": Material(refractive_index=3.47),
    "SiO2": Material(refractive_index=1.44),
}
sim.source(port="o1", wavelength=1.55, wavelength_span=0.01)
sim.monitors = ["o1", "o2"]
sim.domain(pml=1.0, margin_x=0.5, margin_y=0.5, z_ref="stack")
sim.solver(resolution=20, simplify_tol=0.01, save_animation=True, verbose_interval=5.0)
sim.solver.stop_after_sources(time=60)

print(sim.validate_config())
Stack validation: PASSED
Warnings:
  - No stack configured. Will use active PDK with defaults.
  - Stopping: fixed (time=60.0)
sim.plot_2d(slices="xyz")

png

Run simulation on cloud

# Run on GDSFactory+ cloud
result = sim.run()
  meep-d6eab412  completed  2m 37s


Extracting results.tar.gz...
Downloaded 282 files to /home/runner/work/simulation-templates/simulation-templates/docs/notebooks/sim-data-meep-d6eab412
result.plot(db=True)

png

result.show_animation()