/**********************************************************************************
2025_08_31 13:55 p.m. updated by Yoshiaki Hagiwara, hagiwara@ofc.sojo-u.ac.jp
2025年8月31日 13:55 p.m. 現在まだ工事中です。
***********************************************************************************
**********************************************************************
<<<<< Depletion Width WD is at maximum value when DN=DP ; >>>>>>
**********************************************************************
通常、N+PP+シングル接合型の太陽電池が一番コスト安価であり、
熱拡散で受光面にN+層を形成するだけで製造されます。
太陽電池は太陽光が強くなると入射光量が増加してN+領域が
基板のP+領域に対して順方向バイアスになり、N+領域が
NEGATIVEな値になります。順方向バイアスでは有効
光電変換領域の空乏層が狭くなります。N+領域の値がその
まま太陽電池の出力電圧 -Vout < 0 となります。
そのため、Vout の値は、0< Vout < EG = 1.1 eV の範囲になります。
通常、最大入射光量に合わせて、Vout < 0.5 eV 程度にします。
簡単な空乏層近似計算で、N+PP+シングル接合型の太陽電池の場合、
最大入射光量に合わせて、出力電圧を Vout < 0.5 eV に MPTT
(Maximum Power Tracking Technology)技術を使い制御します。
P型基板濃度 DP=100 μm^(-3)の場合、最大の空乏層幅 WD は
WD=3.55 μm が限界である事が空乏層近似計算で求まります。
これは { DN=DP= 100 ; Vout = 0.0 ; } の場合の値です。
しかし、SONY Bipolar Transitor P+PNPP+ダブル接合型の
太陽電池では、高エネルギーイオン打ち込み装置を使用して、
完全空乏化された空乏層幅が、左右対称であり2倍になり、
2*WD=7.10 μm となります。あくまで Vout = 0 の場合です。
さらに、受光表面近傍のP+Pの濃度勾配による、Conduction
Band Bending効果により、Minority Carrier に光電子が
受光表面のバリア電界により加速分離され光電変換効率に
寄与します。空乏層領域を [X1,X2]としますと、受光表面
領域[0,X1]も光電変換に寄与すると期待します。
簡単な空乏層近似で求めますと、埋め込みN層形成のための
イオン打ち込みのドーズ量 QN は単純に QN = 710となります。
{ XJ1= XM - WDN = 1.77 ; XJ2 = XM + WDN = 5.32 ; }
{ the doze of QN = (XJ2 - XJ1)*(DP + DN) = 710.}
不純物濃度の分布関数 DOPE=DD[i] は、X=XX[i] の時、次のようになります。
{ DD[i] = - DP + (QN/RN/RPI)*exp( - (XX[i]-XN)*(XX[i]-XN)/RN/RN) ; }
{ XX[m]=XN;} の時の、埋め込みN層の深さを { VV[m] = VM : } とします。
この時、{ DD[m] = (QN/RN/RPI) - DP ; } となります。
{ VV[m+1]=VV[m-1] = V{m] - dx*dx*DD[m]/2/Esi: }となります。
for (i=1;i<(NX-m+1);i++) {
{ VV[m+i]=2*VV[m+i-1]-VV[m+i-2]-dx*dx*DD[m+i-1]/Esi:
if( VV[m+i] > VV[m+i-1] ) VV[m+i]=VV[m+i-1]; }
for (i=1;i VV[m-i+1] ) VV[m+i]=VV[m+i-1];}
**********************************************************************
**********************************************************************
{ DP = Nv exp( - VBP/kT ) - Nc exp( (VBP-EG)/kT );}
{ DN = Nc exp( - VBN/kT ) - Nv exp( (VBN-EG)/kT );}
{ EG = Vout + VBP + VBN + VB ; }
{ DPN = (DP*DN)/( DP + DN ); }
{ WD = sqrt( 2*Esi*VB/DPN ) ; }
*************************************************************
(1) if { DP=0; }, { VBPP=(EG+kT*ln(NV/NC))/2=0.567826 ;}
(2) if { DN=0; }, { VBNN=(EG+kT*ln(NC/NV))/2=0.542174 ;}
*************************************************************
************************************
Case(1) DP=100 ; DN=100 ; DPP=100 ;
************************************
VBP = kT*ln(NV/DP) = 0.324852 ; VBPP = kT*log(NV/DPP)=0.324852;
Vout=0.500000 ;
DPN=DP*DN/(DP+DN); WD=sqrt(2*Esi*VB/DPN)=2.718646;
WDN=DP*WD/(DP+DN)=1.359323; WDP=DN*WD/(DP+DN)=1.359323;
DPPN=DPP*DN/(DPP+DN); WDD=sqrt(2*Esi*VB/DPPN)=2.718646;
WDDN=DPP*WDD/(DPP+DN)=1.359323 ; WDDP=DN*WDD/(DPP+DN)=1.359323;
X1=sqrt(Esi*kT/DPP)=0.409673;
XJ1=X1+WDDP=1.768996;
XM=XJ1+WDDN=3.128319;
XJ2=XM+WDN=4.487643;
X2=XJ2+WDP=5.846966 ;
Ion Dose > QN=XJ2*(DN+DP)=897.528538; QP=XJ1*(DPP+DN)=353.799251;
************************************
Case(2) DP=500 ; DN=500 ; DPP=500 ;
************************************
VBP = kT*ln(NV/DP) = 0.283167 ; VBPP = kT*log(NV/DPP)= 0.283167;
Vout=0.500000 ;
DPN=DP*DN/(DP+DN); WD=sqrt(2*Esi*VB/DPN)=1.301653;
WDN=DP*WD/(DP+DN)=0.650826; WDP=DN*WD/(DP+DN)=0.650826;
DPPN=DPP*DN/(DPP+DN); WDD=sqrt(2*Esi*VB/DPPN)=1.301653;
WDDN=DPP*WDD/(DPP+DN)=0.650826 ; WDDP=DN*WDD/(DPP+DN)=0.650826;
X1=sqrt(Esi*kT/DPP)=0.183211;
XJ1=X1+WDDP=0.834038;
XM=XJ1+WDDN=1.484864;
XJ2=XM+WDN=2.135690;
X2=XJ2+WDP=2.786517 ;
Ion Dose > QN=XJ2*(DN+DP)=2135.690450; QP=XJ1*(DPP+DN)=834.037719;
**********************************************************************/
#include
#include
double EG=1.11,kT=0.0259,Esi=648,NC=10400000,NV=28000000;
double VBNN=0.542174,VBPP=0.567826;
double Vout,DN,DP,DPN,DNP,VBP,VBN,VB,VBB,WD,WDN,WDP,WDD,WDDP,WDDN;
double VBN1,VBN2,VBN3,DN1,DN2,DN3;
double VBP1,VBP2,VBP3,DP1,DP2,DP3;
double DP,QN,RN,XN,DNS,QPP,RPP,XPP,DPPS;
double DPP,X1,XJ1,XMM,XM,VM,QP,QN1,QN2,DQN,XJ2,X2,DPPN,DPN;
double DD[10001],DA[10001],DOPE_A,DOPE,XW=10,QN,QNN,QNMX,QPMX,RN,RP,RPP,XN,XP,RPI,PI;
double VV[10001],XX[10001],WW[10001],VA[10001],VVA;
double Vout,Vout1,Vout2,XB,A;
double XJ1A,XJ2A,DPA,DNA,X1A,X2A,XMA,XA,XJ;
double V1A,V2A,VMA,VJ1A,VJ2A;
double dx,X,XJ1,XJ2,V1,V2,VM1,VM2,XM1,XM2,DXS,DXW,VSS,Error,Error_1,Error_2;
double AA,BB,BBB,RN1,RN2,VVV;
double X1,X2,XM,D1,D2,DM,DNS,DPS,DPPS,DDDD,RN,RP,RPP,XN,XP,XPP;
double LG10,PI,RPI,QN,QP,DNS,DPS,WN,WP,WNN,WPP,XA,X1,XJ1,XN,XJ2,X2,XW,XB,X,D,DS,LGDS;
double A,X,Y,dy,V,W,W1,W2,W3;
int NP,SKIP,i,j,iP,PX1,PX2,PY1,PY2,PPX1,PPX2,PPY1,PPY2,PX,PY,PPXA,PPXB,PPXC,PPYA;
int i,j,k,kk,m,m1,m2,dm,K1,K2,KM,NOTE,MEMO,i_XJ1,i_XJ2,NX,NX1,NX2;
char c;
FILE *fpAa;
FILE *fpAb;
FILE *fpAd;
FILE *fpBa;
FILE *fpBb;
FILE *fpBc;
FILE *fpAX;
FILE *fpBX;
FILE *fpG;
FILE *fpGG;
FILE *fpW;
FILE *fpWW;
/**********************************************************/
/***********************************************/
void Obtain_VBN( void ) {
k=0;
VBN1=0;
VBN2=VBNN;
NEXT_VBN:
VBN3=(VBN1+VBN2)/2;
DN1 = NC*exp( - VBN1/kT ) - NV*exp( (VBN1-EG)/kT );
DN2 = NC*exp( - VBN2/kT ) - NV*exp( (VBN2-EG)/kT );
DN3 = NC*exp( - VBN3/kT ) - NV*exp( (VBN3-EG)/kT );
if( DN3 < DN ) VBN2=VBN3;
if( DN3 > DN ) VBN1=VBN3;
k=k+1;
if(k<100) goto NEXT_VBN;
VBN=VBN3; }
/****************************************************/
/****************************************************/
void Obtain_VBP( void ) {
k=0;
VBP1=0;
VBP2=VBPP;
NEXT_VBP:
VBP3=(VBP1+VBP2)/2;
DP1 = NV*exp( - VBP1/kT ) - NV*exp( (VBP1-EG)/kT );
DP2 = NV*exp( - VBP2/kT ) - NV*exp( (VBP2-EG)/kT );
DP3 = NV*exp( - VBP3/kT ) - NV*exp( (VBP3-EG)/kT );
if( DP3 < DP ) VBP2=VBP3;
if( DP3 > DP ) VBP1=VBP3;
k=k+1;
if(k<100) goto NEXT_VBP;
VBP=VBP3; }
/****************************************************/
/******************************************************/
void Obtain_DOPE( void ) {
DOPE= - DP + DNS*exp( - (X-XN)*(X-XN)/RN/RN)
- DPPS*exp( -(X-XPP)*(X-XPP)/RPP/RPP) ; }
/******************************************************/
/******************************************************/
void Obtain_VA( void ) {
if(XXJ2A) {DOPE_A=-DPA; return; }
DOPE_A=DNA; }
/******************************************************/
/******************************************************/
void Obtain_DD(void) {
fpBc=fopen( "Bc.txt","w");
PI=3.14159;
RPI=sqrt(PI);
NX=10000;
dx=XW/NX;
/**************************************************************
{ DD[i] for i=0 to NX ;} is the Impurity Doping Profile
defined as a sum of Gaussian functions.
formed by Ion Implantation method.
The position XM=XX{m] and the depth VM=VV[m]
of the empty potential potential well
are pinned and determined uniquely.
{ XJ1< XM < XJ2 ; 0 < VM < EG ; }
The potentail prifile { VV[i] : i=0 to NX; }
can be obtained by this numerical computation
for the boundary conditions of
the fixed and pinned values of
{ XX[0]=0;VV[0]=V1;XX[NX]=XW;VV[NX]=V2;}
*************************************************************/
DP=100;
QN=544 ; RN= 0.5 ; XN = 2.0 ; DNS=QN/RN/RPI;
QPP=400; RPP=0.1 ; XPP = 0 ; DPPS=QPP/RPP/RPI;
/***********************************************************/
NOTE=0;
for (i=0;i<10001;i++) {
X = i*dx; XX[i]=X;
Obtain_DOPE( ); DD[i]=DOPE;
if(NOTE==0) if( DD[i]>0 ) { XJ1=XX[i];i_XJ1=i;NOTE=1;}
if(NOTE==1) if( DD[i]<0 ) { XJ2=XX[i];i_XJ2=i;NOTE=2;}
fprintf(fpBc,"\n XX[%d]=%f DD[%d]=%f ", i,XX[i],i,DD[i]);}
XMM=(XJ1+XJ2)/2;
printf( "\n\n XJ1[%d]=%f XJ2[%d]=%f XMM=%f \n\n",i_XJ1,XJ1,i_XJ2,XJ2,XMM);
fprintf(fpBc,"\n\n XJ1[%d]=%f XJ2[%d]=%f XMM=%f \n\n",i_XJ1,XJ1,i_XJ2,XJ2,XMM);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
VBP=kT*log(NV/DP);
VSS=kT*log(-NV/DD[0]);
printf( "\n\n VSS=kT*log(-NV/DD[0])=%f VBP=kT*log(NV/DP)=%f \n\n",VSS,VBP);
fprintf(fpBc,"\n\n VSS=kT*log(-NV/DD[0])=%f VBP=kT*log(NV/DP)=%f \n\n",VSS,VBP);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");}
/*******************************************************************************/
/**************************************
INPUT { NV,DP,DPP,DN,Vout,X1:}
***************************************/
void Obtain_WD(void) {
Error=1;
VBP=kT*log(NV/DP);
VBPP=kT*log(NV/DPP);
VB=EG-Vout-VBP;
if(VB<0) {Error = -2; return;}
VBB=EG-Vout-VBPP;
if(VBB<0) {Error = -1; return;}
WD=sqrt(2*Esi*(DN+DP)*VB/DN/DP);
WDD=sqrt(2*Esi*(DN+DPP)*VBB/DN/DPP);
WDN=DP*WD/(DP+DN);
WDP=DN*WD/(DP+DN);
WDDN=DPP*WD/(DP+DN);
WDDP=DN*WD/(DPP+DN);
XJ2=X1+WDD+WDN;
QN=XJ2*(DN+DP);
QPP=XJ1*(DN+DPP);}
/***************************************/
/******************************************/
void Obtain_DDDD(void){
DDDD= DNS*exp(-(X-XN)*(X-XN)/RN/RN)-DP
-DPS*exp(-(X+XP)*(X+XP)/RP/RP)
-DPPS*exp(-(X-XPP)*(X-XPP)/RPP/RPP);}
/******************************************/
/**********************************************************/
void Obtain_XM1(void){
i=0;
NEXT_XM:
i=i+1;
XM=(X1+X2)/2;
X=X1;Obtain_DDDD( ); D1=DDDD;
X=XM;Obtain_DDDD( ); DM=DDDD;
X=X2;Obtain_DDDD( ); D2=DDDD;
/*************************
printf("\n X1=%f D1=%f XM=%f DM=%f X2=%f D2=%f",X1,D1,XM,DM,X2,D2);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
**************************/
if(DM<0) { X1=XM; if(i<30) goto NEXT_XM;}
X2=XM; if(i<30) goto NEXT_XM;
/**************************
printf("\n\n i=%d X1=%f XM=%f X1=%f ", i,X1,XM,X2);
***************************/
return;}
/******************************************************************/
/**********************************************************/
void Obtain_XM2(void){
i=0;
NEXT_XM:
i=i+1;
XM=(X1+X2)/2;
X=X1;Obtain_DDDD( ); D1=DDDD;
X=XM;Obtain_DDDD( ); DM=DDDD;
X=X2;Obtain_DDDD( ); D2=DDDD;
/*************************
printf("\n X1=%f D1=%f XM=%f DM=%f X2=%f D2=%f",X1,D1,XM,DM,X2,D2);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
**************************/
if(DM>0) { X1=XM; if(i<30) goto NEXT_XM;}
X2=XM; if(i<30) goto NEXT_XM;
/**************************
printf("\n\n i=%d X1=%f XM=%f X1=%f ", i,X1,XM,X2);
***************************/
return;}
/******************************************************************/
/**********************************************************/
void Obtain_XJ1(void){
i=0;
X1=0;X2=XN;
Obtain_XM1( );
XJ1=XM;
printf("\n\n i=%d XJ1=XM=%f X1=%f X2=%f ", i,XM,X1,X2); }
/**********************************************************/
/**********************************************************/
void Obtain_XJ2(void){
i=0;
X1=XN;X2=XPP;
Obtain_XM2( );
XJ2=XM;
printf("\n\n i=%d XJ2=XM=%f X1=%f X2=%f ", i,XM,X1,X2); }
/**********************************************************/
/**********************************************************/
void Obtain_XJ1_and_XJ2(void){
PI=3.14159;
RPI=sqrt(PI);
DNS=10*DP;
RN=QN/DNS/RPI;
DPS=2*DP;
RP=0.3;
QP=DPS*RP*RPI;
DPPS=NV;
RPP=0.5;
QPP=DPPS*RPP*RPI;
Obtain_XJ1( );
Obtain_XJ2( );}
/*****************************************************************************************/
/********************************************/
void Obtain_BBB_from_AA(void){
double Y,W,W1,W2,dy;
dy=0.1;i=1;
NEXT_dy:
W2=0;W1=-dy*dy*(1-AA)/2;
Y=dy;
NEXT_W:
W=2*W1-W2+dy*dy*(1-AA*exp(-Y*Y));
if(W>W1) goto JUMP;
Y=Y+dy;
W2=W1;W1=W;goto NEXT_W;
JUMP:
BBB=W1;
printf("\n\n AA=%f i=%d dy=%f BBB=%f",AA,i,dy, BBB);
dy=dy/10;i=i+1;
if(i<6) goto NEXT_dy;}
/********************************************/
/***************************************/
void Obtain_BB_from_AA(void){
double Y,W,W1,W2,dy;
fpBX=fopen( "BX.txt","w");
/****************************************************
For DP=DN=100,Vout=0 and X1 = 0,
*****************************************************/
DP=100; Obtain_VBP( );
DN=100; Obtain_VBN( );
VB=EG-Vout-VBP-VBN;
WD=sqrt(2*Esi*VB*(DP+DN)/DP/DN);
WDN=DP*WD/(DP+DN);
WDP=DN*WD/(DP+DN);
X1=0;
XJ1=X1+WDP;
XM=XJ1+WDN;
XJ2=XM+WDN;
X2=XJ2+WDP;
XN=(XJ1+XJ2)/2;
QN=(DP+DN)*(XJ2-XJ1);
printf( "\n\n DN=%f VBN=%f DP=%f VBP=%f VB=EG-Vout-VBP-VBN=%f WDN=%f WDP=%f WD=WDP+WDN=%f ",DN,VBN,DP,VBP,VB,WDN,WDP,WD);
fprintf(fpBX,"\n\n DN=%f VBN=%f DP=%f VBP=%f VB=EG-Vout-VBP-VBN=%f WDN=%f WDP=%f WD=WDP+WDN=%f ",DN,VBN,DP,VBP,VB,WDN,WDP,WD);
printf( "\n\n XJ1=%f XJ2=%f QN=(DP+DN)*(XJ2-XJ1)=%f",XJ1,XJ2,QN);
fprintf(fpBX,"\n\n XJ1=%f XJ2=%f QN=(DP+DN)*(XJ2-XJ1)=%f",XJ1,XJ2,QN);
/***************************************************************************************************************************
DN=100.000000 VBN=0.299201 DP=100.000000 VBP=0.324852 VB=EG-Vout-VBP-VBN=0.485947 WDN=1.774524 WDP=1.774524 WD=WDP+WDN=3.549049
XJ1=1.774524 XJ2=5.323573 QN=(DP+DN)*(XJ2-XJ1)=709.809728
RPI=1.772453 RN=0.300000 XN=(XJ1+XJ2)/2=0.000000 AA = QN/DP/RN/RPI =13.348914 VVV=RN*RN*DP/Esi=0.013889
RN=0.300000 AA = QN/DP/RN/RPI=13.348914 BBB=-63.299963 BBB*VVV=-0.879166
****************************************************************************************************************************
Now in the case of the Gaussian Doping Profile DD(X) defined as
{ for (i=0;iW1) goto JUMP;
Y=Y+dy;
W2=W1;W1=W;goto NEXT_W;
JUMP:
printf( "\n i=%d dy=%f W=%f",i,dy,W);
fprintf(fpBX,"\n i=%d dy=%f W=%f",i,dy,W);
dy=dy/10;i=i+1;
if(i<6) goto NEXT_dy;
AA=2*AA;
if(AA<100) goto NEXT_AA;
fclose(fpBX); }
/*****************************************************************************/
/**********************************************************
Depletion Width WD of N+NPP+ Single Junction Solar Cell.
***********************************************************/
void DepApp(void){
fpAd=fopen( "Ad.txt","w");
XA=0.1;
XJ=5;
XB=9.9;
XW=10;
DP=100; Obtain_VBP( );
printf("\n\n *********************** XA=%f XJ=%f XB=%f XW=%f DP = %f VBP=%f ***********\n\n", XA,XJ,XB,XW,DP,VBP);
fprintf(fpAd,"\n\n *********************** XA=%f XJ=%f XB=%f XW=%f DP = %f VBP=%f ***********\n\n", XA,XJ,XB,XW,DP,VBP);
Vout=0;
NEXT_Vout:
printf("\n\n");
fprintf(fpAd,"\n\n");
DN=DP;
NEXT_DN:
Obtain_VBN( );
DNP=DN*DP/(DN+DP);
VB=EG-Vout-VBP-VBN;
if(VB<0) goto JUMP;
WD=sqrt(2*Esi*VB/DNP);
WDN=DP*WD/(DN+DP);
WDP=DN*WD/(DN+DP);
printf( "\n\ Vout= %f DN= %f WD=%f WDN=%f WDP=%f BVN=%f VB=EG-Vout-VBP-VBN=%f ", Vout,DN,WD,WDN,WDP,VBN,VB);
fprintf(fpAd,"\n Vout= %f DN= %f WD=%f WDN=%f WDP=%f BVN=%f VB=EG-Vout-VBP-VBN=%f ", Vout,DN,WD,WDN,WDP,VBN,VB);
JUMP:
DN=DN+100;
if(DN <1300) goto NEXT_DN;
Vout=Vout+0.1;
if(Vout<0.6) goto NEXT_Vout;
printf("\n\n DepApp( ) called : see Ad.txt; \n\n");
fclose(fpAd);
return;}
/**********************************************************/
/*************************************************************************
For a case study of N+NPP+ Single Junction type Solar Cell
with the target value of Vout=0.4 volt and DP=DN=100 um^(-3),
we have VBP=0.324852 volt and VBN=0.299201 volt. Then, we obtain
the PN junction barrier potential of VB=EG-Vout-VBP-VBN=0.485948 volt
and the NP jucntion depletion width of WD=sqrt(Esi*VB/DNP)=1.492568 um.
with DNP=DN*DP/(DN+DP)= 50 um^(-3).
*************************************************************************
For a case study of P+PNPP+ Double Junction type Solar Cell
with the target value of Vout=0.4 volt,for DP=DN=100 um^(-3),
with DNP=DN*DP/(DN+DP), the PNP double junction is expected to have
the total depletion region of 2*WD==2*1.492568=2.9685136 um.
the N Buried Region is formed with a high energy ion implantation technology
with QD = (2*WD+X1)*(DP+DN) =(2.9685136+1)*200=793.70272 and X1= 1 um
for the surface pinned and grounded P+P hole accumulation region [0,X1]
and the center of the buried N region would be at X=XN=X1+WD=2.492568 um.
*************************************************************************
*********************************************************
For N+NPP+ single junction solar cell with DP=100,
we have EG = Vout + VB + VBP + VBN;
VB = EG - Vout - VBP - VBN;
and WD = sqrt(2*Esi*VB/DNP) and DNP = DN*DP/(DN+DP),.
*********************************************************
*********************************
Vout=0.0 Vout=0.4
*********************************
DN= 100 WD=3.549050 WD=1.492568
DN= 200 WD=3.129827 WD=1.421202
DN= 400 WD=2.907578 WD=1.404995
DN= 800 WD=2.805416 WD=1.427711
DN= 1600 WD=2.771339 WD=1.473880
DN= 3200 WD=2.773872 WD=1.532438
DN= 6400 WD=2.795368 WD=1.596585
DN=12800 WD=2.826386 WD=1.662515
*********************************
*********************** XA=0.100000 XJ=5.000000 XB=9.900000 XW=10.000000 DP = 100.000000 VBP=0.324852 ***********************
Vout=0.000000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.485948 WD=sqrt(2*Esi*VB/DNP)=3.549050 WDN=1.774525 WDP=1.774525
Vout=0.400000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.085948 WD=sqrt(2*Esi*VB/DNP)=1.492568 WDN=0.746284 WDP=0.746284
*******************************************************************************************************************************
/*************** Output FILE (Ad.txt) ****************************
*********************** XA=0.100000 XJ=5.000000 XB=9.900000 XW=10.000000 DP = 100.000000 VBP=0.324852 ***********
Vout=0.000000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.485948 WD=sqrt(2*Esi*VB/DNP)=3.549050 WDN=1.774525 WDP=1.774525
Vout=0.000000 DN=200.000000 BVN=0.281248 VB=EG-Vout-VBP-VBN=0.503900 WD=sqrt(2*Esi*VB/DNP)=3.129827 WDN=1.043276 WDP=2.086551
Vout=0.000000 DN=400.000000 BVN=0.263296 VB=EG-Vout-VBP-VBN=0.521853 WD=sqrt(2*Esi*VB/DNP)=2.907578 WDN=0.581516 WDP=2.326063
Vout=0.000000 DN=800.000000 BVN=0.245343 VB=EG-Vout-VBP-VBN=0.539805 WD=sqrt(2*Esi*VB/DNP)=2.805416 WDN=0.311713 WDP=2.493703
Vout=0.000000 DN=1600.000000 BVN=0.227391 VB=EG-Vout-VBP-VBN=0.557758 WD=sqrt(2*Esi*VB/DNP)=2.771339 WDN=0.163020 WDP=2.608319
Vout=0.000000 DN=3200.000000 BVN=0.209438 VB=EG-Vout-VBP-VBN=0.575710 WD=sqrt(2*Esi*VB/DNP)=2.773872 WDN=0.084057 WDP=2.689815
Vout=0.000000 DN=6400.000000 BVN=0.191486 VB=EG-Vout-VBP-VBN=0.593663 WD=sqrt(2*Esi*VB/DNP)=2.795368 WDN=0.043006 WDP=2.752363
Vout=0.000000 DN=12800.000000 BVN=0.173533 VB=EG-Vout-VBP-VBN=0.611615 WD=sqrt(2*Esi*VB/DNP)=2.826386 WDN=0.021910 WDP=2.804476
Vout=0.100000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.385948 WD=sqrt(2*Esi*VB/DNP)=3.162872 WDN=1.581436 WDP=1.581436
Vout=0.100000 DN=200.000000 BVN=0.281248 VB=EG-Vout-VBP-VBN=0.403900 WD=sqrt(2*Esi*VB/DNP)=2.802109 WDN=0.934036 WDP=1.868073
Vout=0.100000 DN=400.000000 BVN=0.263296 VB=EG-Vout-VBP-VBN=0.421853 WD=sqrt(2*Esi*VB/DNP)=2.614194 WDN=0.522839 WDP=2.091355
Vout=0.100000 DN=800.000000 BVN=0.245343 VB=EG-Vout-VBP-VBN=0.439805 WD=sqrt(2*Esi*VB/DNP)=2.532263 WDN=0.281363 WDP=2.250901
Vout=0.100000 DN=1600.000000 BVN=0.227391 VB=EG-Vout-VBP-VBN=0.457758 WD=sqrt(2*Esi*VB/DNP)=2.510642 WDN=0.147685 WDP=2.362957
Vout=0.100000 DN=3200.000000 BVN=0.209438 VB=EG-Vout-VBP-VBN=0.475710 WD=sqrt(2*Esi*VB/DNP)=2.521481 WDN=0.076409 WDP=2.445072
Vout=0.100000 DN=6400.000000 BVN=0.191486 VB=EG-Vout-VBP-VBN=0.493663 WD=sqrt(2*Esi*VB/DNP)=2.549085 WDN=0.039217 WDP=2.509868
Vout=0.100000 DN=12800.000000 BVN=0.173533 VB=EG-Vout-VBP-VBN=0.511615 WD=sqrt(2*Esi*VB/DNP)=2.585021 WDN=0.020039 WDP=2.564982
Vout=0.200000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.285948 WD=sqrt(2*Esi*VB/DNP)=2.722455 WDN=1.361227 WDP=1.361227
Vout=0.200000 DN=200.000000 BVN=0.281248 VB=EG-Vout-VBP-VBN=0.303900 WD=sqrt(2*Esi*VB/DNP)=2.430600 WDN=0.810200 WDP=1.620400
Vout=0.200000 DN=400.000000 BVN=0.263296 VB=EG-Vout-VBP-VBN=0.321853 WD=sqrt(2*Esi*VB/DNP)=2.283421 WDN=0.456684 WDP=1.826737
Vout=0.200000 DN=800.000000 BVN=0.245343 VB=EG-Vout-VBP-VBN=0.339805 WD=sqrt(2*Esi*VB/DNP)=2.225839 WDN=0.247315 WDP=1.978523
Vout=0.200000 DN=1600.000000 BVN=0.227391 VB=EG-Vout-VBP-VBN=0.357758 WD=sqrt(2*Esi*VB/DNP)=2.219532 WDN=0.130561 WDP=2.088971
Vout=0.200000 DN=3200.000000 BVN=0.209438 VB=EG-Vout-VBP-VBN=0.375710 WD=sqrt(2*Esi*VB/DNP)=2.240840 WDN=0.067904 WDP=2.172936
Vout=0.200000 DN=6400.000000 BVN=0.191486 VB=EG-Vout-VBP-VBN=0.393663 WD=sqrt(2*Esi*VB/DNP)=2.276309 WDN=0.035020 WDP=2.241289
Vout=0.200000 DN=12800.000000 BVN=0.173533 VB=EG-Vout-VBP-VBN=0.411615 WD=sqrt(2*Esi*VB/DNP)=2.318665 WDN=0.017974 WDP=2.300691
Vout=0.300000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.185948 WD=sqrt(2*Esi*VB/DNP)=2.195395 WDN=1.097698 WDP=1.097698
Vout=0.300000 DN=200.000000 BVN=0.281248 VB=EG-Vout-VBP-VBN=0.203900 WD=sqrt(2*Esi*VB/DNP)=1.990934 WDN=0.663645 WDP=1.327289
Vout=0.300000 DN=400.000000 BVN=0.263296 VB=EG-Vout-VBP-VBN=0.221853 WD=sqrt(2*Esi*VB/DNP)=1.895788 WDN=0.379158 WDP=1.516630
Vout=0.300000 DN=800.000000 BVN=0.245343 VB=EG-Vout-VBP-VBN=0.239805 WD=sqrt(2*Esi*VB/DNP)=1.869855 WDN=0.207762 WDP=1.662093
Vout=0.300000 DN=1600.000000 BVN=0.227391 VB=EG-Vout-VBP-VBN=0.257758 WD=sqrt(2*Esi*VB/DNP)=1.883964 WDN=0.110821 WDP=1.773143
Vout=0.300000 DN=3200.000000 BVN=0.209438 VB=EG-Vout-VBP-VBN=0.275710 WD=sqrt(2*Esi*VB/DNP)=1.919600 WDN=0.058170 WDP=1.861431
Vout=0.300000 DN=6400.000000 BVN=0.191486 VB=EG-Vout-VBP-VBN=0.293663 WD=sqrt(2*Esi*VB/DNP)=1.966045 WDN=0.030247 WDP=1.935798
Vout=0.300000 DN=12800.000000 BVN=0.173533 VB=EG-Vout-VBP-VBN=0.311615 WD=sqrt(2*Esi*VB/DNP)=2.017445 WDN=0.015639 WDP=2.001805
Vout=0.400000 DN=100.000000 BVN=0.299201 VB=EG-Vout-VBP-VBN=0.085948 WD=sqrt(2*Esi*VB/DNP)=1.492568 WDN=0.746284 WDP=0.746284
Vout=0.400000 DN=200.000000 BVN=0.281248 VB=EG-Vout-VBP-VBN=0.103900 WD=sqrt(2*Esi*VB/DNP)=1.421202 WDN=0.473734 WDP=0.947468
Vout=0.400000 DN=400.000000 BVN=0.263296 VB=EG-Vout-VBP-VBN=0.121853 WD=sqrt(2*Esi*VB/DNP)=1.404995 WDN=0.280999 WDP=1.123996
Vout=0.400000 DN=800.000000 BVN=0.245343 VB=EG-Vout-VBP-VBN=0.139805 WD=sqrt(2*Esi*VB/DNP)=1.427711 WDN=0.158635 WDP=1.269076
Vout=0.400000 DN=1600.000000 BVN=0.227391 VB=EG-Vout-VBP-VBN=0.157758 WD=sqrt(2*Esi*VB/DNP)=1.473880 WDN=0.086699 WDP=1.387181
Vout=0.400000 DN=3200.000000 BVN=0.209438 VB=EG-Vout-VBP-VBN=0.175710 WD=sqrt(2*Esi*VB/DNP)=1.532438 WDN=0.046438 WDP=1.486000
Vout=0.400000 DN=6400.000000 BVN=0.191486 VB=EG-Vout-VBP-VBN=0.193663 WD=sqrt(2*Esi*VB/DNP)=1.596585 WDN=0.024563 WDP=1.572022
Vout=0.400000 DN=12800.000000 BVN=0.173533 VB=EG-Vout-VBP-VBN=0.211615 WD=sqrt(2*Esi*VB/DNP)=1.662515 WDN=0.012888 WDP=1.649628
Vout=0.500000 DN=200.000000 BVN=0.281248 VB=EG-Vout-VBP-VBN=0.003900 WD=sqrt(2*Esi*VB/DNP)=0.275348 WDN=0.091783 WDP=0.183565
Vout=0.500000 DN=400.000000 BVN=0.263296 VB=EG-Vout-VBP-VBN=0.021853 WD=sqrt(2*Esi*VB/DNP)=0.594988 WDN=0.118998 WDP=0.475991
Vout=0.500000 DN=800.000000 BVN=0.245343 VB=EG-Vout-VBP-VBN=0.039805 WD=sqrt(2*Esi*VB/DNP)=0.761812 WDN=0.084646 WDP=0.677166
Vout=0.500000 DN=1600.000000 BVN=0.227391 VB=EG-Vout-VBP-VBN=0.057758 WD=sqrt(2*Esi*VB/DNP)=0.891808 WDN=0.052459 WDP=0.839349
Vout=0.500000 DN=3200.000000 BVN=0.209438 VB=EG-Vout-VBP-VBN=0.075710 WD=sqrt(2*Esi*VB/DNP)=1.005915 WDN=0.030482 WDP=0.975433
Vout=0.500000 DN=6400.000000 BVN=0.191486 VB=EG-Vout-VBP-VBN=0.093663 WD=sqrt(2*Esi*VB/DNP)=1.110330 WDN=0.017082 WDP=1.093248
Vout=0.500000 DN=12800.000000 BVN=0.173533 VB=EG-Vout-VBP-VBN=0.111615 WD=sqrt(2*Esi*VB/DNP)=1.207407 WDN=0.009360 WDP=1.198048
******************************************************************/
/****************************************************/
void Graph_Plot(void){
int Graph;
fpGG=fopen( "GG.txt","w");
Graph=1;
NEXT_Graph:
/************************************************/
NP=10;
WD=1.5;
WP=WD/2;
WN=WD/2;
WNN=WN;
WPP=WP;
XA=0.5;
X1=XA+0.5;
XJ1=X1+WPP;
XN=XJ1+WNN;
XJ2=XN+WN;
X2=XJ2+WP;
XW=5;
XB=XW-0.1;
LG10=log(10.);
PI=3.14159;
RPI=sqrt(PI);
QN=300;
RN=0.5;
DNS=QN/RN/RPI;
DPS=DNS;
RP=0.5;
QP=DPS*RP*RPI;
DP=100;
DS=DNS*exp(-XN*XN/RN/RN)-DP-DPS;
if(Graph==1) LGDS=1+log(-DS/DP)/LG10;
if(Graph==2) LGDS=-DS;
printf("\n\n LG10=%f RPI=%f DP=%f ",LG10,RPI,DP);
printf("\n\n XA=%f X1=%f XJ1=%f XN=%f XJ2=%f X2=%f XB=%f XW=%f",XA,X1,XJ1,XN,XJ2,X2,XB,XW);
printf("\n\n QN=%f RN=%f DNS=%f " ,QN,RN,DNS);
printf("\n\n QP=%f RP=%f DPS=%f DS=%f " ,QP,RP,DPS,DS);
printf("\n\n Graph=%d LGDS=%f ",Graph,LGDS);
fprintf(fpGG,"\n\n LG10=%f RPI=%f DP=%f ",LG10,RPI,DP);
fprintf(fpGG,"\n\n XA=%f X1=%f XJ1=%f XN=%f XJ2=%f X2=%f XB=%f XW=%f",XA,X1,XJ1,XN,XJ2,X2,XB,XW);
fprintf(fpGG,"\n\n QN=%f RN=%f DNS=%f " ,QN,RN,DNS);
fprintf(fpGG,"\n\n QP=%f RP=%f DPS=%f DS=%f " ,QP,RP,DPS,DS);
fprintf(fpGG,"\n\n Graph=%d LGDS=%f ",Graph,LGDS);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
/***************************************************************/
if(Graph==1) { fpG=fopen( "G001.html","w");
printf( "\n\n<%cDOCTYPE HTML PUBLIC %c-//W3C//DTD HTML 4.01 Transitional//EN",'!','"');
fprintf(fpG, "<%cDOCTYPE HTML PUBLIC %c-//W3C//DTD HTML 4.01 Transitional//EN",'!','"');
printf( "\n\n<<<<< G001.html: August 28, 2025 : { DP=%f; QN=%f; DNS=%f ; RN=%f; X1=%f ; X2=%f ; } >>>>>
",DP,QN,DNS,RN,X1,X2);
fprintf(fpGG,"\n\n<<<<< G001.html: August 28, 2025 : { DP=%f; QN=%f; DNS=%f ; RN=%f; X1=%f ; X2=%f ; } >>>>>
",DP,QN,DNS,RN,X1,X2);
fprintf(fpG, "<<<<< G001.html: August 28, 2025 : { DP=%f; QN=%f; DNS=%f ; RN=%f; X1=%f ; X2=%f ; } >>>>>
",DP,QN,DNS,RN,X1,X2);
printf( "\n\n<<<<< XJ1=1.950000 ; XJ2=3.055000; XN=%f;QP=%f; DPS=%f; RP=%f; DS=%f >>>>>
\n\n",XN,QP,DPS,RP,DS);
fprintf(fpGG,"\n\n<<<<< XJ1=1.950000 ; XJ2=3.055000; XN=%f;QP=%f; DPS=%f; RP=%f; DS=%f >>>>>
\n\n",XN,QP,DPS,RP,DS);
fprintf(fpG, "<<<<< XJ1=1.950000 ; XJ2=3.055000; XN=%f;QP=%f; DPS=%f; RP=%f; DS=%f >>>>>
\n\n",XN,QP,DPS,RP,DS);}
if(Graph==2) { fpG=fopen( "G002.html","w");
printf( "\n\n<%cDOCTYPE HTML PUBLIC %c-//W3C//DTD HTML 4.01 Transitional//EN",'!','"');
fprintf(fpG, "<%cDOCTYPE HTML PUBLIC %c-//W3C//DTD HTML 4.01 Transitional//EN",'!','"');
printf( "\n\n<<<<< G002.html: August 28, 2025 : { DP=%f; QN=%f; DNS=%f ; RN=%f; X1=%f ; X2=%f ; } >>>>>
",DP,QN,DNS,RN,X1,X2);
fprintf(fpGG,"\n\n<<<<< G002.html: August 28, 2025 : { DP=%f; QN=%f; DNS=%f ; RN=%f; X1=%f ; X2=%f ; } >>>>>
",DP,QN,DNS,RN,X1,X2);
fprintf(fpG, "<<<<< G002.html: August 28, 2025 : { DP=%f; QN=%f; DNS=%f ; RN=%f; X1=%f ; X2=%f ; } >>>>>
",DP,QN,DNS,RN,X1,X2);
printf( "\n\n<<<<< XJ1=1.950000 ; XJ2=3.055000; XN=%f;QP=%f; DPS=%f; RP=%f; DS=%f >>>>>
\n\n",XN,QP,DPS,RP,DS);
fprintf(fpGG,"\n\n<<<<< XJ1=1.950000 ; XJ2=3.055000; XN=%f;QP=%f; DPS=%f; RP=%f; DS=%f >>>>>
\n\n",XN,QP,DPS,RP,DS);
fprintf(fpG, "<<<<< XJ1=1.950000 ; XJ2=3.055000; XN=%f;QP=%f; DPS=%f; RP=%f; DS=%f >>>>>
\n\n",XN,QP,DPS,RP,DS);}
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
/********************************************************************************/
PX1=550;PY1=50;
NOTE=1;
for (j=51;j<1051;j++){
PY2=j;
X=(j-50)*XW/1000;
D=DNS*exp(-(X-XN)*(X-XN)/RN/RN) - DP - DPS*exp(-X*X/RP/RP);
if(NOTE==1) if(D>0) { XJ1=X; NOTE=0; }
if(NOTE==0) if(D<0) { XJ2=X; NOTE=3; }
if(Graph==1) { if(D>DP) { D=(1+log(D/DP)/LG10)/LGDS; goto JUMP_D; }
if(D<-DP) { D=(-1-log(-D/DP)/LG10)/LGDS; goto JUMP_D; }
D=D/DP/LGDS; }
JUMP_D:
if(Graph==2) D=D/LGDS;
PX2=550-250*(1+D);
for (i=0;i*
*******************/
printf( "\n",'"');
fprintf(fpG,"%c>
",'"');
printf( "%c
",'.');
fprintf(fpG,"%c
",'.');}
PX1=PX2; PY1=PY2; }
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
/************************************************************/
/******************
*******************/
NP=1000;
iP=1;
PPX1=50;PPX2=550;PPY1=50;PPY2=1050;PPXA=300;PPYA=550;
PPXB=300+250/LGDS;
PPXC=300-250/LGDS;
NEXT_iP:
if(Graph==2) if(iP>6) goto JUMP_iPP;
if(iP==1) { PX1=PPX1; PX2=PPX1; PY1=PPY1; PY2=PPY2;}
if(iP==2) { PX1=PPX2; PX2=PPX2; PY1=PPY1; PY2=PPY2;}
if(iP==3) { PX1=PPX1; PX2=PPX2; PY1=PPY2; PY2=PPY2;}
if(iP==4) { PX1=PPX1; PX2=PPX2; PY1=PPY1; PY2=PPY1;}
if(iP==5) { PX1=PPX1; PX2=PPX2; PY1=PPYA; PY2=PPYA;j=10;}
if(iP==6) { PX1=PPXA; PX2=PPXA; PY1=PPY1; PY2=PPY2;j=5;}
if(iP==7) { PX1=PPXB; PX2=PPXB; PY1=PPY1; PY2=PPY2;j=5;}
if(iP==8) { PX1=PPXC; PX2=PPXC; PY1=PPY1; PY2=PPY2;j=5;}
SKIP=1;
for (i=0;i5) { if(i==j) { j=j+5; SKIP=1-SKIP; }
if(SKIP==0) goto JUMP;
if(SKIP==1) goto JUMPP;}
JUMP:
PX=PX1+i*(PX2-PX1)/NP;
PY=PY1+i*(PY2-PY1)/NP;
/******************
*******************/
printf( "\n",'"');
fprintf(fpG,"%c>
",'"');
printf( "%c
",'.');
fprintf(fpG,"%c",'.');
JUMPP:}
JUMP_iPP:
iP=iP+1;
if(iP<9) goto NEXT_iP;
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
/*********************************************************/
printf( "\n<%cDOCTYPE html>",'!');
fprintf(fpG,"\n<%cDOCTYPE html>",'!');
fclose(fpG);
if(Graph==1) { printf( "\n\n See G001.html \n\n");
printf( "\n\n XJ1=%f XJ2=%f \n\n", XJ1,XJ2);
fprintf(fpGG, "\n\n See G001.html \n\n");
fprintf(fpGG, "\n\n XJ1=%f XJ2=%f \n\n", XJ1,XJ2);}
if(Graph==2) { printf( "\n\n See G002.html \n\n");
printf( "\n\n XJ1=%f XJ2=%f \n\n", XJ1,XJ2);
fprintf(fpGG, "\n\n See G002.html \n\n");
fprintf(fpGG, "\n\n XJ1=%f XJ2=%f \n\n", XJ1,XJ2);}
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
Graph=Graph+1;
if(Graph<3) goto NEXT_Graph;
fclose(fpGG); printf( "\n\n See GG.txt \n\n"); }
/****************************************************/
/***************** Graph_Plot( ) Output FIle (GG.txt) *********************
LG10=2.302585 RPI=1.772453 DP=100.000000
XA=0.500000 X1=1.000000 XJ1=1.750000 XN=2.500000 XJ2=3.250000 X2=4.000000 XB=4.900000 XW=5.000000
QN=700.000000 RN=0.500000 DNS=789.865751
QP=700.000000 RP=0.500000 DPS=789.865751 DS=-889.865751
Graph=1 LGDS=1.949324
<<<<< G001.html: Yoshiaki Hagiwara (AIPS), August 28, 2025 >>>>>
<<<<< DP=100.000000; QN=700.000000; DNS=789.865751 RN=0.500000; XN=2.500000;QP=700.000000; DPS=789.865751; RP=0.500000; DS=-889.865751 >>>>>
See G001.html
XJ1=1.785000 XJ2=3.220000
LG10=2.302585 RPI=1.772453 DP=100.000000
XA=0.500000 X1=1.000000 XJ1=1.750000 XN=2.500000 XJ2=3.250000 X2=4.000000 XB=4.900000 XW=5.000000
QN=700.000000 RN=0.500000 DNS=789.865751
QP=700.000000 RP=0.500000 DPS=789.865751 DS=-889.865751
Graph=2 LGDS=889.865751
<<<<< G002.html: Yoshiaki Hagiwara (AIPS), August 28, 2025 >>>>>
<<<<< DP=100.000000; QN=700.000000; DNS=789.865751 RN=0.500000; XN=2.500000;QP=700.000000; DPS=789.865751; RP=0.500000; DS=-889.865751 >>>>>
See G002.html
XJ1=1.785000 XJ2=3.220000
*********************************************************************************/
/***********************************************************/
void Obtain_W(void) {
fpW=fopen( "W.txt","w");
fpWW=fopen( "WW.txt","w");
dy=0.000001;
A=2;
NEXT_A:
printf( "\n\n ********* A = %f **************\n\n",A);
fprintf(fpW,"\n\n ********* A = %f **************\n\n",A);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
W1=0;
W2=2*dy*dy*(1-A);
Y=dy;
NEXT_WW:
Y=Y+dy;
W3=2*W2-W1+dy*dy*(1-A*exp(-W2*W2));
/*************
printf( "\n Y=%f W1=%f W2=%f W3=%f (W3-W2)/dy = %f ",Y,W1,W2,W3,(W3-W2)/dy);
fprintf(fpW, "\n Y=%f W1=%f W2=%f W3=%f (W3-W2)/dy = %f ",Y,W1,W2,W3,(W3-W2)/dy);
*************/
if(W3>W2) goto JUMP;
W1=W2;W2=W3;goto NEXT_WW;
JUMP:
W=W2;Y=Y-dy;
printf( "\n\n A=%f Y=%f W=%f \n\n",A,Y,W);
fprintf(fpW, "\n\n A=%f Y=%f W=%f \n\n",A,Y,W);
fprintf(fpWW,"\n\n A=%f Y=%f W=%f \n\n",A,Y,W);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
A=2*A;
if(A<101) goto NEXT_A;
/**************************************************/
PI=3.14159;
RPI=sqrt(PI);
DP=100;
QN=1000;
RN=0.1;
NEXT_RN:
DNS=QN/RN/RPI;
A=DNS/DP;
printf( "\n\n DP=%f QN=%f RN=%f DNS=QN/RN/RPI=%f A=DNS/DP=%f ", DP,QN,RN,DNS,A);
fprintf(fpW, "\n\n DP=%f QN=%f RN=%f DNS=QN/RN/RPI=%f A=DNS/DP=%f ", DP,QN,RN,DNS,A);
fprintf(fpWW,"\n\n DP=%f QN=%f RN=%f DNS=QN/RN/RPI=%f A=DNS/DP=%f ", DP,QN,RN,DNS,A);
W1=0;
W2=2*dy*dy*(1-A);
Y=dy;
NEXT_WWW:
Y=Y+dy;
W3=2*W2-W1+dy*dy*(1-A*exp(-W2*W2));
/*************
printf( "\n Y=%f W1=%f W2=%f W3=%f (W3-W2)/dy = %f ",Y,W1,W2,W3,(W3-W2)/dy);
fprintf(fpW, "\n Y=%f W1=%f W2=%f W3=%f (W3-W2)/dy = %f ",Y,W1,W2,W3,(W3-W2)/dy);
*************/
if(W3>W2) goto JUMPP;
W1=W2;W2=W3;goto NEXT_WWW;
JUMPP:
W=W2;Y=Y-dy;
V=W*RN*RN*DP/Esi;
X=Y*RN;
printf( "\n\n Y=%f W=%f X=Y*RN=%f V=W*RN*RN*DP/Esi=%f \n\n",Y,W,X,V);
fprintf(fpW, "\n\n Y=%f W=%f X=Y*RN=%f V=W*RN*RN*DP/Esi=%f \n\n",Y,W,X,V);
fprintf(fpWW,"\n\n Y=%f W=%f X=Y*RN=%f V=W*RN*RN*DP/Esi=%f \n\n",Y,W,X,V);
RN=RN+0.1;
if(RN<1.1) goto NEXT_RN;
printf("\n\n Obtain_W( ) called: see w.txt and ww.txt; \n\n");
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
fclose(fpW); fclose(fpWW); }
/**************** Output file (WW.txt) *********************
A=2.000000 Y=2.858365 W=-1.748709
A=4.000000 Y=3.130386 W=-3.544875
A=8.000000 Y=4.054123 W=-7.089477
A=16.000000 Y=5.517417 W=-14.178671
A=32.000000 Y=7.671760 W=-28.379038
A=64.000000 Y=10.733175 W=-56.698349
DP=100.000000 QN=1000.000000 RN=0.100000 DNS=QN/RN/RPI=5641.898218 A=DNS/DP=56.418982
Y=10.091016 W=-49.992354 X=Y*RN=1.009102 V=W*RN*RN*DP/Esi=-0.077149
DP=100.000000 QN=1000.000000 RN=0.200000 DNS=QN/RN/RPI=2820.949109 A=DNS/DP=28.209491
Y=7.219539 W=-25.014107 X=Y*RN=1.443908 V=W*RN*RN*DP/Esi=-0.154408
DP=100.000000 QN=1000.000000 RN=0.300000 DNS=QN/RN/RPI=1880.632739 A=DNS/DP=18.806327
Y=5.951157 W=-16.666679 X=Y*RN=1.785347 V=W*RN*RN*DP/Esi=-0.231482
DP=100.000000 QN=1000.000000 RN=0.400000 DNS=QN/RN/RPI=1410.474555 A=DNS/DP=14.104746
Y=5.206212 W=-12.499193 X=Y*RN=2.082485 V=W*RN*RN*DP/Esi=-0.308622
DP=100.000000 QN=1000.000000 RN=0.500000 DNS=QN/RN/RPI=1128.379644 A=DNS/DP=11.283796
Y=4.706618 W=-9.999411 X=Y*RN=2.353309 V=W*RN*RN*DP/Esi=-0.385780
DP=100.000000 QN=1000.000000 RN=0.600000 DNS=QN/RN/RPI=940.316370 A=DNS/DP=9.403164
Y=4.343782 W=-8.332890 X=Y*RN=2.606269 V=W*RN*RN*DP/Esi=-0.462938
DP=100.000000 QN=1000.000000 RN=0.700000 DNS=QN/RN/RPI=805.985460 A=DNS/DP=8.059855
Y=4.066845 W=-7.142517 X=Y*RN=2.846792 V=W*RN*RN*DP/Esi=-0.540098
DP=100.000000 QN=1000.000000 RN=0.800000 DNS=QN/RN/RPI=705.237277 A=DNS/DP=7.052373
Y=3.848082 W=-6.249737 X=Y*RN=3.078466 V=W*RN*RN*DP/Esi=-0.617258
DP=100.000000 QN=1000.000000 RN=0.900000 DNS=QN/RN/RPI=626.877580 A=DNS/DP=6.268776
Y=3.670940 W=-5.555352 X=Y*RN=3.303846 V=W*RN*RN*DP/Esi=-0.694419
DP=100.000000 QN=1000.000000 RN=1.000000 DNS=QN/RN/RPI=564.189822 A=DNS/DP=5.641898
Y=3.524860 W=-4.999844 X=Y*RN=3.524860 V=W*RN*RN*DP/Esi=-0.771581
DP=100.000000 QN=1000.000000 RN=1.100000 DNS=QN/RN/RPI=512.899838 A=DNS/DP=5.128998
Y=3.402765 W=-4.545338 X=Y*RN=3.743042 V=W*RN*RN*DP/Esi=-0.848744
**************************************************************/
/****************************************************/
void main_A(void){
fpAX=fopen( "AX.txt","w");
printf( "\n ****Output File (AX.txt)************ \n\n\n");
fprintf(fpAX,"\n ****Output File (AX.txt)************ \n\n\n");
printf( "\n <<<<< Depletion Width WD is at maximum when DN=DP ; >>>>>> \n\n\n");
fprintf(fpAX,"\n <<<<< Depletion Width WD is at maximum when DN=DP ; >>>>>> \n\n\n");
DP=100;
NEXT_DP:
Obtain_VBP( );
printf( "\n\n ************************** \n\n");
fprintf(fpAX,"\n\n ************************** \n\n");
printf( "\n\n DP=%f VBP=%f \n\n",DP,VBP);
fprintf(fpAX,"\n\n DP=%f VBP=%f \n\n",DP,VBP);
printf( "\n\n ************************** \n\n");
fprintf(fpAX,"\n\n ************************** \n\n");
Vout=0;
NEXT_Vout:
printf( "\n\n ***************************************** \n\n");
fprintf(fpAX,"\n\n ***************************************** \n\n");
printf( "\n\n DP=%f VBP=%f Vout=%f \n\n",DP,VBP,Vout);
fprintf(fpAX,"\n\n DP=%f VBP=%f Vout=%f \n\n",DP,VBP,Vout);
printf( "\n\n ****************************************************************************************** ");
fprintf(fpAX,"\n\n ****************************************************************************************** ");
printf( "\n For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2]. ");
fprintf(fpAX,"\n For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2]. ");
printf( "\n ****************************************************************************************** \n\n");
fprintf(fpAX,"\n ****************************************************************************************** \n\n");
DN=DP;
NEXT_DN:
Obtain_VBN( );
VB=EG-Vout-VBP-VBN;
if(VB<0) goto JUMP;
WD=sqrt(2*Esi*VB*(DP+DN)/DP/DN);
WDN=DP*WD/(DP+DN);
WDP=DN*WD/(DP+DN);
XJ1=WDP;
XM=WD=WDP+WDN;
XJ2=XM+WDN;
QN=(DP+DN)*(XJ2-XJ1);
printf( "\n DN=%f VBN=%f VB=EG-Vout-VBP-VBN=%f XJ1=WDP=%f XM=WD=WDP+WDN=%f XJ2=XM+WDN=%f QN=(DP+DN)*(XJ2-XJ1)=%f \n",
DN,VBN,VB,XJ1,XM,XJ2,QN);
fprintf(fpAX,"\n DN=%f VBN=%f VB=EG-Vout-VBP-VBN=%f XJ1=WDP=%f XM=WD=WDP+WDN=%f XJ2=XM+WDN=%f QN=(DP+DN)*(XJ2-XJ1)=%f \n",
DN,VBN,VB,XJ1,XM,XJ2,QN);
JUMP:
DN=DN+100;
if(DN <1100) goto NEXT_DN;
Vout=Vout+0.5;
if(Vout<0.6) goto NEXT_Vout;
DP=DP+100;
if(DP<1050) goto NEXT_DP;
printf("\n\n See AX.txt \n\n");
fclose(fpAX); }
/****************************************************/
/****************************************************/
void main_B(void){
fpBa=fopen( "Ba.txt","w");
printf( "\n ****Output File (Ba.txt)************ \n\n\n");
fprintf(fpBa,"\n ****Output File (Ba.txt)************ \n\n\n");
fprintf(fpBa,"\n\n ****************************************");
fprintf(fpBa,"\n\n EG=1.11 eV;"); EG=1.11;
fprintf(fpBa,"\n\n kT=0.0259 eV;"); kT=0.0259;
fprintf(fpBa,"\n\n Esi=648 e/(V*um);"); Esi=648;
fprintf(fpBa,"\n\n NC=10400000 e/(um)**3;"); NC=10400000;
fprintf(fpBa,"\n\n NV=28000000 e/(um)**3;"); NV=28000000;
fprintf(fpBa,"\n\n ****************************************");
fprintf(fpBa,"\n\n EG = Vout + VB + VBP ;");
fprintf(fpBa,"\n\n EG = Vout + VBB + VBPP ;");
fprintf(fpBa,"\n\n ****************************************");
printf("\n\n ****************************************");
printf("\n\n EG=1.11 eV;");
printf("\n\n kT=0.0259 eV;");
printf("\n\n Esi=648 e/(V*um);");
printf("\n\n NC=10400000 e/(um)**3;");
printf("\n\n NV=28000000 e/(um)**3;");
printf("\n\n ****************************************");
printf("\n\n EG = Vout + VB + VBP ;");
printf("\n\n EG = Vout + VBB + VBPP ;");
printf("\n\n ****************************************");
c=getchar( );
if(c=='!') printf("\n\n Good-bye !!");
DP=100;i=1;
NEXT_DP:
DN=DP;
DPP=DN;
VBP = kT*log(NV/DP);
VBPP = kT*log(NV/DPP);
X1=sqrt(Esi*kT/DPP);
printf("\n\n DP=%f DN=%f DPP=%f VBP = kT*ln(NV/DP) = %f VBPP = kT*log(NV/DPP)=%f X1=sqrt(Esi*kT/DPP)=%f ", DP,DN,DPP,VBP,VBP,X1);
fprintf(fpBa,"\n\n DP=%f DN=%f DPP=%f VBP = kT*ln(NV/DP) = %f VBPP = kT*log(NV/DPP)=%f X1=sqrt(Esi*kT/DPP)=%f ", DP,DN,DPP,VBP,VBP,X1);
printf("\n\n ****************************************");
fprintf(fpBa,"\n\n ****************************************");
Vout = 0;
NEXT_Vout:
VB=EG-Vout-VBP;
if(VB<0) goto JUMP;
DPN=DP*DN/(DP+DN);
WD=sqrt(2*Esi*VB/DPN);
WDN=DP*WD/(DP+DN);
WDP=DN*WD/(DP+DN);
DPPN=DPP*DN/(DPP+DN);
WDD=sqrt(2*Esi*VB/DPPN);
WDDN=DPP*WDD/(DPP+DN);
WDDP=DN*WDD/(DPP+DN);
XJ1=X1+WDDP;
XM=XJ1+WDDN;
XJ2=XM+WDN;
X2=XJ2+WDP;
QN=XJ2*(DN+DP);
QP=XJ1*(DPP+DN);
printf( "\n\n\n Vout=%f WDD=%f WDDP=%f WDDN=%f WD=%f WDP=%f WDN=%f ",Vout,WDD,WDDP,WDDN,WD,WDP,WDN);
printf( "\n\n X1=%f XJ1=%f XM=%f XJ2=%f X2=%f ",X1,XJ1,XM,XJ2,X2);
printf( "\n\n Ion Dose > QN=XJ2*(DN+DP)=%f QP=XJ1*(DPP+DN)=%f ",QN,QP);
fprintf(fpBa,"\n\n\n Vout=%f WDD=%f WDDP=%f WDDN=%f WD=%f WDP=%f WDN=%f ",Vout,WDD,WDDP,WDDN,WD,WDP,WDN);
fprintf(fpBa,"\n\n X1=%f XJ1=%f XM=%f XJ2=%f X2=%f ",X1,XJ1,XM,XJ2,X2);
fprintf(fpBa,"\n\n Ion Dose > QN=XJ2*(DN+DP)=%f QP=XJ1*(DPP+DN)=%f ",QN,QP);
JUMP:
Vout=Vout+0.1;
if(Vout<0.6) goto NEXT_Vout;
printf( "\n\n ********************************************************** \n\n\n");
fprintf(fpBa,"\n\n ********************************************************** \n\n\n");
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
DP=DP+100;i=i+1;
if(i<6) goto NEXT_DP;
printf( "\n\n\n\n");
fprintf(fpBa,"\n\n\n\n");
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
fclose(fpBa); }
/**************************************************************/
/****************************************************/
void main(void){
fpAa=fopen( "Aa.txt","w");
fpAb=fopen( "Ab.txt","w");
kk=0;
MEMO=0;
NOTE=0;
if(NOTE==1) { main_A( ); return;}
if(NOTE==1) { main_B( ); return;}
if(NOTE==1) { Obtain_BB_from_AA( ); return;}
if(NOTE==1) { printf( "\n\n************************************");
fprintf(fpAa,"\n\n************************************");
printf( "\n\n Obtain_XJ1_and_XJ2( )");
fprintf(fpAa,"\n\n Obtain_XJ1_and_XJ2( )");
printf( "\n\n************************************");
fprintf(fpAa,"\n\n************************************");
DP=100;XP=0,XPP=10;XN=3;QN=710;Obtain_XJ1_and_XJ2( );
printf("\n\n RPI=%f DP=%f ; XJ1=%f XJ2=%f ; ",
RPI,DP,XJ1,XJ2);
RN=QN/DNS/RPI;
printf("\n\n XN=%f QN=%f DNS=%f RN=QN/DNS/RPI=%f ; ",
XN,QN,DNS,RN);
RP=QP/DPS/RPI;
printf("\n\n XP=%f QP=%f DPS=%f RP=QP/DPS/RPI=%f ; ",
XP,QP,DPS,RP);
RPP=QPP/DPPS/RPI;
printf("\n\n XPP=%f QPP=%f DPPS=%f RPP=QPP/DPPS/RPI=%f ; \n\n",
XPP,QPP,DPPS,RPP);
fprintf(fpAa,"\n\n RPI=%f DP=%f ; XJ1=%f XJ2=%f ; ",
RPI,DP,XJ1,XJ2);
fprintf(fpAa,"\n\n XN=%f QN=%f DNS=%f RN=%f ; ",
XN,QN,DNS,RN);
fprintf(fpAa,"\n\n XP=%f QP=%f DPS=%f RP=%f ; ",
XP,QP,DPS,RP);
fprintf(fpAa,"\n\n XPP=%f QPP=%f DPPS=%f RPP=%f ; \n\n",
XPP,QPP,DPPS,RPP);
printf( "************************************\n\n");
fprintf(fpAa,"************************************\n\n");}
if(NOTE==1) { DepApp( );
printf("\n\n Main( ) called DepApp( ) : see G001.html,G002.html and GG.txt; \n\n");
return; }
if(NOTE==1) { Graph_Plot( );
printf("\n\n Main( ) called Graph_Plot( ) : see G001.html and G002.html; \n\n");
return; }
if(NOTE==1) { Obtain_W( );
printf("\n\n Main( ) called Obtain_W( ) : see w.txt and ww.txt; \n\n");
return; }
printf( "\n *********************Output File (Ab.txt)******************************* \n\n\n");
fprintf(fpAb,"\n *********************Output File (Ab.txt)******************************* \n\n\n");
fprintf(fpAa,"\n *********************Output File (Ab.txt)******************************* \n\n\n");
Obtain_DD( );
/******************************************************
:
Find m and VM such that m1-1;j--) {
VV[j]=2*VV[j+1]-VV[j+2]-(dx*dx/Esi)*DD[j+1];
if(VV[j] VV[j+1] ) goto JUMP_1;}
printf("\n\n Error Stop 1 \n\n"); return;
/***************************************************************************************/
JUMP_1: NX1=j+1;V1=VV[NX1]; X1=XX[NX1]; Error_1=VSS-V1;
fprintf(fpAb,"\n\n NX1=%d X1=XX[%d]=%f DD[%d]=%f V1=VV[%d]=%f VSS=%f Error_1=V1-VSS=%f ",
NX1,NX1,X1,NX1,DD[NX1],NX1,V1,VSS,Error_1);
/***************************************************************************************/
fprintf(fpAb,"\n\n m=%d XM=XX[%d]=%f DD[%d]=%f VM=VV[%d]=%f ",
m,m,XX[m],m,DD[m],m,VV[m]);
/***************************************************************************************/
VV[m+1]=VV[m]-(dx*dx/2/Esi)*DD[m];
fprintf(fpAb,"\n XX[%d]=%f DD[%d]=%f VV[%d]=%f ",m+1,XX[m+1],m+1,DD[m+1],m+1,VV[m+1]);
/***************************************************************************************/
for (j=m+2;j<10001;j++) {
VV[j]=2*VV[j-1]-VV[j-2]-(dx*dx/Esi)*DD[j-1];
if(VV[j] VV[j-1] ) goto JUMP_2;}
printf("\n\n Error Stop 2 \n\n"); return;
/***************************************************************************************/
JUMP_2:
NX2=j-1;V2=VV[NX2]; X2=XX[NX2]; Error_2=VBP-V2;
fprintf(fpAb,"\n\n NX2=%d X2=XX[%d]=%f DD[%d]=%f V2=VV[%d]=%f Error_2=V2=%f ",
NX2,NX2,X2,NX2,DD[NX2],NX2,V2,Error_2);
Error=Error_1*Error_1+Error_2*Error_2;
printf( "\n\n\n kk=%d Vout=%f VM=%f XM=%f X1=%f V1=%f X2=%f V2=%f Error_1=%f Error_2=%f Error=%f",
kk,Vout,VM,XM,X1,V1,X2,V2,Error_1,Error_2,Error);
fprintf(fpAa,"\n\n\n kk=%d Vout=%f VM=%f XM=%f X1=%f V1=%f X2=%f V2=%f Error_1=%f Error_2=%f Error=%f",
kk,Vout,VM,XM,X1,V1,X2,V2,Error_1,Error_2,Error);
fprintf(fpAb,"\n\n\n kk=%d Vout=%f VM=%f XM=%f X1=%f V1=%f X2=%f V2=%f Error_1=%f Error_2=%f Error=%f",
kk,Vout,VM,XM,X1,V1,X2,V2,Error_1,Error_2,Error);
c=getchar( ); if(c=='!') printf("\n\n Good-bye !!");
/***************************************************************************************/
JMP:
m=m+1; XM=XX[m];
if(m>>>>>
**************************
DP=100.000000 VBP=0.324852
**************************
*****************************************
DP=100.000000 VBP=0.324852 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=100.000000 VBN=0.299201 VB=EG-Vout-VBP-VBN=0.485948 XJ1=WDP=1.774525 XM=WD=WDP+WDN=3.549050 XJ2=XM+WDN=5.323576 QN=(DP+DN)*(XJ2-XJ1)=709.810095
DN=200.000000 VBN=0.281248 VB=EG-Vout-VBP-VBN=0.503900 XJ1=WDP=2.086551 XM=WD=WDP+WDN=3.129827 XJ2=XM+WDN=4.173103 QN=(DP+DN)*(XJ2-XJ1)=625.965375
DN=300.000000 VBN=0.270747 VB=EG-Vout-VBP-VBN=0.514402 XJ1=WDP=2.236064 XM=WD=WDP+WDN=2.981419 XJ2=XM+WDN=3.726774 QN=(DP+DN)*(XJ2-XJ1)=596.283790
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.521853 XJ1=WDP=2.326063 XM=WD=WDP+WDN=2.907578 XJ2=XM+WDN=3.489094 QN=(DP+DN)*(XJ2-XJ1)=581.515638
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.527632 XJ1=WDP=2.387137 XM=WD=WDP+WDN=2.864565 XJ2=XM+WDN=3.341992 QN=(DP+DN)*(XJ2-XJ1)=572.912977
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.532354 XJ1=WDP=2.431809 XM=WD=WDP+WDN=2.837110 XJ2=XM+WDN=3.242412 QN=(DP+DN)*(XJ2-XJ1)=567.422015
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.536347 XJ1=WDP=2.466206 XM=WD=WDP+WDN=2.818521 XJ2=XM+WDN=3.170836 QN=(DP+DN)*(XJ2-XJ1)=563.704142
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.539805 XJ1=WDP=2.493703 XM=WD=WDP+WDN=2.805416 XJ2=XM+WDN=3.117129 QN=(DP+DN)*(XJ2-XJ1)=561.083147
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.542856 XJ1=WDP=2.516320 XM=WD=WDP+WDN=2.795911 XJ2=XM+WDN=3.075503 QN=(DP+DN)*(XJ2-XJ1)=559.182293
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.545584 XJ1=WDP=2.535346 XM=WD=WDP+WDN=2.788880 XJ2=XM+WDN=3.042415 QN=(DP+DN)*(XJ2-XJ1)=557.776013
*****************************************
DP=100.000000 VBP=0.324852 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=200.000000 VBN=0.281248 VB=EG-Vout-VBP-VBN=0.003900 XJ1=WDP=0.183565 XM=WD=WDP+WDN=0.275348 XJ2=XM+WDN=0.367130 QN=(DP+DN)*(XJ2-XJ1)=55.069510
DN=300.000000 VBN=0.270747 VB=EG-Vout-VBP-VBN=0.014402 XJ1=WDP=0.374143 XM=WD=WDP+WDN=0.498858 XJ2=XM+WDN=0.623572 QN=(DP+DN)*(XJ2-XJ1)=99.771532
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.021853 XJ1=WDP=0.475991 XM=WD=WDP+WDN=0.594988 XJ2=XM+WDN=0.713986 QN=(DP+DN)*(XJ2-XJ1)=118.997634
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.027632 XJ1=WDP=0.546283 XM=WD=WDP+WDN=0.655539 XJ2=XM+WDN=0.764796 QN=(DP+DN)*(XJ2-XJ1)=131.107893
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.032354 XJ1=WDP=0.599506 XM=WD=WDP+WDN=0.699424 XJ2=XM+WDN=0.799341 QN=(DP+DN)*(XJ2-XJ1)=139.884749
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.036347 XJ1=WDP=0.642005 XM=WD=WDP+WDN=0.733720 XJ2=XM+WDN=0.825435 QN=(DP+DN)*(XJ2-XJ1)=146.743954
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.039805 XJ1=WDP=0.677166 XM=WD=WDP+WDN=0.761812 XJ2=XM+WDN=0.846458 QN=(DP+DN)*(XJ2-XJ1)=152.362391
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.042856 XJ1=WDP=0.707013 XM=WD=WDP+WDN=0.785570 XJ2=XM+WDN=0.864127 QN=(DP+DN)*(XJ2-XJ1)=157.114087
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.045584 XJ1=WDP=0.732849 XM=WD=WDP+WDN=0.806134 XJ2=XM+WDN=0.879419 QN=(DP+DN)*(XJ2-XJ1)=161.226797
**************************
DP=200.000000 VBP=0.306899
**************************
*****************************************
DP=200.000000 VBP=0.306899 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=200.000000 VBN=0.281248 VB=EG-Vout-VBP-VBN=0.521853 XJ1=WDP=1.300308 XM=WD=WDP+WDN=2.600617 XJ2=XM+WDN=3.900925 QN=(DP+DN)*(XJ2-XJ1)=1040.246796
DN=300.000000 VBN=0.270747 VB=EG-Vout-VBP-VBN=0.532354 XJ1=WDP=1.438677 XM=WD=WDP+WDN=2.397796 XJ2=XM+WDN=3.356914 QN=(DP+DN)*(XJ2-XJ1)=959.118260
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.539805 XJ1=WDP=1.527075 XM=WD=WDP+WDN=2.290612 XJ2=XM+WDN=3.054150 QN=(DP+DN)*(XJ2-XJ1)=916.244942
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.545584 XJ1=WDP=1.589112 XM=WD=WDP+WDN=2.224757 XJ2=XM+WDN=2.860401 QN=(DP+DN)*(XJ2-XJ1)=889.902663
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.550307 XJ1=WDP=1.635387 XM=WD=WDP+WDN=2.180516 XJ2=XM+WDN=2.725645 QN=(DP+DN)*(XJ2-XJ1)=872.206295
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.554299 XJ1=WDP=1.671427 XM=WD=WDP+WDN=2.148977 XJ2=XM+WDN=2.626528 QN=(DP+DN)*(XJ2-XJ1)=859.590902
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.557758 XJ1=WDP=1.700416 XM=WD=WDP+WDN=2.125520 XJ2=XM+WDN=2.550624 QN=(DP+DN)*(XJ2-XJ1)=850.208083
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.560808 XJ1=WDP=1.724327 XM=WD=WDP+WDN=2.107510 XJ2=XM+WDN=2.490694 QN=(DP+DN)*(XJ2-XJ1)=843.004189
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.563537 XJ1=WDP=1.744448 XM=WD=WDP+WDN=2.093338 XJ2=XM+WDN=2.442228 QN=(DP+DN)*(XJ2-XJ1)=837.335150
*****************************************
DP=200.000000 VBP=0.306899 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=200.000000 VBN=0.281248 VB=EG-Vout-VBP-VBN=0.021853 XJ1=WDP=0.266087 XM=WD=WDP+WDN=0.532174 XJ2=XM+WDN=0.798260 QN=(DP+DN)*(XJ2-XJ1)=212.869437
DN=300.000000 VBN=0.270747 VB=EG-Vout-VBP-VBN=0.032354 XJ1=WDP=0.354673 XM=WD=WDP+WDN=0.591121 XJ2=XM+WDN=0.827569 QN=(DP+DN)*(XJ2-XJ1)=236.448380
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.039805 XJ1=WDP=0.414678 XM=WD=WDP+WDN=0.622017 XJ2=XM+WDN=0.829356 QN=(DP+DN)*(XJ2-XJ1)=248.806741
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.045584 XJ1=WDP=0.459337 XM=WD=WDP+WDN=0.643072 XJ2=XM+WDN=0.826807 QN=(DP+DN)*(XJ2-XJ1)=257.228982
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.050307 XJ1=WDP=0.494459 XM=WD=WDP+WDN=0.659279 XJ2=XM+WDN=0.824099 QN=(DP+DN)*(XJ2-XJ1)=263.711626
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.054299 XJ1=WDP=0.523132 XM=WD=WDP+WDN=0.672599 XJ2=XM+WDN=0.822065 QN=(DP+DN)*(XJ2-XJ1)=269.039465
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.057758 XJ1=WDP=0.547188 XM=WD=WDP+WDN=0.683985 XJ2=XM+WDN=0.820783 QN=(DP+DN)*(XJ2-XJ1)=273.594196
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.060808 XJ1=WDP=0.567797 XM=WD=WDP+WDN=0.693974 XJ2=XM+WDN=0.820151 QN=(DP+DN)*(XJ2-XJ1)=277.589738
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.063537 XJ1=WDP=0.585747 XM=WD=WDP+WDN=0.702896 XJ2=XM+WDN=0.820046 QN=(DP+DN)*(XJ2-XJ1)=281.158591
**************************
DP=300.000000 VBP=0.296398
**************************
*****************************************
DP=300.000000 VBP=0.296398 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=300.000000 VBN=0.270747 VB=EG-Vout-VBP-VBN=0.542856 XJ1=WDP=1.082852 XM=WD=WDP+WDN=2.165704 XJ2=XM+WDN=3.248556 QN=(DP+DN)*(XJ2-XJ1)=1299.422223
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.550307 XJ1=WDP=1.165535 XM=WD=WDP+WDN=2.039686 XJ2=XM+WDN=2.913837 QN=(DP+DN)*(XJ2-XJ1)=1223.811423
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.556086 XJ1=WDP=1.225329 XM=WD=WDP+WDN=1.960527 XJ2=XM+WDN=2.695725 QN=(DP+DN)*(XJ2-XJ1)=1176.316250
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.560808 XJ1=WDP=1.270877 XM=WD=WDP+WDN=1.906315 XJ2=XM+WDN=2.541753 QN=(DP+DN)*(XJ2-XJ1)=1143.788969
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.564801 XJ1=WDP=1.306888 XM=WD=WDP+WDN=1.866983 XJ2=XM+WDN=2.427078 QN=(DP+DN)*(XJ2-XJ1)=1120.189999
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.568259 XJ1=WDP=1.336176 XM=WD=WDP+WDN=1.837242 XJ2=XM+WDN=2.338308 QN=(DP+DN)*(XJ2-XJ1)=1102.345341
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.571310 XJ1=WDP=1.360531 XM=WD=WDP+WDN=1.814041 XJ2=XM+WDN=2.267551 QN=(DP+DN)*(XJ2-XJ1)=1088.424432
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.574039 XJ1=WDP=1.381150 XM=WD=WDP+WDN=1.795494 XJ2=XM+WDN=2.209839 QN=(DP+DN)*(XJ2-XJ1)=1077.296666
*****************************************
DP=300.000000 VBP=0.296398 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=300.000000 VBN=0.270747 VB=EG-Vout-VBP-VBN=0.042856 XJ1=WDP=0.304250 XM=WD=WDP+WDN=0.608500 XJ2=XM+WDN=0.912750 QN=(DP+DN)*(XJ2-XJ1)=365.100143
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.050307 XJ1=WDP=0.352399 XM=WD=WDP+WDN=0.616699 XJ2=XM+WDN=0.880999 QN=(DP+DN)*(XJ2-XJ1)=370.019457
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.056086 XJ1=WDP=0.389143 XM=WD=WDP+WDN=0.622629 XJ2=XM+WDN=0.856114 QN=(DP+DN)*(XJ2-XJ1)=373.577194
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.060808 XJ1=WDP=0.418482 XM=WD=WDP+WDN=0.627723 XJ2=XM+WDN=0.836965 QN=(DP+DN)*(XJ2-XJ1)=376.634048
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.064801 XJ1=WDP=0.442670 XM=WD=WDP+WDN=0.632386 XJ2=XM+WDN=0.822102 QN=(DP+DN)*(XJ2-XJ1)=379.431801
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.068259 XJ1=WDP=0.463096 XM=WD=WDP+WDN=0.636757 XJ2=XM+WDN=0.810418 QN=(DP+DN)*(XJ2-XJ1)=382.053989
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.071310 XJ1=WDP=0.480670 XM=WD=WDP+WDN=0.640893 XJ2=XM+WDN=0.801116 QN=(DP+DN)*(XJ2-XJ1)=384.535753
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.074039 XJ1=WDP=0.496020 XM=WD=WDP+WDN=0.644826 XJ2=XM+WDN=0.793632 QN=(DP+DN)*(XJ2-XJ1)=386.895471
**************************
DP=400.000000 VBP=0.288947
**************************
*****************************************
DP=400.000000 VBP=0.288947 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.557758 XJ1=WDP=0.950562 XM=WD=WDP+WDN=1.901123 XJ2=XM+WDN=2.851685 QN=(DP+DN)*(XJ2-XJ1)=1520.898455
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.563537 XJ1=WDP=1.007158 XM=WD=WDP+WDN=1.812884 XJ2=XM+WDN=2.618610 QN=(DP+DN)*(XJ2-XJ1)=1450.307023
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.568259 XJ1=WDP=1.051045 XM=WD=WDP+WDN=1.751742 XJ2=XM+WDN=2.452438 QN=(DP+DN)*(XJ2-XJ1)=1401.393391
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.572252 XJ1=WDP=1.086222 XM=WD=WDP+WDN=1.706921 XJ2=XM+WDN=2.327619 QN=(DP+DN)*(XJ2-XJ1)=1365.536528
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.575710 XJ1=WDP=1.115138 XM=WD=WDP+WDN=1.672708 XJ2=XM+WDN=2.230277 QN=(DP+DN)*(XJ2-XJ1)=1338.166124
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.578761 XJ1=WDP=1.139388 XM=WD=WDP+WDN=1.645782 XJ2=XM+WDN=2.152177 QN=(DP+DN)*(XJ2-XJ1)=1316.625944
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.581489 XJ1=WDP=1.160057 XM=WD=WDP+WDN=1.624080 XJ2=XM+WDN=2.088103 QN=(DP+DN)*(XJ2-XJ1)=1299.264106
*****************************************
DP=400.000000 VBP=0.288947 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=400.000000 VBN=0.263296 VB=EG-Vout-VBP-VBN=0.057758 XJ1=WDP=0.305888 XM=WD=WDP+WDN=0.611775 XJ2=XM+WDN=0.917663 QN=(DP+DN)*(XJ2-XJ1)=489.420177
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.063537 XJ1=WDP=0.338181 XM=WD=WDP+WDN=0.608726 XJ2=XM+WDN=0.879271 QN=(DP+DN)*(XJ2-XJ1)=486.980965
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.068259 XJ1=WDP=0.364274 XM=WD=WDP+WDN=0.607124 XJ2=XM+WDN=0.849973 QN=(DP+DN)*(XJ2-XJ1)=485.698914
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.072252 XJ1=WDP=0.385966 XM=WD=WDP+WDN=0.606518 XJ2=XM+WDN=0.827070 QN=(DP+DN)*(XJ2-XJ1)=485.214247
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.075710 XJ1=WDP=0.404393 XM=WD=WDP+WDN=0.606590 XJ2=XM+WDN=0.808786 QN=(DP+DN)*(XJ2-XJ1)=485.271651
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.078761 XJ1=WDP=0.420317 XM=WD=WDP+WDN=0.607124 XJ2=XM+WDN=0.793932 QN=(DP+DN)*(XJ2-XJ1)=485.699367
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.081489 XJ1=WDP=0.434269 XM=WD=WDP+WDN=0.607977 XJ2=XM+WDN=0.781685 QN=(DP+DN)*(XJ2-XJ1)=486.381762
**************************
DP=500.000000 VBP=0.283167
**************************
*****************************************
DP=500.000000 VBP=0.283167 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.569316 XJ1=WDP=0.858973 XM=WD=WDP+WDN=1.717945 XJ2=XM+WDN=2.576918 QN=(DP+DN)*(XJ2-XJ1)=1717.945326
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.574039 XJ1=WDP=0.900881 XM=WD=WDP+WDN=1.651615 XJ2=XM+WDN=2.402349 QN=(DP+DN)*(XJ2-XJ1)=1651.614670
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.578031 XJ1=WDP=0.934871 XM=WD=WDP+WDN=1.602635 XJ2=XM+WDN=2.270400 QN=(DP+DN)*(XJ2-XJ1)=1602.635184
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.581489 XJ1=WDP=0.963079 XM=WD=WDP+WDN=1.565003 XJ2=XM+WDN=2.166927 QN=(DP+DN)*(XJ2-XJ1)=1565.002776
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.584540 XJ1=WDP=0.986920 XM=WD=WDP+WDN=1.535209 XJ2=XM+WDN=2.083497 QN=(DP+DN)*(XJ2-XJ1)=1535.208625
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.587269 XJ1=WDP=1.007373 XM=WD=WDP+WDN=1.511060 XJ2=XM+WDN=2.014746 QN=(DP+DN)*(XJ2-XJ1)=1511.059719
*****************************************
DP=500.000000 VBP=0.283167 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=500.000000 VBN=0.257516 VB=EG-Vout-VBP-VBN=0.069316 XJ1=WDP=0.299723 XM=WD=WDP+WDN=0.599447 XJ2=XM+WDN=0.899170 QN=(DP+DN)*(XJ2-XJ1)=599.446530
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.074039 XJ1=WDP=0.323538 XM=WD=WDP+WDN=0.593153 XJ2=XM+WDN=0.862769 QN=(DP+DN)*(XJ2-XJ1)=593.153452
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.078031 XJ1=WDP=0.343486 XM=WD=WDP+WDN=0.588834 XJ2=XM+WDN=0.834181 QN=(DP+DN)*(XJ2-XJ1)=588.833803
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.081489 XJ1=WDP=0.360530 XM=WD=WDP+WDN=0.585861 XJ2=XM+WDN=0.811193 QN=(DP+DN)*(XJ2-XJ1)=585.861492
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.084540 XJ1=WDP=0.375324 XM=WD=WDP+WDN=0.583837 XJ2=XM+WDN=0.792350 QN=(DP+DN)*(XJ2-XJ1)=583.836897
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.087269 XJ1=WDP=0.388331 XM=WD=WDP+WDN=0.582496 XJ2=XM+WDN=0.776661 QN=(DP+DN)*(XJ2-XJ1)=582.495900
**************************
DP=600.000000 VBP=0.278445
**************************
*****************************************
DP=600.000000 VBP=0.278445 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.578761 XJ1=WDP=0.790608 XM=WD=WDP+WDN=1.581217 XJ2=XM+WDN=2.371825 QN=(DP+DN)*(XJ2-XJ1)=1897.459934
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.582753 XJ1=WDP=0.823278 XM=WD=WDP+WDN=1.528945 XJ2=XM+WDN=2.234612 QN=(DP+DN)*(XJ2-XJ1)=1834.733922
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.586212 XJ1=WDP=0.850619 XM=WD=WDP+WDN=1.488583 XJ2=XM+WDN=2.126547 QN=(DP+DN)*(XJ2-XJ1)=1786.299813
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.589262 XJ1=WDP=0.873890 XM=WD=WDP+WDN=1.456483 XJ2=XM+WDN=2.039077 QN=(DP+DN)*(XJ2-XJ1)=1747.780073
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.591991 XJ1=WDP=0.893973 XM=WD=WDP+WDN=1.430357 XJ2=XM+WDN=1.966741 QN=(DP+DN)*(XJ2-XJ1)=1716.428332
*****************************************
DP=600.000000 VBP=0.278445 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=600.000000 VBN=0.252794 VB=EG-Vout-VBP-VBN=0.078761 XJ1=WDP=0.291653 XM=WD=WDP+WDN=0.583306 XJ2=XM+WDN=0.874959 QN=(DP+DN)*(XJ2-XJ1)=699.967286
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.082753 XJ1=WDP=0.310239 XM=WD=WDP+WDN=0.576158 XJ2=XM+WDN=0.842077 QN=(DP+DN)*(XJ2-XJ1)=691.389900
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.086212 XJ1=WDP=0.326205 XM=WD=WDP+WDN=0.570859 XJ2=XM+WDN=0.815513 QN=(DP+DN)*(XJ2-XJ1)=685.030673
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.089262 XJ1=WDP=0.340123 XM=WD=WDP+WDN=0.566872 XJ2=XM+WDN=0.793621 QN=(DP+DN)*(XJ2-XJ1)=680.246415
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.091991 XJ1=WDP=0.352403 XM=WD=WDP+WDN=0.563845 XJ2=XM+WDN=0.775287 QN=(DP+DN)*(XJ2-XJ1)=676.613788
**************************
DP=700.000000 VBP=0.274453
**************************
*****************************************
DP=700.000000 VBP=0.274453 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.586746 XJ1=WDP=0.736993 XM=WD=WDP+WDN=1.473986 XJ2=XM+WDN=2.210979 QN=(DP+DN)*(XJ2-XJ1)=2063.580677
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.590204 XJ1=WDP=0.763403 XM=WD=WDP+WDN=1.431381 XJ2=XM+WDN=2.099359 QN=(DP+DN)*(XJ2-XJ1)=2003.933324
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.593255 XJ1=WDP=0.786023 XM=WD=WDP+WDN=1.397374 XJ2=XM+WDN=2.008726 QN=(DP+DN)*(XJ2-XJ1)=1956.324273
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.595984 XJ1=WDP=0.805650 XM=WD=WDP+WDN=1.369604 XJ2=XM+WDN=1.933559 QN=(DP+DN)*(XJ2-XJ1)=1917.445839
*****************************************
DP=700.000000 VBP=0.274453 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=700.000000 VBN=0.248802 VB=EG-Vout-VBP-VBN=0.086746 XJ1=WDP=0.283376 XM=WD=WDP+WDN=0.566751 XJ2=XM+WDN=0.850127 QN=(DP+DN)*(XJ2-XJ1)=793.451454
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.090204 XJ1=WDP=0.298446 XM=WD=WDP+WDN=0.559587 XJ2=XM+WDN=0.820727 QN=(DP+DN)*(XJ2-XJ1)=783.421194
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.093255 XJ1=WDP=0.311638 XM=WD=WDP+WDN=0.554023 XJ2=XM+WDN=0.796408 QN=(DP+DN)*(XJ2-XJ1)=775.631783
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.095984 XJ1=WDP=0.323316 XM=WD=WDP+WDN=0.549637 XJ2=XM+WDN=0.775959 QN=(DP+DN)*(XJ2-XJ1)=769.492396
**************************
DP=800.000000 VBP=0.270994
**************************
*****************************************
DP=800.000000 VBP=0.270994 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.593663 XJ1=WDP=0.693446 XM=WD=WDP+WDN=1.386891 XJ2=XM+WDN=2.080337 QN=(DP+DN)*(XJ2-XJ1)=2219.025653
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.596713 XJ1=WDP=0.715381 XM=WD=WDP+WDN=1.351274 XJ2=XM+WDN=1.987168 QN=(DP+DN)*(XJ2-XJ1)=2162.038890
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.599442 XJ1=WDP=0.734505 XM=WD=WDP+WDN=1.322109 XJ2=XM+WDN=1.909713 QN=(DP+DN)*(XJ2-XJ1)=2115.374787
*****************************************
DP=800.000000 VBP=0.270994 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=800.000000 VBN=0.245343 VB=EG-Vout-VBP-VBN=0.093663 XJ1=WDP=0.275439 XM=WD=WDP+WDN=0.550878 XJ2=XM+WDN=0.826317 QN=(DP+DN)*(XJ2-XJ1)=881.405042
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.096713 XJ1=WDP=0.288003 XM=WD=WDP+WDN=0.544006 XJ2=XM+WDN=0.800008 QN=(DP+DN)*(XJ2-XJ1)=870.409193
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.099442 XJ1=WDP=0.299162 XM=WD=WDP+WDN=0.538491 XJ2=XM+WDN=0.777821 QN=(DP+DN)*(XJ2-XJ1)=861.586031
**************************
DP=900.000000 VBP=0.267944
**************************
*****************************************
DP=900.000000 VBP=0.267944 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.599764 XJ1=WDP=0.657138 XM=WD=WDP+WDN=1.314275 XJ2=XM+WDN=1.971413 QN=(DP+DN)*(XJ2-XJ1)=2365.695534
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.602493 XJ1=WDP=0.675741 XM=WD=WDP+WDN=1.283908 XJ2=XM+WDN=1.892075 QN=(DP+DN)*(XJ2-XJ1)=2311.034347
*****************************************
DP=900.000000 VBP=0.267944 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=900.000000 VBN=0.242292 VB=EG-Vout-VBP-VBN=0.099764 XJ1=WDP=0.268011 XM=WD=WDP+WDN=0.536022 XJ2=XM+WDN=0.804033 QN=(DP+DN)*(XJ2-XJ1)=964.839552
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.102493 XJ1=WDP=0.278709 XM=WD=WDP+WDN=0.529547 XJ2=XM+WDN=0.780385 QN=(DP+DN)*(XJ2-XJ1)=953.184008
**************************
DP=1000.000000 VBP=0.265215
**************************
*****************************************
DP=1000.000000 VBP=0.265215 Vout=0.000000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.605221 XJ1=WDP=0.626246 XM=WD=WDP+WDN=1.252491 XJ2=XM+WDN=1.878737 QN=(DP+DN)*(XJ2-XJ1)=2504.982150
*****************************************
DP=1000.000000 VBP=0.265215 Vout=0.500000
******************************************************************************************
For P+PNPP+ Double Junction Solar Cell,the buried N region is defined as [XJ1,XJ2].
******************************************************************************************
DN=1000.000000 VBN=0.239564 VB=EG-Vout-VBP-VBN=0.105221 XJ1=WDP=0.261120 XM=WD=WDP+WDN=0.522239 XJ2=XM+WDN=0.783359 QN=(DP+DN)*(XJ2-XJ1)=1044.478613
************************************ End of Output Files *******************************************/