GLE Example: cavity.gle

[PDF file]

 


size 14 12

set hei 0.6 ! Make arrows smaller

sub parmove focus_x focus_y length new_y
! length is distance to right of focus
    new_x=length-sqr(new_y-focus_y)/(4*length)+focus_x
    amove new_x new_y
end sub

sub parline focus_x focus_y length new_y
! length is distance to right of focus
    new_x=length-sqr(new_y-focus_y)/(4*length)+focus_x
    aline new_x new_y
end sub

sub parabola length start_y end_y
    parsteps = 20
    focus_x = xpos()
    focus_y = ypos()
    @parmove focus_x focus_y length start_y
    for i = 1 to parsteps step 1
        new_y=start_y+(end_y-start_y)*i/parsteps
        @parline focus_x focus_y length new_y
    next i
end sub

! Optical axes
amove 1.6 6
set lstyle 4
aline 13 6
amove 0.5 8.75
@parline 1.5 6 11 8.75
aline 1.5 6
@parline 1.5 6 11 3.25
aline 4 3.25
set lstyle 0

! mirror
amove 1 6
rmove 0.5 0
box 0.25 3 justify cr fill shade nobox name backmirror
box 0.02 3 justify cr fill black

! crystal
amove 1 6
rmove 0.5 0
box 0.5 2 justify cl name crystal

! top parabolic mirror
amove 1.5 6
begin path fill shade
    @parabola 11 7.5 10
    rline 0.8 0
    rline 0 -2.5
    closepath
end path
amove 1.5 6
set lwidth 0.04
@parabola 11 7.5 10

! bottom parabolic mirror
amove 1.5 6
begin path fill shade
    @parabola 11 4.5 2
    rline 0.8 0
    rline 0 2.5
    closepath
end path
amove 1.5 6
set lwidth 0.04
@parabola 11 4.5 2
set lwidth 0

! pump return mirror
amove 4 2
box 0.25 2.5 just br fill shade nobox
set lwidth 0.04
rline 0 2.5
set lwidth 0

!
! these beams may be best done first in order not cover optics.
!
! pump beam
set color red
!inside ray
amove 0.5 9.9
rline 1 0 arrow end
@parline 1.5 6 11 9.9
aline 1.5 6
@parline 1.5 6 11 2.1
aline 4 2.1 arrow both
! outside ray
amove 0.5 7.6
rline 1 0 arrow end
@parline 1.5 6 11 7.6
aline 1.5 6
@parline 1.5 6 11 4.4
aline 4 4.4 arrow both

! laser beam
set color blue
amove 1.5 6
set lwidth 0.1
rline 11 0 arrow end
set lwidth 0

 

[Return to examples page]