summaryrefslogtreecommitdiff
path: root/solution_visualization.m
diff options
context:
space:
mode:
Diffstat (limited to 'solution_visualization.m')
-rw-r--r--solution_visualization.m56
1 files changed, 56 insertions, 0 deletions
diff --git a/solution_visualization.m b/solution_visualization.m
new file mode 100644
index 0000000..15d52c2
--- /dev/null
+++ b/solution_visualization.m
@@ -0,0 +1,56 @@
+
+source('abcd.m')
+
+
+% #########################################
+% an example of 'answ.txt' file
+% lambda= 1.064E-6 ;
+% Ltot= 1 ;
+% r0= 1.0E+100 ;
+% w0= 25.63e-6;
+% lns1.abcd=abcd_lens( 0.25 ) ;
+% lns1.x= 0.37680270021479 ;
+% lns2.abcd=abcd_lens( 0.1 ) ;
+% lns2.x= 0.90277021575519 ;
+% rf=1e100;
+% wf=25.630e-6;
+% #########################################
+source('answ.txt')
+
+
+q0=waste_r2q(w0,r0,lambda);
+optics={lns1,lns2,lns3};
+
+x=0:.001:Ltot;
+printf('======== Forward propagation ======\n')
+q1=gbeam_propagation(x,q0,0,optics);
+w1=q2waste(q1, lambda);
+r1=q2radius(q1,lambda);
+
+printf('======== Backward propagation ===\n')
+%because of back propagation
+rf=-rf;
+q1b=waste_r2q(wf,rf,lambda);
+
+q2b=gbeam_propagation(x,q1b,Ltot,optics);
+printf('=================================\n')
+wb=q2waste(q2b, lambda);
+rb=q2radius(q2b,lambda);
+plot (x,w1, '1;forward propagation;', x, wb, '2;backward propagation;', ...
+ x,-w1, '1;;', x, -wb, '2;;')
+
+printf('=================================\n')
+printf('======= final check =============\n')
+printf('======= after propagation ========\n')
+printf('following are theoretical values: \n')
+w0
+r0
+wf
+rf
+q0=waste_r2q(w0,r0,lambda);
+qtf=gbeam_propagation(Ltot, q0,0, optics);
+printf('values below should match wf and rf: \n')
+waste = q2waste(qtf, lambda)
+radius = q2radius(qtf,lambda)
+
+