aboutsummaryrefslogtreecommitdiff
path: root/cavity_design.m
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2013-09-18 08:21:38 -0400
committerEugeniy Mikhailov <evgmik@gmail.com>2013-09-18 08:21:38 -0400
commitcab5247871e07232e5c64322b32fe9170eec4b79 (patch)
tree41c1bc3a8e22dc479614843ebb00aba0b73f515d /cavity_design.m
parent41ca145d491d09549f27bc16cbb45a84eda3fd6b (diff)
downloadmode_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.m85
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)
-