MATLAB:单轴晶体的相位匹配角计算

news/2024/11/8 0:45:56/

MATLAB:单轴晶体的相位匹配角计算

对于相位匹配来说,计算相位匹配角是一个繁琐的过程。
以下是通过matlab来辅助计算单轴晶体的相位匹配角。
可以简单计算单轴晶体的一类相位匹配以及二类相位匹配。

懒得检查代码了,各位大神欢迎指出错误。

%负单轴晶体一类相位匹配
%首先采用KDP晶体举例,相位匹配条件为
%   ne(532)(θ)=no(1064)
%θ的角度为波矢K与Z轴的夹角
%φ的角度为波矢K在xoy面上的投影与X轴的夹角
%单轴晶体主轴可以垂直于xy平面上任意选择,为方便起见,选择y轴方向使给
%定的波法线方向位于yoz平面,Z轴为光轴方向。
%使基频光为O光,倍频光为e光。
%要求基频光与倍频光折射率相等,即无色散。clc
clear alllamda1=1064/10^3;         %sellmeier公式的单位是微米
lamda2=532/10^3;
Ano=2.259276;
Bno=0.01008956;
Cno=0.012942625;
Dno=13.00522;
Ane=2.132668;
Bne=0.008637494;
Cne=0.012281043;
Dne=3.227992;%1064nm波长的o光  e光折射率
no=sqrt(Ano+Bno/(lamda1^2-Cno)+(Dno*lamda1^2)/(lamda1^2-400));
ne=sqrt(Ane+Bne/(lamda1^2-Cne)+(Dne*lamda1^2)/(lamda1^2-400));
fprintf('基频光1064nm波长的折射率 no')
disp(no)
fprintf('基频光1064nm波长的折射率 ne')
disp(ne)% 532nm波长的o光  e光折射率
n2o=sqrt(Ano+Bno/(lamda2^2-Cno)+(Dno*lamda2^2)/(lamda2^2-400));
n2e=sqrt(Ane+Bne/(lamda2^2-Cne)+(Dne*lamda2^2)/(lamda2^2-400));
fprintf('倍频光532nm波长的折射率  no')
disp(n2o)
fprintf('倍频光532nm波长的折射率  ne')
disp(n2e)% 求theta的角度         (第一种方法:菲涅尔公式 通过K值求)
b=asin(sqrt((no^(-2)-n2o^(-2))/(n2e^(-2)-n2o^(-2))));
%求得结果为弧度
theta=b*180/pi;
%将弧度转换为角度
%角度转弧度: π/180×角度 ;弧度变角度:180/π×弧度
fprintf('方法一:Ⅰ类相位匹配的θ角为')
disp(theta)
%输出的为一类相位匹配的θ角(角度),此时φ为45度。% 求theta的角度         (第二种方法:相位匹配条件化简)
c=asin(sqrt(((n2o^2)*(n2e^2)-(n2e^2)*(no^2))/((n2o^2)*(no^2)-(n2e^2)*(no^2))));
d=c*180/pi;
fprintf('方法二:Ⅰ类相位匹配的θ角为')
disp(d)%负单轴晶体二类相位匹配
%相位匹配条件:     1/2[n_e^ω (θ_m )+n_o^ω]= n_e^2ω (θ_m )
%设,sinθ^2为x    cosθ^21-x
syms x
f1=2/sqrt(((1-x)/n2o^2)+(x/n2e^2))-1/sqrt(((1-x)/no^2)+x/ne^2)-no;
y=solve(f1);
%disp(y)                  %输出所有解,包括实数和复数
yy=double(y);             %将符号型转换为数值型
%disp(yy)                 %输出数值型的解  
h=asin(sqrt(yy));
g=h*180/pi;               %转换为角度显示
% for i=1:length(g)               %另外一种选取实数的方法
%     if isreal(g(i))
%         m(length(g)+1)=g(i);
%     end
% end
% disp(m)
A=g==real(g);             %选取实数,如果是实数为1,不是就为0
fprintf('Ⅱ类相位匹配的θ角为        ')
disp(g(A))                %输出为1的实数
%输出的为二类相位匹配的θ角(角度),此时φ为0度。%求KDP晶体一类和二类相位匹配的有效非线性光学系数deff
d14=0.46;                 %d14=d36=0.46 (pm/V)
d36=0.46;
fai1=45;                  %一类相位匹配φ=45度
fai2=0;                   %二类相位匹配φ=0度
deff1=d14*sind(theta)*sind(2*fai1);
deff2=d14*sind(2*g(A))*cosd(2*fai2);
fprintf('Ⅰ类匹配的有效非线性系数deff为')
disp(deff1)
fprintf('Ⅱ类匹配的有效非线性系数deff为')
disp(deff2)%求离散角(离散效应)
%在晶体光学中,把光波波法线方向与光线方向的夹角称为离散角
%对于单轴晶体,O光的离散角恒等于零。e光的离散角为%倍频过程只有532产生离散角
B1=(1/2)*n2e^2*(n2o^-2-n2e^-2)*sind(2*theta);
B2=(1/2)*n2e^2*(n2o^-2-n2e^-2)*sind(2*g(A));
C1=B1*180/pi;
C2=B2*180/pi;
fprintf('Ⅰ类相位匹配的离散角')
disp(C1)
fprintf('Ⅱ类相位匹配的离散角')
disp(C2)
%对于正单轴晶体,ne>no,离散角C>0,e光的光线较其波法线靠近光轴。
%对于负单轴晶体,ne<no,离散角C<0,e光的光线较其波法线远离光轴。

