Database reference

[1]:
from scipy.constants import c
import pymwm
wl_max = 10.0
wl_min = 1.0

params = {'core': {'shape': 'cylinder', 'size': 1.0,
                   'fill': {'RI': 1.5}},
          'clad': {'book': 'Au', 'page': 'Rakic-DLF'},
          'bounds': {'wl_max': wl_max, 'wl_min': wl_min,
                     'wl_imag': 100.0},  # conditions for use
          'modes': {'num_n': 6, 'num_m': 2, 'wl_min': 1.0, 'wl_max': 10.0,
                    'wl_imag': 10.0, 'dw': 1.0 / 256}}  # sampling setting for database
wg = pymwm.create(params)  # It takes hours for the first time
2022-01-13 15:39:51,223 INFO services.py:1250 -- View the Ray dashboard at http://127.0.0.1:8265

Catalog

[2]:
database = wg.samples.database
sn = database.get_sn()  # sample data number for the waveguide with params specified above
catalog = database.load_catalog()
catalog.query(f'sn >= {sn}')
[2]:
sn shape size size2 core clad wl_max wl_min wl_imag dw num_n num_m EM n m
198 198 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 0 1
199 199 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 0 2
200 200 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 1 1
201 201 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 1 2
202 202 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 2 1
203 203 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 2 2
204 204 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 3 1
205 205 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 3 2
206 206 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 4 1
207 207 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 4 2
208 208 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 5 1
209 209 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 5 2
210 210 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 0 1
211 211 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 0 2
212 212 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 0 3
213 213 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 1 1
214 214 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 1 2
215 215 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 1 3
216 216 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 2 1
217 217 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 2 2
218 218 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 2 3
219 219 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 3 1
220 220 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 3 2
221 221 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 3 3
222 222 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 4 1
223 223 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 4 2
224 224 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 4 3
225 225 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 5 1
226 226 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 5 2
227 227 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 5 3

Delete data

[3]:
import subprocess
subprocess.call("cp ~/.pymwm/pymwm_data.h5 ~/.pymwm/pymwm_data.h5.bak", shell=True)
sns = catalog.query(f'sn >= {sn}')['sn']
database.delete(sns)
try:
    database.load()
except IndexError as e:
    print("IndexError: ", e)
IndexError:  index 0 is out of bounds for axis 0 with size 0
[4]:
subprocess.call("mv ~/.pymwm/pymwm_data.h5.bak ~/.pymwm/pymwm_data.h5", shell=True)
database.load()
catalog = database.load_catalog()
sn = database.get_sn()  # sample data number for the waveguide with params specified above
catalog.query(f'sn >= {sn}')
[4]:
sn shape size size2 core clad wl_max wl_min wl_imag dw num_n num_m EM n m
198 198 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 0 1
199 199 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 0 2
200 200 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 1 1
201 201 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 1 2
202 202 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 2 1
203 203 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 2 2
204 204 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 3 1
205 205 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 3 2
206 206 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 4 1
207 207 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 4 2
208 208 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 5 1
209 209 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 E 5 2
210 210 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 0 1
211 211 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 0 2
212 212 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 0 3
213 213 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 1 1
214 214 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 1 2
215 215 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 1 3
216 216 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 2 1
217 217 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 2 2
218 218 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 2 3
219 219 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 3 1
220 220 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 3 2
221 221 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 3 3
222 222 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 4 1
223 223 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 4 2
224 224 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 4 3
225 225 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 5 1
226 226 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 5 2
227 227 cylinder 1.0 0.0 RI: 1.5 Au Rakic-DLF 10.0 1.0 10.0 0.003906 6 2 M 5 3