clear all;
M = 100;
g1 = 0.42;
g2 = 0.69;
Nmax = 5*10^18;
Nmin = 5*10^16;
Nref = 10^17;
Dn0 = 20.72;
ni0= 1.4*(10^10);
WB = 10^(-5);
C = WB^2/((M^2)*(Nref^g1)*Dn0);
pwi = g2 -1;
pwj = 1+g1-g2;
gpvar v(M) y(M) w(M)
constr = [ Nmin*ones(M,1) <= v; v <= Nmax*ones(M,1); ];
for i = 1:M-1
if( mod(i,100) == 0 ), disp(i), end;
constr(end+1) = y(i+1) + v(i)^pwj <= y(i);
constr(end+1) = w(i+1) + y(i)*v(i)^pwi <= w(i);
end
constr(end+1) = y(M) == v(M)^pwj;
constr(end+1) = w(M) == y(M)*v(M)^pwi;
tau_B = C*w(1);
[opt_val sol status] = gpsolve(tau_B, constr);
assign(sol);
nbw = 0:1/M:1-1/M;
semilogy(nbw,v,'LineWidth',2);
axis([0 1 1e16 1e19]);
xlabel('base');
ylabel('doping');
text(0,Nmin,'Nmin ', 'HorizontalAlignment','right');
text(0,Nmax,'Nmax ', 'HorizontalAlignment','right');
Iteration primal obj. gap dual residual previous step.
1 3.94508e+01 9.98000e+02 1.17e+04 Inf
2 5.80827e+01 3.05279e+02 7.37e+00 9.74859e-01
3 6.61589e+01 1.82296e+02 4.99e-01 7.39855e-01
4 3.26923e+01 8.57134e+01 2.32e-04 1.00000e+00
5 1.52941e+01 4.27124e+01 3.47e-06 1.00000e+00
6 7.18683e+00 2.13540e+01 2.24e-06 1.00000e+00
7 2.90726e+00 1.06433e+01 1.33e-06 1.00000e+00
8 8.00136e-01 5.24929e+00 1.14e-06 1.00000e+00
9 1.54772e-01 3.90269e+00 8.24e-07 5.00000e-01
10 -5.70885e-01 3.15398e+00 1.27e-06 5.00000e-01
Iteration primal obj. gap dual residual previous step.
1 1.69008e+02 9.98000e+02 3.56e+00 Inf
2 1.60257e+02 9.23828e+02 2.60e+00 1.45878e-01
3 1.52642e+02 8.82952e+02 2.14e+00 9.47111e-02
4 1.36812e+02 8.00666e+02 1.34e+00 2.07373e-01
5 1.02307e+02 6.66526e+02 4.62e-01 4.14716e-01
6 4.75481e+01 4.80086e+02 2.85e-03 1.00000e+00
7 1.84753e+01 2.40024e+02 9.21e-04 1.00000e+00
8 -5.55470e+00 1.20106e+02 1.25e-03 1.00000e+00
9 -1.65821e+01 6.02149e+01 4.56e-04 1.00000e+00
10 -2.16678e+01 3.02677e+01 2.95e-04 1.00000e+00
11 -2.41022e+01 1.52747e+01 1.07e-04 1.00000e+00
12 -2.54356e+01 7.72753e+00 3.98e-05 1.00000e+00
13 -2.62277e+01 3.90732e+00 9.77e-06 1.00000e+00
14 -2.66904e+01 1.96952e+00 2.17e-06 1.00000e+00
15 -2.69387e+01 9.90301e-01 6.19e-07 1.00000e+00
16 -2.70650e+01 4.97355e-01 1.72e-07 1.00000e+00
17 -2.71289e+01 2.49569e-01 3.65e-08 1.00000e+00
18 -2.71612e+01 1.25129e-01 5.84e-09 1.00000e+00
19 -2.71775e+01 6.26916e-02 7.17e-10 1.00000e+00
20 -2.71856e+01 3.13909e-02 7.23e-11 1.00000e+00
21 -2.71897e+01 1.57113e-02 7.25e-12 1.00000e+00
22 -2.71918e+01 7.86119e-03 9.08e-13 1.00000e+00
23 -2.71928e+01 3.93254e-03 1.44e-13 1.00000e+00
24 -2.71933e+01 1.96694e-03 2.69e-14 1.00000e+00
25 -2.71936e+01 9.83705e-04 6.03e-15 1.00000e+00
26 -2.71937e+01 4.91938e-04 1.58e-15 1.00000e+00
27 -2.71938e+01 2.46003e-04 4.26e-16 1.00000e+00
28 -2.71938e+01 1.23016e-04 1.13e-16 1.00000e+00
29 -2.71938e+01 6.15150e-05 2.90e-17 1.00000e+00
30 -2.71938e+01 3.07608e-05 7.31e-18 1.00000e+00
31 -2.71938e+01 1.53819e-05 1.79e-18 1.00000e+00
32 -2.71938e+01 7.69173e-06 4.25e-19 1.00000e+00
33 -2.71938e+01 3.84622e-06 9.42e-20 1.00000e+00
34 -2.71938e+01 1.92326e-06 1.87e-20 1.00000e+00
35 -2.71938e+01 9.61695e-07 3.06e-21 1.00000e+00
36 -2.71938e+01 4.80870e-07 3.82e-22 1.00000e+00
37 -2.71938e+01 2.40442e-07 3.43e-23 1.00000e+00
38 -2.71938e+01 1.20223e-07 2.54e-24 1.00000e+00
39 -2.71938e+01 6.01118e-08 2.48e-25 1.00000e+00
40 -2.71938e+01 3.00560e-08 6.92e-26 1.00000e+00
41 -2.71938e+01 1.50280e-08 8.43e-26 1.00000e+00
42 -2.71938e+01 7.51402e-09 9.64e-26 1.00000e+00
Solved
Problem succesfully solved.