summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2011-04-14 09:35:19 -0400
committerEugeniy Mikhailov <evgmik@gmail.com>2011-04-14 09:35:19 -0400
commit9ab48ca4f9a875bc0b6e687190a3103f309c7353 (patch)
tree0b323d23c6e779b35a63a2e89fe7c82572349d06
parentbb8e4862158cefe2d64b5231bd86f341e1f16a81 (diff)
downloadmode_match-9ab48ca4f9a875bc0b6e687190a3103f309c7353.tar.gz
mode_match-9ab48ca4f9a875bc0b6e687190a3103f309c7353.zip
added q -> waste and radius function
Ignore-this: 30856c0dad521880036a8822bed1c6c8 darcs-hash:20110414133519-067c0-b7aaa6d5a8842913d351fea89541117d83c47596
-rw-r--r--abcd.m6
-rw-r--r--solution_visualization.m6
2 files changed, 8 insertions, 4 deletions
diff --git a/abcd.m b/abcd.m
index da68fc9..bc7466a 100644
--- a/abcd.m
+++ b/abcd.m
@@ -39,6 +39,12 @@ function radius =q2radius(q, lambda)
radius=(1./real(1./q));
endfunction
+function [waste,radius] =q2wr(q, lambda)
+ waste=sqrt (-lambda./pi./imag(1./q));
+ radius=(1./real(1./q));
+endfunction
+
+
function q=waste_r2q(waste,R,lambda)
q=1./(1./R-1i.*lambda./pi./(waste.^2));
endfunction
diff --git a/solution_visualization.m b/solution_visualization.m
index 68b7a55..f5d69d4 100644
--- a/solution_visualization.m
+++ b/solution_visualization.m
@@ -5,15 +5,13 @@ q0=waste_r2q(w0,r0,lambda);
x=linspace(x0,xf,1000); % we will calculate beam profile between x0 and xf
printf('======== Forward propagation ======\n')
q_forward=gbeam_propagation(x,q0,x0,optics);
-w_forward=q2waste(q_forward, lambda);
-r_forward=q2radius(q_forward,lambda);
+[w_forward,r_forward]=q2wr(q_forward, lambda);
printf('======== Backward propagation =====\n')
q_backward0=waste_r2q(wf,rf,lambda);
q_backward=gbeam_propagation(x,q_backward0,xf,optics);
-w_backward=q2waste(q_backward, lambda);
-r_backward=q2radius(q_backward,lambda);
+[w_backward,r_backward]=q2wr(q_backward, lambda);
printf('========= Plotting ================\n')
plot (x,w_forward, '1;forward propagation;', x, w_backward, '2;backward propagation;', ...