33 inline double _d0_atan(
double arg) {
return (+1.0/(1+arg*arg)); }
44 inline double _abs(
double arg) {
return fabs(arg); }
45 inline double _d0_abs(
double arg) {
return (((arg)>=0)?(+1.0):(-1.0)); }
49 inline double _hypot(
double x,
double y) {
return sqrt((x)*(x)+(y)*(y)); }
50 inline double _d0_hypot(
double x,
double y) {
return (x)/
sqrt((x)*(x)+(y)*(y)); }
51 inline double _d1_hypot(
double x,
double y) {
return (y)/
sqrt((x)*(x)+(y)*(y)); }
53 inline double _max(
double x,
double y) {
return ((x)>(y))?(
x):(y); }
54 inline double _d0_max(
double x,
double y) {
return ((x)>(y))?1.0:0.0; }
55 inline double _d1_max(
double x,
double y) {
return ((x)>(y))?0.0:1.0; }
57 inline double _min(
double x,
double y) {
return ((x)<(y))?(
x):(y); }
58 inline double _d0_min(
double x,
double y) {
return ((x)<(y))?1.0:0.0; }
59 inline double _d1_min(
double x,
double y) {
return ((x)<(y))?0.0:1.0; }
61 inline double _pow(
double x,
double y) {
return pow(x,y); }
62 inline double _d0_pow(
double x,
double y) {
return (x==0.0)?0.0:((y/
x)*
pow(x,y)); }
63 inline double _d1_pow(
double x,
double y) {
return (x==0.0)?0.0:((
log(x)/
exp(0.0))*
pow(x,y)); }
65 inline double _limexp(
double arg) {
return ((arg)<(80))?(
exp(arg)):(
exp(80.0)*(1.0+(arg-80))); }
68 inline double _vt(
double arg) {
return 1.3806503e-23*arg/1.602176462e-19; }
69 inline double _d0_vt(
double) {
return 1.3806503e-23/1.602176462e-19; }
85 {exp_soft=(((x+1.0)-maxarg)*maxexp);
92 double exp_soft_x=0.0;
100 {maxarg_x=
_d0_logE(maxexp)*(maxexp_x);
101 maxarg=
_logE(maxexp);
108 {{exp_soft_x=(((1.0-maxarg_x)*maxexp)+(((x+1.0)-maxarg)*maxexp_x));
109 exp_soft=(((x+1.0)-maxarg)*maxexp);
112 return exp_soft_x*d_x;
126 Vt=(U-(Vch*
_logE((1.0+
_exp(((U-VF)/Vch))))));
128 Vt=(VF-(Vch*
_logE((1.0+
_exp(((VF-U)/Vch))))));
132 double HBT_X_d_Vt (
double U,
double Ud,
double d_U,
double d_Ud)
152 {Vt_U=(1.0-((Vch_U*
_logE((1.0+
_exp(((U-VF)/Vch)))))+(Vch*
_d0_logE((1.0+
_exp(((U-VF)/Vch))))*((+
_d0_exp(((U-VF)/Vch))*(((1.0-VF_U)*Vch-(U-VF)*Vch_U)/(Vch*Vch)))))));
153 Vt_Ud=(-((Vch_Ud*
_logE((1.0+
_exp(((U-VF)/Vch)))))+(Vch*
_d0_logE((1.0+
_exp(((U-VF)/Vch))))*((+
_d0_exp(((U-VF)/Vch))*(((-VF_Ud)*Vch-(U-VF)*Vch_Ud)/(Vch*Vch)))))));
154 Vt=(U-(Vch*
_logE((1.0+
_exp(((U-VF)/Vch))))));
157 {Vt_U=(VF_U-((Vch_U*
_logE((1.0+
_exp(((VF-U)/Vch)))))+(Vch*
_d0_logE((1.0+
_exp(((VF-U)/Vch))))*((+
_d0_exp(((VF-U)/Vch))*(((VF_U-1.0)*Vch-(VF-U)*Vch_U)/(Vch*Vch)))))));
158 Vt_Ud=(VF_Ud-((Vch_Ud*
_logE((1.0+
_exp(((VF-U)/Vch)))))+(Vch*
_d0_logE((1.0+
_exp(((VF-U)/Vch))))*((+
_d0_exp(((VF-U)/Vch))*((VF_Ud*Vch-(VF-U)*Vch_Ud)/(Vch*Vch)))))));
159 Vt=(VF-(Vch*
_logE((1.0+
_exp(((VF-U)/Vch))))));
162 return Vt_U*d_U+Vt_Ud*d_Ud;
168 double HBT_X_diode (
double U,
double Is,
double Ug,
double N,
double AREA,
double TJ,
double TNOM)
179 {VTH0=
_vt((20.0+273.15));
180 VTHNOM=
_vt((TNOM+273.15));
181 KDURCHQ=0.861708692e-4;
182 lnIs=
_logE((Is*AREA));
184 if(((maxi<(Ug/VTHNOM))&&(U<0.0)))
185 {Tmax=(((Ug*VTHNOM)/((Ug-(maxi*VTHNOM))*KDURCHQ))-273.15);
189 }VTHJ=
_vt((TJM+273.15));
197 double HBT_X_d_diode (
double U,
double Is,
double Ug,
double N,
double AREA,
double TJ,
double TNOM,
double d_U,
double d_Is,
double d_Ug,
double d_N,
double d_AREA,
double d_TJ,
double d_TNOM)
204 double diode_AREA=0.0;
206 double diode_TNOM=0.0;
212 double VTH0_AREA=0.0;
214 double VTH0_TNOM=0.0;
220 double VTHJ_AREA=0.0;
222 double VTHJ_TNOM=0.0;
225 double VTHNOM_Is=0.0;
226 double VTHNOM_Ug=0.0;
228 double VTHNOM_AREA=0.0;
229 double VTHNOM_TJ=0.0;
230 double VTHNOM_TNOM=0.0;
236 double maxi_AREA=0.0;
238 double maxi_TNOM=0.0;
244 double Tmax_AREA=0.0;
246 double Tmax_TNOM=0.0;
256 double KDURCHQ_U=0.0;
257 double KDURCHQ_Is=0.0;
258 double KDURCHQ_Ug=0.0;
259 double KDURCHQ_N=0.0;
260 double KDURCHQ_AREA=0.0;
261 double KDURCHQ_TJ=0.0;
262 double KDURCHQ_TNOM=0.0;
268 double lnIs_AREA=0.0;
270 double lnIs_TNOM=0.0;
271 {{VTH0_U=
_d0_vt((20.0+273.15))*(0.0);
272 VTH0_Is=
_d0_vt((20.0+273.15))*(0.0);
273 VTH0_Ug=
_d0_vt((20.0+273.15))*(0.0);
274 VTH0_N=
_d0_vt((20.0+273.15))*(0.0);
275 VTH0_AREA=
_d0_vt((20.0+273.15))*(0.0);
276 VTH0_TJ=
_d0_vt((20.0+273.15))*(0.0);
277 VTH0_TNOM=
_d0_vt((20.0+273.15))*(0.0);
278 VTH0=
_vt((20.0+273.15));
280 {VTHNOM_U=
_d0_vt((TNOM+273.15))*(0.0);
281 VTHNOM_Is=
_d0_vt((TNOM+273.15))*(0.0);
282 VTHNOM_Ug=
_d0_vt((TNOM+273.15))*(0.0);
283 VTHNOM_N=
_d0_vt((TNOM+273.15))*(0.0);
284 VTHNOM_AREA=
_d0_vt((TNOM+273.15))*(0.0);
285 VTHNOM_TJ=
_d0_vt((TNOM+273.15))*(0.0);
286 VTHNOM_TNOM=
_d0_vt((TNOM+273.15))*(1.0);
287 VTHNOM=
_vt((TNOM+273.15));
296 KDURCHQ=0.861708692e-4;
299 lnIs_Is=
_d0_logE((Is*AREA))*((AREA));
302 lnIs_AREA=
_d0_logE((Is*AREA))*((Is));
304 lnIs_TNOM=
_d0_logE((Is*AREA))*(0.0);
305 lnIs=
_logE((Is*AREA));
316 if(((maxi<(Ug/VTHNOM))&&(U<0.0)))
317 {{Tmax_U=((Ug*VTHNOM_U)*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((-((maxi_U*VTHNOM)+(maxi*VTHNOM_U)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_U)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
318 Tmax_Is=((Ug*VTHNOM_Is)*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((-((maxi_Is*VTHNOM)+(maxi*VTHNOM_Is)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_Is)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
319 Tmax_Ug=((VTHNOM+(VTHNOM_Ug*Ug))*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((1.0-((maxi_Ug*VTHNOM)+(maxi*VTHNOM_Ug)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_Ug)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
320 Tmax_N=((Ug*VTHNOM_N)*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((-((maxi_N*VTHNOM)+(maxi*VTHNOM_N)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_N)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
321 Tmax_AREA=((Ug*VTHNOM_AREA)*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((-((maxi_AREA*VTHNOM)+(maxi*VTHNOM_AREA)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_AREA)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
322 Tmax_TJ=((Ug*VTHNOM_TJ)*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((-((maxi_TJ*VTHNOM)+(maxi*VTHNOM_TJ)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_TJ)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
323 Tmax_TNOM=((Ug*VTHNOM_TNOM)*((Ug-(maxi*VTHNOM))*KDURCHQ)-(Ug*VTHNOM)*(((-((maxi_TNOM*VTHNOM)+(maxi*VTHNOM_TNOM)))*KDURCHQ)+((Ug-(maxi*VTHNOM))*KDURCHQ_TNOM)))/(((Ug-(maxi*VTHNOM))*KDURCHQ)*((Ug-(maxi*VTHNOM))*KDURCHQ));
324 Tmax=(((Ug*VTHNOM)/((Ug-(maxi*VTHNOM))*KDURCHQ))-273.15);
330 TJM_AREA=
HBT_X_d_Vt(TJ,Tmax,(0.0),(Tmax_AREA));
332 TJM_TNOM=
HBT_X_d_Vt(TJ,Tmax,(0.0),(Tmax_TNOM));
345 }{VTHJ_U=
_d0_vt((TJM+273.15))*(TJM_U);
346 VTHJ_Is=
_d0_vt((TJM+273.15))*(TJM_Is);
347 VTHJ_Ug=
_d0_vt((TJM+273.15))*(TJM_Ug);
348 VTHJ_N=
_d0_vt((TJM+273.15))*(TJM_N);
349 VTHJ_AREA=
_d0_vt((TJM+273.15))*(TJM_AREA);
350 VTHJ_TJ=
_d0_vt((TJM+273.15))*(TJM_TJ);
351 VTHJ_TNOM=
_d0_vt((TJM+273.15))*(TJM_TNOM);
352 VTHJ=
_vt((TJM+273.15));
355 {{diode_U=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((((N*VTHJ)-(U*(N*VTHJ_U)))/((N*VTHJ)*(N*VTHJ)))+(-(Ug*VTHNOM_U)/(VTHNOM*VTHNOM)))-(-(Ug*VTHJ_U)/(VTHJ*VTHJ)))+lnIs_U)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),((((-(Ug*VTHNOM_U)/(VTHNOM*VTHNOM))-(-(Ug*VTHJ_U)/(VTHJ*VTHJ)))+lnIs_U))));
356 diode_Is=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((-(U*(N*VTHJ_Is))/((N*VTHJ)*(N*VTHJ)))+(-(Ug*VTHNOM_Is)/(VTHNOM*VTHNOM)))-(-(Ug*VTHJ_Is)/(VTHJ*VTHJ)))+lnIs_Is)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),((((-(Ug*VTHNOM_Is)/(VTHNOM*VTHNOM))-(-(Ug*VTHJ_Is)/(VTHJ*VTHJ)))+lnIs_Is))));
357 diode_Ug=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((-(U*(N*VTHJ_Ug))/((N*VTHJ)*(N*VTHJ)))+((VTHNOM-(Ug*VTHNOM_Ug))/(VTHNOM*VTHNOM)))-((VTHJ-(Ug*VTHJ_Ug))/(VTHJ*VTHJ)))+lnIs_Ug)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),(((((VTHNOM-(Ug*VTHNOM_Ug))/(VTHNOM*VTHNOM))-((VTHJ-(Ug*VTHJ_Ug))/(VTHJ*VTHJ)))+lnIs_Ug))));
358 diode_N=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((-(U*(VTHJ+(VTHJ_N*N)))/((N*VTHJ)*(N*VTHJ)))+(-(Ug*VTHNOM_N)/(VTHNOM*VTHNOM)))-(-(Ug*VTHJ_N)/(VTHJ*VTHJ)))+lnIs_N)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),((((-(Ug*VTHNOM_N)/(VTHNOM*VTHNOM))-(-(Ug*VTHJ_N)/(VTHJ*VTHJ)))+lnIs_N))));
359 diode_AREA=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((-(U*(N*VTHJ_AREA))/((N*VTHJ)*(N*VTHJ)))+(-(Ug*VTHNOM_AREA)/(VTHNOM*VTHNOM)))-(-(Ug*VTHJ_AREA)/(VTHJ*VTHJ)))+lnIs_AREA)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),((((-(Ug*VTHNOM_AREA)/(VTHNOM*VTHNOM))-(-(Ug*VTHJ_AREA)/(VTHJ*VTHJ)))+lnIs_AREA))));
360 diode_TJ=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((-(U*(N*VTHJ_TJ))/((N*VTHJ)*(N*VTHJ)))+(-(Ug*VTHNOM_TJ)/(VTHNOM*VTHNOM)))-(-(Ug*VTHJ_TJ)/(VTHJ*VTHJ)))+lnIs_TJ)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),((((-(Ug*VTHNOM_TJ)/(VTHNOM*VTHNOM))-(-(Ug*VTHJ_TJ)/(VTHJ*VTHJ)))+lnIs_TJ))));
361 diode_TNOM=(
HBT_X_d_exp_soft(((((U/(N*VTHJ))+(Ug/VTHNOM))-(Ug/VTHJ))+lnIs),(((((-(U*(N*VTHJ_TNOM))/((N*VTHJ)*(N*VTHJ)))+(-(Ug*VTHNOM_TNOM)/(VTHNOM*VTHNOM)))-(-(Ug*VTHJ_TNOM)/(VTHJ*VTHJ)))+lnIs_TNOM)))-
HBT_X_d_exp_soft((((Ug/VTHNOM)-(Ug/VTHJ))+lnIs),((((-(Ug*VTHNOM_TNOM)/(VTHNOM*VTHNOM))-(-(Ug*VTHJ_TNOM)/(VTHJ*VTHJ)))+lnIs_TNOM))));
365 {{diode_U=
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((((N*VTH0)-(U*(N*VTH0_U)))/((N*VTH0)*(N*VTH0)))+lnIs_U)));
366 diode_Is=(
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((-(U*(N*VTH0_Is))/((N*VTH0)*(N*VTH0)))+lnIs_Is)))-(AREA));
367 diode_Ug=
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((-(U*(N*VTH0_Ug))/((N*VTH0)*(N*VTH0)))+lnIs_Ug)));
368 diode_N=
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((-(U*(VTH0+(VTH0_N*N)))/((N*VTH0)*(N*VTH0)))+lnIs_N)));
369 diode_AREA=(
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((-(U*(N*VTH0_AREA))/((N*VTH0)*(N*VTH0)))+lnIs_AREA)))-(Is));
370 diode_TJ=
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((-(U*(N*VTH0_TJ))/((N*VTH0)*(N*VTH0)))+lnIs_TJ)));
371 diode_TNOM=
HBT_X_d_exp_soft(((U/(N*VTH0))+lnIs),(((-(U*(N*VTH0_TNOM))/((N*VTH0)*(N*VTH0)))+lnIs_TNOM)));
375 return diode_U*d_U+diode_Is*d_Is+diode_Ug*d_Ug+diode_N*d_N+diode_AREA*d_AREA+diode_TJ*d_TJ+diode_TNOM*d_TNOM;
381 double HBT_X_MM (
double VBCI,
double VCBO,
double MC,
double VCBLIN,
double BF,
double KC)
386 {
if((((KC>0.0)&&(MC>0.0))&&(VCBO>0.0)))
394 MM=(1.0/(1.0-(vcbi/(-VCBO))));
396 MM=(1.0/(1.0-
_pow((vcbi/(-VCBO)),MC)));
398 if((VBCI<=(-VCBLIN)))
400 {MM=((1.0/(1.0-FBD))-((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi+(FBD*VCBO))));
402 {MM=((1.0/(1.0-
_pow(FBD,MC)))-((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO))));
408 double HBT_X_d_MM (
double VBCI,
double VCBO,
double MC,
double VCBLIN,
double BF,
double KC,
double d_VBCI,
double d_VCBO,
double d_MC,
double d_VCBLIN,
double d_BF,
double d_KC)
414 double MM_VCBLIN=0.0;
421 double FBD_VCBLIN=0.0;
425 double vcbi_VBCI=0.0;
426 double vcbi_VCBO=0.0;
428 double vcbi_VCBLIN=0.0;
431 {
if((((KC>0.0)&&(MC>0.0))&&(VCBO>0.0)))
441 FBD_VCBO=(-VCBLIN/(VCBO*VCBO));
460 {MM_VBCI=(-(-vcbi_VBCI/(-VCBO))/((1.0-(vcbi/(-VCBO)))*(1.0-(vcbi/(-VCBO)))));
461 MM_VCBO=(-(-vcbi_VCBO/(-VCBO))/((1.0-(vcbi/(-VCBO)))*(1.0-(vcbi/(-VCBO)))));
462 MM_MC=(-(-vcbi_MC/(-VCBO))/((1.0-(vcbi/(-VCBO)))*(1.0-(vcbi/(-VCBO)))));
463 MM_VCBLIN=(-(-vcbi_VCBLIN/(-VCBO))/((1.0-(vcbi/(-VCBO)))*(1.0-(vcbi/(-VCBO)))));
464 MM_BF=(-(-vcbi_BF/(-VCBO))/((1.0-(vcbi/(-VCBO)))*(1.0-(vcbi/(-VCBO)))));
465 MM_KC=(-(-vcbi_KC/(-VCBO))/((1.0-(vcbi/(-VCBO)))*(1.0-(vcbi/(-VCBO)))));
466 MM=(1.0/(1.0-(vcbi/(-VCBO))));
469 {MM_VBCI=(-(-
_d0_pow((vcbi/(-VCBO)),MC)*(vcbi_VBCI/(-VCBO))+
_d1_pow((vcbi/(-VCBO)),MC)*(0.0))/((1.0-
_pow((vcbi/(-VCBO)),MC))*(1.0-
_pow((vcbi/(-VCBO)),MC))));
470 MM_VCBO=(-(-
_d0_pow((vcbi/(-VCBO)),MC)*(vcbi_VCBO/(-VCBO))+
_d1_pow((vcbi/(-VCBO)),MC)*(0.0))/((1.0-
_pow((vcbi/(-VCBO)),MC))*(1.0-
_pow((vcbi/(-VCBO)),MC))));
471 MM_MC=(-(-
_d0_pow((vcbi/(-VCBO)),MC)*(vcbi_MC/(-VCBO))+
_d1_pow((vcbi/(-VCBO)),MC)*(1.0))/((1.0-
_pow((vcbi/(-VCBO)),MC))*(1.0-
_pow((vcbi/(-VCBO)),MC))));
472 MM_VCBLIN=(-(-
_d0_pow((vcbi/(-VCBO)),MC)*(vcbi_VCBLIN/(-VCBO))+
_d1_pow((vcbi/(-VCBO)),MC)*(0.0))/((1.0-
_pow((vcbi/(-VCBO)),MC))*(1.0-
_pow((vcbi/(-VCBO)),MC))));
473 MM_BF=(-(-
_d0_pow((vcbi/(-VCBO)),MC)*(vcbi_BF/(-VCBO))+
_d1_pow((vcbi/(-VCBO)),MC)*(0.0))/((1.0-
_pow((vcbi/(-VCBO)),MC))*(1.0-
_pow((vcbi/(-VCBO)),MC))));
474 MM_KC=(-(-
_d0_pow((vcbi/(-VCBO)),MC)*(vcbi_KC/(-VCBO))+
_d1_pow((vcbi/(-VCBO)),MC)*(0.0))/((1.0-
_pow((vcbi/(-VCBO)),MC))*(1.0-
_pow((vcbi/(-VCBO)),MC))));
475 MM=(1.0/(1.0-
_pow((vcbi/(-VCBO)),MC)));
478 if((VBCI<=(-VCBLIN)))
480 {{MM_VBCI=((-(-FBD_VBCI)/((1.0-FBD)*(1.0-FBD)))-(((-(((1.0/VCBO)*1.0)*
_d0_pow((1.0-FBD),2.0)*((-FBD_VBCI))+
_d1_pow((1.0-FBD),2.0)*(0.0))/(
_pow((1.0-FBD),2.0)*
_pow((1.0-FBD),2.0)))*(vcbi+(FBD*VCBO)))+((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi_VBCI+FBD_VBCI*VCBO))));
481 MM_VCBO=((-(-FBD_VCBO)/((1.0-FBD)*(1.0-FBD)))-((((-1/(VCBO*VCBO))*1.0*
_pow((1.0-FBD),2.0)-((1.0/VCBO)*1.0)*
_d0_pow((1.0-FBD),2.0)*((-FBD_VCBO))+
_d1_pow((1.0-FBD),2.0)*(0.0))/(
_pow((1.0-FBD),2.0)*
_pow((1.0-FBD),2.0))*(vcbi+(FBD*VCBO)))+((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi_VCBO+(FBD_VCBO*VCBO)+FBD))));
482 MM_MC=((-(-FBD_MC)/((1.0-FBD)*(1.0-FBD)))-(((-(((1.0/VCBO)*1.0)*
_d0_pow((1.0-FBD),2.0)*((-FBD_MC))+
_d1_pow((1.0-FBD),2.0)*(0.0))/(
_pow((1.0-FBD),2.0)*
_pow((1.0-FBD),2.0)))*(vcbi+(FBD*VCBO)))+((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi_MC+FBD_MC*VCBO))));
483 MM_VCBLIN=((-(-FBD_VCBLIN)/((1.0-FBD)*(1.0-FBD)))-(((-(((1.0/VCBO)*1.0)*
_d0_pow((1.0-FBD),2.0)*((-FBD_VCBLIN))+
_d1_pow((1.0-FBD),2.0)*(0.0))/(
_pow((1.0-FBD),2.0)*
_pow((1.0-FBD),2.0)))*(vcbi+(FBD*VCBO)))+((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi_VCBLIN+FBD_VCBLIN*VCBO))));
484 MM_BF=((-(-FBD_BF)/((1.0-FBD)*(1.0-FBD)))-(((-(((1.0/VCBO)*1.0)*
_d0_pow((1.0-FBD),2.0)*((-FBD_BF))+
_d1_pow((1.0-FBD),2.0)*(0.0))/(
_pow((1.0-FBD),2.0)*
_pow((1.0-FBD),2.0)))*(vcbi+(FBD*VCBO)))+((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi_BF+FBD_BF*VCBO))));
485 MM_KC=((-(-FBD_KC)/((1.0-FBD)*(1.0-FBD)))-(((-(((1.0/VCBO)*1.0)*
_d0_pow((1.0-FBD),2.0)*((-FBD_KC))+
_d1_pow((1.0-FBD),2.0)*(0.0))/(
_pow((1.0-FBD),2.0)*
_pow((1.0-FBD),2.0)))*(vcbi+(FBD*VCBO)))+((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi_KC+FBD_KC*VCBO))));
486 MM=((1.0/(1.0-FBD))-((((1.0/VCBO)*1.0)/
_pow((1.0-FBD),2.0))*(vcbi+(FBD*VCBO))));
489 {{MM_VBCI=((-(-
_d0_pow(FBD,MC)*(FBD_VBCI)+
_d1_pow(FBD,MC)*(0.0))/((1.0-
_pow(FBD,MC))*(1.0-
_pow(FBD,MC))))-(((((MC/VCBO)*
_d0_pow(FBD,(MC-1.0))*(FBD_VBCI)+
_d1_pow(FBD,(MC-1.0))*(0.0))*
_pow((1.0-
_pow(FBD,MC)),2.0)-((MC/VCBO)*
_pow(FBD,(MC-1.0)))*
_d0_pow((1.0-
_pow(FBD,MC)),2.0)*((-
_d0_pow(FBD,MC)*(FBD_VBCI)+
_d1_pow(FBD,MC)*(0.0)))+
_d1_pow((1.0-
_pow(FBD,MC)),2.0)*(0.0))/(
_pow((1.0-
_pow(FBD,MC)),2.0)*
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO)))+((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi_VBCI+FBD_VBCI*VCBO))));
490 MM_VCBO=((-(-
_d0_pow(FBD,MC)*(FBD_VCBO)+
_d1_pow(FBD,MC)*(0.0))/((1.0-
_pow(FBD,MC))*(1.0-
_pow(FBD,MC))))-((((((-MC/(VCBO*VCBO))*
_pow(FBD,(MC-1.0)))+((MC/VCBO)*
_d0_pow(FBD,(MC-1.0))*(FBD_VCBO)+
_d1_pow(FBD,(MC-1.0))*(0.0)))*
_pow((1.0-
_pow(FBD,MC)),2.0)-((MC/VCBO)*
_pow(FBD,(MC-1.0)))*
_d0_pow((1.0-
_pow(FBD,MC)),2.0)*((-
_d0_pow(FBD,MC)*(FBD_VCBO)+
_d1_pow(FBD,MC)*(0.0)))+
_d1_pow((1.0-
_pow(FBD,MC)),2.0)*(0.0))/(
_pow((1.0-
_pow(FBD,MC)),2.0)*
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO)))+((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi_VCBO+(FBD_VCBO*VCBO)+FBD))));
491 MM_MC=((-(-
_d0_pow(FBD,MC)*(FBD_MC)+
_d1_pow(FBD,MC)*(1.0))/((1.0-
_pow(FBD,MC))*(1.0-
_pow(FBD,MC))))-((((((1/VCBO)*
_pow(FBD,(MC-1.0)))+((MC/VCBO)*
_d0_pow(FBD,(MC-1.0))*(FBD_MC)+
_d1_pow(FBD,(MC-1.0))*(1.0)))*
_pow((1.0-
_pow(FBD,MC)),2.0)-((MC/VCBO)*
_pow(FBD,(MC-1.0)))*
_d0_pow((1.0-
_pow(FBD,MC)),2.0)*((-
_d0_pow(FBD,MC)*(FBD_MC)+
_d1_pow(FBD,MC)*(1.0)))+
_d1_pow((1.0-
_pow(FBD,MC)),2.0)*(0.0))/(
_pow((1.0-
_pow(FBD,MC)),2.0)*
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO)))+((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi_MC+FBD_MC*VCBO))));
492 MM_VCBLIN=((-(-
_d0_pow(FBD,MC)*(FBD_VCBLIN)+
_d1_pow(FBD,MC)*(0.0))/((1.0-
_pow(FBD,MC))*(1.0-
_pow(FBD,MC))))-(((((MC/VCBO)*
_d0_pow(FBD,(MC-1.0))*(FBD_VCBLIN)+
_d1_pow(FBD,(MC-1.0))*(0.0))*
_pow((1.0-
_pow(FBD,MC)),2.0)-((MC/VCBO)*
_pow(FBD,(MC-1.0)))*
_d0_pow((1.0-
_pow(FBD,MC)),2.0)*((-
_d0_pow(FBD,MC)*(FBD_VCBLIN)+
_d1_pow(FBD,MC)*(0.0)))+
_d1_pow((1.0-
_pow(FBD,MC)),2.0)*(0.0))/(
_pow((1.0-
_pow(FBD,MC)),2.0)*
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO)))+((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi_VCBLIN+FBD_VCBLIN*VCBO))));
493 MM_BF=((-(-
_d0_pow(FBD,MC)*(FBD_BF)+
_d1_pow(FBD,MC)*(0.0))/((1.0-
_pow(FBD,MC))*(1.0-
_pow(FBD,MC))))-(((((MC/VCBO)*
_d0_pow(FBD,(MC-1.0))*(FBD_BF)+
_d1_pow(FBD,(MC-1.0))*(0.0))*
_pow((1.0-
_pow(FBD,MC)),2.0)-((MC/VCBO)*
_pow(FBD,(MC-1.0)))*
_d0_pow((1.0-
_pow(FBD,MC)),2.0)*((-
_d0_pow(FBD,MC)*(FBD_BF)+
_d1_pow(FBD,MC)*(0.0)))+
_d1_pow((1.0-
_pow(FBD,MC)),2.0)*(0.0))/(
_pow((1.0-
_pow(FBD,MC)),2.0)*
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO)))+((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi_BF+FBD_BF*VCBO))));
494 MM_KC=((-(-
_d0_pow(FBD,MC)*(FBD_KC)+
_d1_pow(FBD,MC)*(0.0))/((1.0-
_pow(FBD,MC))*(1.0-
_pow(FBD,MC))))-(((((MC/VCBO)*
_d0_pow(FBD,(MC-1.0))*(FBD_KC)+
_d1_pow(FBD,(MC-1.0))*(0.0))*
_pow((1.0-
_pow(FBD,MC)),2.0)-((MC/VCBO)*
_pow(FBD,(MC-1.0)))*
_d0_pow((1.0-
_pow(FBD,MC)),2.0)*((-
_d0_pow(FBD,MC)*(FBD_KC)+
_d1_pow(FBD,MC)*(0.0)))+
_d1_pow((1.0-
_pow(FBD,MC)),2.0)*(0.0))/(
_pow((1.0-
_pow(FBD,MC)),2.0)*
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO)))+((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi_KC+FBD_KC*VCBO))));
495 MM=((1.0/(1.0-
_pow(FBD,MC)))-((((MC/VCBO)*
_pow(FBD,(MC-1.0)))/
_pow((1.0-
_pow(FBD,MC)),2.0))*(vcbi+(FBD*VCBO))));
507 return MM_VBCI*d_VBCI+MM_VCBO*d_VCBO+MM_MC*d_MC+MM_VCBLIN*d_VCBLIN+MM_BF*d_BF+MM_KC*d_KC;
523 {charge=((Area*
C0)*((Ud*(
_logE((1.0-(Vjo/Ud)))-
_logE((1.0-(Vj/Ud)))))+((1.0/(1.0-(VF/Ud)))*((U-Vj)+Vjo))));
525 {charge=((Area*
C0)*((((Ud/(1.0-m))*(
_pow((1.0-(Vjo/Ud)),(1.0-m))-
_pow((1.0-(Vj/Ud)),(1.0-m))))+(
_pow((1.0-(VF/Ud)),(-m))*((U-Vj)+Vjo)))-(Ud*(1.0/(1.0-m)))));
529 double HBT_X_d_charge (
double U,
double C0,
double Ud,
double m,
double Area,
double d_U,
double d_C0,
double d_Ud,
double d_m,
double d_Area)
533 double charge_C0=0.0;
534 double charge_Ud=0.0;
536 double charge_Area=0.0;
577 {{charge_U=((Area*
C0)*((Ud*(
_d0_logE((1.0-(Vjo/Ud)))*((-Vjo_U/Ud))-
_d0_logE((1.0-(Vj/Ud)))*((-Vj_U/Ud))))+(((-(-VF_U/Ud)/((1.0-(VF/Ud))*(1.0-(VF/Ud))))*((U-Vj)+Vjo))+((1.0/(1.0-(VF/Ud)))*((1.0-Vj_U)+Vjo_U)))));
578 charge_C0=(((Area)*((Ud*(
_logE((1.0-(Vjo/Ud)))-
_logE((1.0-(Vj/Ud)))))+((1.0/(1.0-(VF/Ud)))*((U-Vj)+Vjo))))+((Area*
C0)*((Ud*(
_d0_logE((1.0-(Vjo/Ud)))*((-Vjo_C0/Ud))-
_d0_logE((1.0-(Vj/Ud)))*((-Vj_C0/Ud))))+(((-(-VF_C0/Ud)/((1.0-(VF/Ud))*(1.0-(VF/Ud))))*((U-Vj)+Vjo))+((1.0/(1.0-(VF/Ud)))*((-Vj_C0)+Vjo_C0))))));
579 charge_Ud=((Area*
C0)*(((
_logE((1.0-(Vjo/Ud)))-
_logE((1.0-(Vj/Ud))))+((
_d0_logE((1.0-(Vjo/Ud)))*((-((Vjo_Ud*Ud)-Vjo)/(Ud*Ud)))-
_d0_logE((1.0-(Vj/Ud)))*((-((Vj_Ud*Ud)-Vj)/(Ud*Ud))))*Ud))+(((-(-((VF_Ud*Ud)-VF)/(Ud*Ud))/((1.0-(VF/Ud))*(1.0-(VF/Ud))))*((U-Vj)+Vjo))+((1.0/(1.0-(VF/Ud)))*((-Vj_Ud)+Vjo_Ud)))));
580 charge_m=((Area*
C0)*((Ud*(
_d0_logE((1.0-(Vjo/Ud)))*((-Vjo_m/Ud))-
_d0_logE((1.0-(Vj/Ud)))*((-Vj_m/Ud))))+(((-(-VF_m/Ud)/((1.0-(VF/Ud))*(1.0-(VF/Ud))))*((U-Vj)+Vjo))+((1.0/(1.0-(VF/Ud)))*((-Vj_m)+Vjo_m)))));
581 charge_Area=(((
C0)*((Ud*(
_logE((1.0-(Vjo/Ud)))-
_logE((1.0-(Vj/Ud)))))+((1.0/(1.0-(VF/Ud)))*((U-Vj)+Vjo))))+((Area*
C0)*((Ud*(
_d0_logE((1.0-(Vjo/Ud)))*((-Vjo_Area/Ud))-
_d0_logE((1.0-(Vj/Ud)))*((-Vj_Area/Ud))))+(((-(-VF_Area/Ud)/((1.0-(VF/Ud))*(1.0-(VF/Ud))))*((U-Vj)+Vjo))+((1.0/(1.0-(VF/Ud)))*((-Vj_Area)+Vjo_Area))))));
582 charge=((Area*
C0)*((Ud*(
_logE((1.0-(Vjo/Ud)))-
_logE((1.0-(Vj/Ud)))))+((1.0/(1.0-(VF/Ud)))*((U-Vj)+Vjo))));
585 {{charge_U=((Area*
C0)*(((Ud/(1.0-m))*(
_d0_pow((1.0-(Vjo/Ud)),(1.0-m))*((-Vjo_U/Ud))+
_d1_pow((1.0-(Vjo/Ud)),(1.0-m))*(0.0)-
_d0_pow((1.0-(Vj/Ud)),(1.0-m))*((-Vj_U/Ud))+
_d1_pow((1.0-(Vj/Ud)),(1.0-m))*(0.0)))+((
_d0_pow((1.0-(VF/Ud)),(-m))*((-VF_U/Ud))+
_d1_pow((1.0-(VF/Ud)),(-m))*(0.0)*((U-Vj)+Vjo))+(
_pow((1.0-(VF/Ud)),(-m))*((1.0-Vj_U)+Vjo_U)))));
586 charge_C0=(((Area)*((((Ud/(1.0-m))*(
_pow((1.0-(Vjo/Ud)),(1.0-m))-
_pow((1.0-(Vj/Ud)),(1.0-m))))+(
_pow((1.0-(VF/Ud)),(-m))*((U-Vj)+Vjo)))-(Ud*(1.0/(1.0-m)))))+((Area*
C0)*(((Ud/(1.0-m))*(
_d0_pow((1.0-(Vjo/Ud)),(1.0-m))*((-Vjo_C0/Ud))+
_d1_pow((1.0-(Vjo/Ud)),(1.0-m))*(0.0)-
_d0_pow((1.0-(Vj/Ud)),(1.0-m))*((-Vj_C0/Ud))+
_d1_pow((1.0-(Vj/Ud)),(1.0-m))*(0.0)))+((
_d0_pow((1.0-(VF/Ud)),(-m))*((-VF_C0/Ud))+
_d1_pow((1.0-(VF/Ud)),(-m))*(0.0)*((U-Vj)+Vjo))+(
_pow((1.0-(VF/Ud)),(-m))*((-Vj_C0)+Vjo_C0))))));
587 charge_Ud=((Area*
C0)*(((((1/(1.0-m))*(
_pow((1.0-(Vjo/Ud)),(1.0-m))-
_pow((1.0-(Vj/Ud)),(1.0-m))))+((Ud/(1.0-m))*(
_d0_pow((1.0-(Vjo/Ud)),(1.0-m))*((-((Vjo_Ud*Ud)-Vjo)/(Ud*Ud)))+
_d1_pow((1.0-(Vjo/Ud)),(1.0-m))*(0.0)-
_d0_pow((1.0-(Vj/Ud)),(1.0-m))*((-((Vj_Ud*Ud)-Vj)/(Ud*Ud)))+
_d1_pow((1.0-(Vj/Ud)),(1.0-m))*(0.0))))+((
_d0_pow((1.0-(VF/Ud)),(-m))*((-((VF_Ud*Ud)-VF)/(Ud*Ud)))+
_d1_pow((1.0-(VF/Ud)),(-m))*(0.0)*((U-Vj)+Vjo))+(
_pow((1.0-(VF/Ud)),(-m))*((-Vj_Ud)+Vjo_Ud))))-((1.0/(1.0-m)))));
588 charge_m=((Area*
C0)*(((((-(Ud*(-1.0))/((1.0-m)*(1.0-m)))*(
_pow((1.0-(Vjo/Ud)),(1.0-m))-
_pow((1.0-(Vj/Ud)),(1.0-m))))+((Ud/(1.0-m))*(
_d0_pow((1.0-(Vjo/Ud)),(1.0-m))*((-Vjo_m/Ud))+
_d1_pow((1.0-(Vjo/Ud)),(1.0-m))*((-1.0))-
_d0_pow((1.0-(Vj/Ud)),(1.0-m))*((-Vj_m/Ud))+
_d1_pow((1.0-(Vj/Ud)),(1.0-m))*((-1.0)))))+((
_d0_pow((1.0-(VF/Ud)),(-m))*((-VF_m/Ud))+
_d1_pow((1.0-(VF/Ud)),(-m))*(0.0)*((U-Vj)+Vjo))+(
_pow((1.0-(VF/Ud)),(-m))*((-Vj_m)+Vjo_m))))-(Ud*(-(-1.0)/((1.0-m)*(1.0-m))))));
589 charge_Area=(((
C0)*((((Ud/(1.0-m))*(
_pow((1.0-(Vjo/Ud)),(1.0-m))-
_pow((1.0-(Vj/Ud)),(1.0-m))))+(
_pow((1.0-(VF/Ud)),(-m))*((U-Vj)+Vjo)))-(Ud*(1.0/(1.0-m)))))+((Area*
C0)*(((Ud/(1.0-m))*(
_d0_pow((1.0-(Vjo/Ud)),(1.0-m))*((-Vjo_Area/Ud))+
_d1_pow((1.0-(Vjo/Ud)),(1.0-m))*(0.0)-
_d0_pow((1.0-(Vj/Ud)),(1.0-m))*((-Vj_Area/Ud))+
_d1_pow((1.0-(Vj/Ud)),(1.0-m))*(0.0)))+((
_d0_pow((1.0-(VF/Ud)),(-m))*((-VF_Area/Ud))+
_d1_pow((1.0-(VF/Ud)),(-m))*(0.0)*((U-Vj)+Vjo))+(
_pow((1.0-(VF/Ud)),(-m))*((-Vj_Area)+Vjo_Area))))));
590 charge=((Area*
C0)*((((Ud/(1.0-m))*(
_pow((1.0-(Vjo/Ud)),(1.0-m))-
_pow((1.0-(Vj/Ud)),(1.0-m))))+(
_pow((1.0-(VF/Ud)),(-m))*((U-Vj)+Vjo)))-(Ud*(1.0/(1.0-m)))));
593 return charge_U*d_U+charge_C0*d_C0+charge_Ud*d_Ud+charge_m*d_m+charge_Area*d_Area;
605 Vceff=(Vth0+(Vth0*
_logE((1.0+
_exp((((U-VCES)/Vth0)-1.0))))));
607 Vceff=((U-VCES)+(Vth0*
_logE((1.0+
_exp((1.0-((U-VCES)/Vth0)))))));
615 double Vceff_VCES=0.0;
618 double Vth0_VCES=0.0;
624 {Vceff_U=(Vth0_U+((Vth0_U*
_logE((1.0+
_exp((((U-VCES)/Vth0)-1.0)))))+(Vth0*
_d0_logE((1.0+
_exp((((U-VCES)/Vth0)-1.0))))*((+
_d0_exp((((U-VCES)/Vth0)-1.0))*(((Vth0-((U-VCES)*Vth0_U))/(Vth0*Vth0))))))));
625 Vceff_VCES=(Vth0_VCES+((Vth0_VCES*
_logE((1.0+
_exp((((U-VCES)/Vth0)-1.0)))))+(Vth0*
_d0_logE((1.0+
_exp((((U-VCES)/Vth0)-1.0))))*((+
_d0_exp((((U-VCES)/Vth0)-1.0))*(((-1.0)*Vth0-(U-VCES)*Vth0_VCES)/(Vth0*Vth0)))))));
626 Vceff=(Vth0+(Vth0*
_logE((1.0+
_exp((((U-VCES)/Vth0)-1.0))))));
629 {Vceff_U=(1.0+((Vth0_U*
_logE((1.0+
_exp((1.0-((U-VCES)/Vth0))))))+(Vth0*
_d0_logE((1.0+
_exp((1.0-((U-VCES)/Vth0)))))*((+
_d0_exp((1.0-((U-VCES)/Vth0)))*((-((Vth0-((U-VCES)*Vth0_U))/(Vth0*Vth0)))))))));
630 Vceff_VCES=((-1.0)+((Vth0_VCES*
_logE((1.0+
_exp((1.0-((U-VCES)/Vth0))))))+(Vth0*
_d0_logE((1.0+
_exp((1.0-((U-VCES)/Vth0)))))*((+
_d0_exp((1.0-((U-VCES)/Vth0)))*((-((-1.0)*Vth0-(U-VCES)*Vth0_VCES)/(Vth0*Vth0))))))));
631 Vceff=((U-VCES)+(Vth0*
_logE((1.0+
_exp((1.0-((U-VCES)/Vth0)))))));
634 return Vceff_U*d_U+Vceff_VCES*d_VCES;
640 double HBT_X_ICK (
double U,
double RCI0,
double VLIM,
double InvVPT,
double VCES)
646 x=((VC-VLIM)*InvVPT);
647 ICK=(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)));
651 double HBT_X_d_ICK (
double U,
double RCI0,
double VLIM,
double InvVPT,
double VCES,
double d_U,
double d_RCI0,
double d_VLIM,
double d_InvVPT,
double d_VCES)
657 double ICK_InvVPT=0.0;
663 double VC_InvVPT=0.0;
679 x_RCI0=VC_RCI0*InvVPT;
680 x_VLIM=(VC_VLIM-1.0)*InvVPT;
681 x_InvVPT=(VC_InvVPT*InvVPT)+(VC-VLIM);
682 x_VCES=VC_VCES*InvVPT;
683 x=((VC-VLIM)*InvVPT);
685 {ICK_U=((((VC_U/RCI0*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))+((VC/RCI0)*(-
_d0_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*((+((VC_U/VLIM*(VC/VLIM))+((VC/VLIM)*VC_U/VLIM))))/(
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)))+(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(+(x_U+
_d0_sqrt(((x*x)+0.001))*(((x_U*
x)+(x*x_U))))/2.0)));
686 ICK_RCI0=((((((VC_RCI0*RCI0)-VC)/(RCI0*RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))+((VC/RCI0)*(-
_d0_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*((+((VC_RCI0/VLIM*(VC/VLIM))+((VC/VLIM)*VC_RCI0/VLIM))))/(
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)))+(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(+(x_RCI0+
_d0_sqrt(((x*x)+0.001))*(((x_RCI0*
x)+(x*x_RCI0))))/2.0)));
687 ICK_VLIM=((((VC_VLIM/RCI0*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))+((VC/RCI0)*(-
_d0_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*((+((((VC_VLIM*VLIM)-VC)/(VLIM*VLIM)*(VC/VLIM))+((VC/VLIM)*((VC_VLIM*VLIM)-VC)/(VLIM*VLIM)))))/(
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)))+(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(+(x_VLIM+
_d0_sqrt(((x*x)+0.001))*(((x_VLIM*
x)+(x*x_VLIM))))/2.0)));
688 ICK_InvVPT=((((VC_InvVPT/RCI0*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))+((VC/RCI0)*(-
_d0_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*((+((VC_InvVPT/VLIM*(VC/VLIM))+((VC/VLIM)*VC_InvVPT/VLIM))))/(
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)))+(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(+(x_InvVPT+
_d0_sqrt(((x*x)+0.001))*(((x_InvVPT*
x)+(x*x_InvVPT))))/2.0)));
689 ICK_VCES=((((VC_VCES/RCI0*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))+((VC/RCI0)*(-
_d0_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*((+((VC_VCES/VLIM*(VC/VLIM))+((VC/VLIM)*VC_VCES/VLIM))))/(
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))*
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)))+(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(+(x_VCES+
_d0_sqrt(((x*x)+0.001))*(((x_VCES*
x)+(x*x_VCES))))/2.0)));
690 ICK=(((VC/RCI0)*(1.0/
_sqrt((1.0+((VC/VLIM)*(VC/VLIM))))))*(1.0+((x+
_sqrt(((x*x)+0.001)))/2.0)));
693 return ICK_U*d_U+ICK_RCI0*d_RCI0+ICK_VLIM*d_VLIM+ICK_InvVPT*d_InvVPT+ICK_VCES*d_VCES;