diff options
author | Eugeniy Mikhailov <evgmik@gmail.com> | 2011-04-13 11:12:02 -0400 |
---|---|---|
committer | Eugeniy Mikhailov <evgmik@gmail.com> | 2011-04-13 11:12:02 -0400 |
commit | d633bca9a5fe49e2f425e22f0c226eb4d32db5c7 (patch) | |
tree | 9f40340d37e6f05fb1e2df8f9627c6452ea8a637 /solution_visualization.m | |
parent | e75e6f968d620fde5d5596092e6c6b0f2cc4aa94 (diff) | |
download | mode_match-d633bca9a5fe49e2f425e22f0c226eb4d32db5c7.tar.gz mode_match-d633bca9a5fe49e2f425e22f0c226eb4d32db5c7.zip |
file moved to a file with better speaking name
Ignore-this: f77118ebffdf32fd8f1c7782d533c9bb
darcs-hash:20110413151202-067c0-e58409629c4a58cdbcf108c44014f53956f61124
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) + + |