http://www.ppmy.cn/news/601458.html

相关文章

25匹马问题

题目&#xff1a;如果要25匹马中选出跑得最快的3匹&#xff0c;每次只有5匹马同时跑&#xff0c;最少要比赛几次&#xff0c;才能确保得出结果&#xff1f; 25匹马看成25个点&#xff0c;每次比赛在参赛的5匹马之间引入4条有向边&#xff0c;1->2->3->4->5&#xf…

测试题:64 匹马,8 个赛道,最少多少次比赛找出最快的 4 匹马?

文章目录 问题一&#xff1a;64 匹马&#xff0c;8 个赛道&#xff0c;最少几场比赛找出最快的4匹马&#xff1f;问题二&#xff1a;64 匹马&#xff0c;8 个赛道&#xff0c;最少多少次比赛对所有马进行排序&#xff1f; 问题一&#xff1a;64 匹马&#xff0c;8 个赛道&#…

现有2头猪、3头牛和4只羊,它们各自的总价都不满1000元。如果将2头猪与1头牛放在一起,或者将3头牛与一只羊放在一起,或者将4只羊与1匹马放在一起,那么它们各自的总价都正好是1000元。问猪、牛、羊

问题&#xff1a;现有2头猪、3头牛和4只羊&#xff0c;它们各自的总价都不满1000元。如果将2头猪与1头牛放在一起&#xff0c;或者将3头牛与一只羊放在一起&#xff0c;或者将4只羊与1匹马放在一起&#xff0c;那么它们各自的总价都正好是1000元。问猪、牛、羊各是多少钱&#…

64匹马,8个赛道,最少多少次比赛找出最快的 4 匹马,以及对所有马进行排序

问题&#xff1a;64匹马&#xff0c;8个赛道&#xff0c;最少几场比赛找出最快的 4 匹马&#xff0c;最少几场对所有马进行排序 问题一&#xff1a;64 匹马&#xff0c;8 个赛道&#xff0c;最少几场比赛找出最快的 4 匹马 问题中隐含的意思&#xff1a;   1、就是每次比赛…

25匹马赛跑

25匹马通过赛跑来决出前三名&#xff0c;每轮最多5匹马参赛&#xff0c;求最少需要几轮&#xff1f; 条件&#xff1a; 1、最多5匹马一组&#xff0c;可以决出本组比赛的次序。 2、没有计时工具&#xff0c;假设马每轮的速度相同。 每次都排除不能争夺前三名的马是关键 7轮就可…

64匹马8条道找到最快4匹最少需要几次

64匹马赛跑问题 这题是我之前一段时间在网上看到的一道面试的思维题&#xff0c;题目的描述大致如下&#xff1a; 现有64匹马&#xff0c;8条赛道&#xff0c;如何用最少的比较次数找出最快的4匹 刚看到这道题时&#xff0c;我在想如果有计时器的话&#xff0c;64匹马分8组跑…

c语言 100匹马 编程,编程,百马百担有关问题,有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小各多少匹...

编程,百马百担问题,有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小各多少匹? 编程,百马百担问题,有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小各多少匹? 分享到: ------解决方案-------------------- 数学…

腾讯面试:赛马问题【超详细图解】64匹马,8个赛道,找出前4名最少比赛多少场?

目录 常规思路正确答案解析第一轮&#xff1a;8场第二轮&#xff1a;1场第三轮&#xff1a;1场或2场总结 引子&#xff1a;在面试大厂时&#xff0c;怎么也没想到会考我一道脑筋急转弯。 问题&#xff1a;有64匹马和8条跑道&#xff0c;每次只允许最多8匹马同时比赛&#xff08…