30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
# 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 |