等式:
变量:z,t
想要:S = S(z,t),A = A(z,t)
参数:a,b,c
我是sqrt(-1)
d是偏导数算子
dS / dt = -i * a * z * S - i * b * A
(d / dz + c * d / dt)A = -i * S
边界条件:
sigma是脉冲宽度
tm是脉冲的中心
在z = 0,
A(1,t)=(0.398942 / sigma)* exp( - ((t-tm)。^ 2)/(2 * sigma ^ 2))(高斯脉冲)
在z = 1时, 边界条件不明确。预计接近0.如果我使用Mathematica,则没有必要指定此边界条件。实际上,这个边界是解决这个问题的目的。
初始条件:
在t = 0,
S = 0
A = 0(接近0.它应该是上述高斯脉冲的边缘)
我试图用pdepe来解决这个pde集。结果显示:
???使用==>时出错daeic12 at 77 此DAE似乎的索引大于1。
我的问题是:pdepe可以解决这些问题吗?
××××××××××××××××××××××××××××××××××××××××××××××× ××××××××××××××××××××××××××
详细信息:将等式更改为以下形式:
[1; c]。* d / dt [S; A] = d / dz [0; -A] + [-i * a * z * S-i * b * A; -i * S]
然后我的等式代码:(参数名称被更改,不长,称为a,b和c)
function [ c,f,s ] = myPdeNoDecay( z,t,u,dudz)
LoverzetacT = 6.712414322355693e-05;
betaLT = 66.713366022882500;
omegayetaksbarLT = 4.183966095613130e+02;
c = [1;LoverzetacT];
f = [0;-u(2)];
s = -1i*[betaLT.*z.*u(1)+omegayetaksbarLT.*u(2);u(1)];
end
边界条件:
function [ pl,ql,pr,qr ] = myPdeNoDecayBC( xl,ul,xr,ur,t )
tm = 0.5; %ns, Normalized central time of the pulse
sigma = 0.1; %ns, Normalized width of the pulse, 10^-7s
pl = [ul(2)-iniShape(t,sigma,tm);0];
ql = [0;0];
pr = [0;0];
qr = [0;0];
end
function [G] = iniShape(t,sigma,tm)
G = (0.398942/sigma)*exp(-((t-tm).^2)/(2*sigma^2));
end
初始条件:
function [ u0 ] = myPdeNoDecayIC( x )
u0 = [0;0];
end
主要功能:
clear
close all
tlist = 0:0.05:1;
zlist = 0:0.05:1;
LoverzetacT = 6.712414322355693e-05;
betaLT = 66.713366022882500;
omegayetaksbarLT = 4.183966095613130e+02;
tm = 0.5; %ns, Normalized central time of the pulse
sigma = 0.1; %ns, Normalized width of the pulse, 10^-7s
m = 0;
sol = pdepe(m,@myPdeNoDecay,@myPdeNoDecayIC,@myPdeNoDecayBC,zlist,tlist);
figure('numbertitle','off','name','my PDE with no decay or two-ph detuning')
subplot(211);
surf(zlist,tlist,sol(:,:,1));
title('The solution of S');
xlabel('z');
ylabel('t');
zlabel('S(z,t)');
title('The solution of a');
xlabel('z');
ylabel('t');
zlabel('a(z,t)');
错误是:
???使用==>时出错daeic12 at 77
此DAE似乎是索引大于1。
答案 0 :(得分:1)
不,pdepe无法解决DAE指数大于1的方程式。