aboutsummaryrefslogtreecommitdiff
path: root/mode_match_demo.m
diff options
context:
space:
mode:
Diffstat (limited to 'mode_match_demo.m')
-rw-r--r--mode_match_demo.m10
1 files changed, 6 insertions, 4 deletions
diff --git a/mode_match_demo.m b/mode_match_demo.m
index 2386552..6d93de0 100644
--- a/mode_match_demo.m
+++ b/mode_match_demo.m
@@ -1,22 +1,24 @@
%Permute all possible lens combinations out of set of lenses
-lens_set = [0.025, 0.035, 0.05, .075, 0.10, .125, 0.20, 0.50, 0.75, -.05, -0.10 ]; %Given lenses of unique focal lengths
+% keep this list short - computation time goes as factorial of lens set size
+lens_set = [0.025, 0.035, 0.05, .075, 0.10, .125, 0.150, 0.20, 0.25, 0.300, 0.50, 0.75, -.05, -0.10 ]; %Given lenses of unique focal lengths
lens_permutations = pick(lens_set,3,'or'); %3 lens solutions
%Pre-defined Constants
lambda= .795e-6 ; %Wavelength of beam
-Ltot= .51 ; %Length of optical system
+extra_space = 0.05; % to allow lens holder placement
+Ltot= .51 - 2*extra_space ; %Length of optical system
r0= 1.0E+100 ; %Initial radius of curvature
w0= 5.65e-4 ; %Initial waist
dummy_lens.abcd = abcd_lens(inf);
dummy_lens.x = 10000;
dummy_optic = {dummy_lens};
-q0 = gbeam_propagation ( 0, wr2q(w0, r0, lambda), -1.54, dummy_optic );
+q0 = gbeam_propagation ( 0, wr2q(w0, r0, lambda), (-1.54 + extra_space), dummy_optic );
x0= 0 ; %Starting position of beam
wf= 2.6983e-4 ; %Desired final waist
rf= 1.0E+100 ; %Desired final radius
-qf = gbeam_propagation ( 0, wr2q(wf, rf, lambda), -0.4813, dummy_optic );
+qf = gbeam_propagation ( 0, wr2q(wf, rf, lambda), (-0.4813 - extra_space), dummy_optic );
lens_width = .03; %Lens width
show_lens_width = 1; %Set to 1 to enable display of lens width on solution propagation plot