diff options
Diffstat (limited to 'solution_visualization.m')
-rw-r--r-- | solution_visualization.m | 56 |
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) + + |