Basic Session Management#
This example demonstrates how to initialize a local Lumerical session. PyLumerical interacts with Lumerical products through sessions.
Prerequisites:#
Valid FDTD and MODE licenses are required.
Perform required imports#
[ ]:
import ansys.lumerical.core as lumapi
Open an interactive session#
[ ]:
fdtd = lumapi.FDTD()
# Wait for a second, then add FDTD region
fdtd.pause(1)
fdtd.addfdtd()
fdtd.print("Example complete. Press space bar to close.")
fdtd.pause(30) # Will close in 30 seconds if left idle
fdtd.close()
mode = lumapi.MODE()
mode.print("Example complete. Press space bar to close.")
mode.pause(30)
mode.close()
# Load a session but hide the application window
fdtd = lumapi.FDTD(hide=True)
fdtd.close()
Use the “with” context manager#
[ ]:
with lumapi.FDTD() as fdtd:
fdtd.addfdtd()
fdtd.print("Example complete. Press space bar to close.")
fdtd.pause(30)
# FDTD closes automatically
Session wrapped in a function#
Get the number of grid cells in FDTD region for set span
[ ]:
def get_x_cells(fdtd_span):
"""Return the number of grid cells in FDTD region for a set span."""
with lumapi.FDTD() as fdtd:
# Adds FDTD region with span set by fdtd_span
fdtd.addfdtd(dimension="3D", x_span=fdtd_span, y_span=fdtd_span, z_span=fdtd_span)
# Get the x-coordinates of created FDTD region
x = fdtd.getresult("FDTD", "x")
x_cells = len(x)
return x_cells
Test the function and print out the result#
[ ]:
test = get_x_cells(1e-6)
print(test)