1.7 KiB
1.7 KiB
Gaussianoptics
Python library for the simulation of gaussian beams according to ray optics.
You can build an optical bench with the following elements (see test.py for an example):
- 'path', refractive index , position[mm], (relative: 'r', absolute: 'a' (position is the end position), filling: 'f')
- 'thinlens', f [mm] , position[mm], (relative: 'r', absolute: 'a')
- 'thicklens', [ n1 = refractive index outside of the lens, n2 = refractive index of the lens itself (inside the lens), R1 = Radius of curvature of First surface, R2 = Radius of curvature of Second surface, t = center thickness of lens] , position[mm], (relative: 'r', absolute: 'a')
- 'flatmirror', 0 , position[mm], (relative: 'r', absolute: 'a')
- 'curvedmirror', [R [mm], angle [°], plane (0=tangential, 1=sagittal)], position[mm], (relative: 'r', absolute: 'a')
- 'flatrefraction', [ n1 = initial refractive index, n2 = final refractive index] , position[mm], (relative: 'r', absolute: 'a')
- 'curvedrefraction', [ n1 = initial refractive index, n2 = final refractive index, R = radius of curvature R > 0 for convex (centre of curvature after interface)], position[mm], (relative: 'r', absolute: 'a')
example: opticalbench = ['path',1,0.050,'a''thinlens',0.05,0.100,'r''path',[1,0,0,0,0],0,'f''thinlens',[0.15,0,0,0,0],0.200,'r']
TODOs:
- check if 'path' is first and last element
- find 'empty space'
- normalize curve by refractive index other than 1