diff options
author | Eugeniy Mikhailov <evgmik@gmail.com> | 2013-09-18 08:21:38 -0400 |
---|---|---|
committer | Eugeniy Mikhailov <evgmik@gmail.com> | 2013-09-18 08:21:38 -0400 |
commit | cab5247871e07232e5c64322b32fe9170eec4b79 (patch) | |
tree | 41c1bc3a8e22dc479614843ebb00aba0b73f515d /cavity_design.m | |
parent | 41ca145d491d09549f27bc16cbb45a84eda3fd6b (diff) | |
download | mode_match-cab5247871e07232e5c64322b32fe9170eec4b79.tar.gz mode_match-cab5247871e07232e5c64322b32fe9170eec4b79.zip |
renamed file for cavity design demo
Diffstat (limited to 'cavity_design.m')
-rw-r--r-- | cavity_design.m | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/cavity_design.m b/cavity_design.m deleted file mode 100644 index 7bddf35..0000000 --- a/cavity_design.m +++ /dev/null @@ -1,85 +0,0 @@ -% Design of a laser cavity with focus on 2 bow-tie resonator -% Notation follows - -% "Laser resonators with several mirrors and lenses with the bow-tie laser -% resonator with compensation for astigmatism and thermal lens effects as an -% example" by Haim Abitan and Torben Skettrup 2005 J. Opt. A: Pure Appl. Opt. 7 7 -% doi:10.1088/1464-4258/7/1/002 -% http://dx.doi.org/10.1088/1464-4258/7/1/002 - - -% The cavity defined by two flat mirrors and distance between them dm -% two concave mirrors with curvatures R1 and R2, and the shortest distance between them d1 -% d2 is the beam path length from concave mirror -> flat -> flat -> concave mirror. -% dm is part of d2 - -% let's set some parameters -R1=0.8; -R2=1; -d1=3; -d2=1; -Ltot = d1+d2; % total resonator length - -% operational wavelength -lambda = 795e-9; - -%% let's create cavity abcd matrix -% follow figure 4: elements goes as d1, f1, d3, f2 -% where f1 and f2 lens mirror equivalent with f_i=R_i/2 - -abcd_cavity = abcd_mirror(R2)*abcd_free_space(d2)*abcd_mirror(R1)* abcd_free_space(d1); - -% spelling out abcd coefficients -A = abcd_cavity(1,1); -B = abcd_cavity(1,2); -C = abcd_cavity(2,1); -D = abcd_cavity(2,2); - - -if ~isCavityStable(abcd_cavity) - display('Cavity is unstable !'); - display('We should stop now. There is no stable mode in this cavity'); - error('Not possible to calculate a cavity mode in the unstable cavity'); -end - -display('Cavity is stable'); - -% stability parameter see eq.4 -u = (A+D+2)/4; - -% resonator waist eq.10 -w0 = sqrt ( 2*lambda/(pi*abs(C))*sqrt(u*(1-u)) ); - -% resonator waist location along 1st arm eq.11 -z0 = (A-D)/(2*C); - -% Everything is periodic with respect to cavity length -% so by taking modulus with respect to its length -% we get rid of nasty virtual waist condition -z0 = mod(z0,Ltot); - -% naturally the Gaussian beam curvature radius is huge i.e. wavefront is flat -q0=wr2q(w0, inf, lambda); %Calculate initial q - -% time to build the optics set -mirror1.abcd = abcd_mirror( R1 ) ; -mirror1.x = d1; -mirror2.abcd = abcd_mirror( R2 ) ; -mirror2.x = d1 + d2; -optics={mirror1, mirror2}; - -% display properties setup -lens_width = .03; %Lens width -show_lens_width = 1; %Set to 1 to enable display of lens width on solution propagation plot -show_lens_position = 1; %Set to 1 to enable display of position of center of lens on solution propagation plot -display_prop = [show_lens_width, show_lens_position]; - - -zstart = 0; -qstart = gbeam_propagation(zstart, q0, z0, optics); -zfinal = Ltot; -qfinal = gbeam_propagation(zfinal, q0, z0, optics); - -% show beam in the resonator -[waste_at_the_end, radius_at_the_end, waist_at_mirrors] = solution_visualization(qstart,zstart, qfinal, zfinal, optics, lambda, lens_width, display_prop) - |