Problem in drawing curves after solving ode equations

2 ビュー (過去 30 日間)
mohammad heydari
mohammad heydari 2019 年 11 月 11 日
編集済み: mohammad heydari 2019 年 11 月 12 日
Hi there.
I've written the following program.This program is part of a laser program
main program
tspan = [0 3e-9]; % time interval, up to 2 ns
[t,y] = ode45(@rate_eq_program_1,tspan,y0);
size(t);
t=t*1e9;
param_rate_eq % input of needed parameter
r_2=1-(abs(r_R)).^2;
plot(t,r_2)
function
function ydot = rate_eq_program_1(t,y)
%
param_rate_eq % input of needed parameters
%
current1 = 18d-2; % bias current (step function) [A]; 400mA
sigmaa=(2.*epsilon0.*ref_index.*ref_indexg)./(hbar.*w_s).*((1+(abs(r_R)).^2).*(1-r_R))./(conf.*V_g.*g_n.*(y(1)-N_0));
parameter
c = 3d10; % velocity of light [cm/s]
e = 1.6021892d-19; % elementary charge [C]
h_Planck = 6.626176d-34; % Planck constant [J s]
hbar = h_Planck/(2.0*pi); % Dirac constant [J s]
% Geometrical dimensions
L = 5d-4; % cavity length [cm]; 5 um
w = 9d-5; % active region width [cm]; 900 nm
d = 80d-8; % thickness of an active region [cm]; 80 Angstroms
%V = L*w*d;
V_a = 5.26d-7; % volume of active region[cm^3] --------paper 2016
conf = 0.5; % confinement factor [dimensionless]
conf_NC =0.3; % Nanocavity confinement factor [dimensionless]
V_m = V_a/conf; % cavity volume [cm^3]
V_NC=2.4d-7; %Nanocavity volume[cm^3]
ref_index = 3.5; % effective mode index
ref_indexg=3.5; % Group refractive index
V_g = c/ref_index; % group velocity [cm/s]
tau1 = 5d-10; % Waveguide carrier lifetime and Nanocavity carrier lifetime [s]
g_n = 5d-16; % differential gain (linear model) [cm^2]
N_0=1d18; % carrier density at transparency [cm^-3]
N_ss=0.3d18; % carrier density at steady state [cm^-3]
%current_th = 184d-3; % current at threshold [A]; 184 mA
henry_i=100000; %Internal loss factor[cm^-1] (alphai)
p=1; % cavity parity with P=1(?1)
epsilon0=8.85*10^-14; % free space permittivity[F.cm^-1]
rho=(2*epsilon0*ref_index*c)./gamma_c.*hbar.*w_r; %normalisation factor
r_L=1; % Left mirror re?ectivity
%delta_w=(w_c-w_s);
delta_w=0.52*gamma_T;
The problem is that r_R is a function of y(2) and it is also noteworthy that the other curves obtained are correct. the value r_R remains unchanged while y(2) has changes.I expect the curve plot(t,r_2) to be as follows.(black curve)
But to my surprise, I get the following curve.
What can be the problem?
Thanks in advance for your help.
Best regards.

採用された回答

ME
ME 2019 年 11 月 11 日
編集済み: ME 2019 年 11 月 11 日
I think your issue comes from the
y(:,2)-N_0
part of your r_R expression. This is asking to take a number away from a number and I doubt MATLAB is using enough decimal places to be able to capture such a large subtraction from such a small number.
Unfortunately, right now I don't have a fix for you but I'm pretty certain that is your problem. Perhaps somebody else has a suggestion on how to address that issue?
  1 件のコメント
mohammad heydari
mohammad heydari 2019 年 11 月 11 日
I know this problem but I don't know how to fix it

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by