Please login with a confirmed email address before reporting spam
Posted:
6 years ago
2 apr 2019, 15:30 GMT-4
Updated:
6 years ago
2 apr 2019, 15:32 GMT-4
FYI
Hi all,
I continue my investigation of the above topic. At least it might help other fellas with similar issue. Here is what I was able to dig out trying to debug the "division by zero" error that I come across in IIG model when using setup described in Case 2 of the above post:
~ERROR:
Failed to find consistent initial values.
Division by zero.
Function: /
Failed to evaluate variable.
Variable: comp1.semi.iig1.alpha p, Defined as: ((((1+(comp1.semi.cpii(comp1.semi.Tl-comp1.semi.iig1.Tref)))comp1.semi.ap)comp1.semi.iig1.Epp)exp((-(((comp1.semi.bp(1+((comp1.semi.Tl-comp1.semi.iig1.Tref)comp1.semi.iig1.dp)))/comp1.semi.iig1.Epp)^2))))
Failed to evaluate expression.
Expression: nojac(comp1.semi.iig1.alpha p)
Failed to evaluate variable.
Variable: comp1.semi.Gii, Defined as: ((-((nojac(comp1.semi.iig1.alpha p)comp1.semi.normJp)+(nojac(comp1.semi.iig1.alpha n)comp1.semi.normJn)))/e const)
Failed to evaluate expression.
Expression: d((e constcomp1.semi.Giitest(comp1.Ne))*(dvol),{test0})
Last time step is not converged.
~EQUATIONS:
Ionization coefficient of electrons/holes:
semi.iig1.alpha_n=semi.an(1+semi.cnii(semi.Tl-semi.iig1.Tref))semi.iig1.Epnexp(-(semi.bn(1+semi.iig1.dn(semi.Tl-semi.iig1.Tref))/semi.iig1.Epn)^2)
semi.iig1.alpha_p=semi.ap(1+semi.cpii(semi.Tl-semi.iig1.Tref))semi.iig1.Eppexp(-(semi.bp(1+semi.iig1.dp(semi.Tl-semi.iig1.Tref))/semi.iig1.Epp)^2)
Component of electric field parallel to electron/hole current density:
semi.iig1.Epn=max(abs(semi.Exsemi.Jnx+semi.Eysemi.Jny+semi.Ezsemi.Jnz)/semi.normJn,0)
semi.iig1.Epp=max(abs(semi.Exsemi.Jpx+semi.Eysemi.Jpy+semi.Ezsemi.Jpz)/semi.normJp,0)
So, I'd speculate that in equation for either "semi.iig1.Epn" & "semi.iig1.Epp" the syntax is as follow:
Epx = max(abs(total_sum)/valX,0)
So, for Epx to be equal to zero 0, the only way I see is valX to be a negative number. E.g. "semi.normJn" and "semi.normJp" must be negative, which to me does not make sense. I've tried putting abs() around "semi.normJn" and "semi.normJp" but the error remains. Also, in equation view table in the IIG model, there is an a threshold value for E=1E5, which I couldn't find where it is specified or why (picture attached*). If anyone has any suggestions regarding the nature of this error or information about where and why is E threshold value defind, it would be much appreciated!
Regards,
John
FYI
Hi all,
I continue my investigation of the above topic. At least it might help other fellas with similar issue. Here is what I was able to dig out trying to debug the "division by zero" error that I come across in IIG model when using setup described in **Case 2** of the above post:
--------------------------------------------------------------------------------------------------------------
**~ERROR:**
Failed to find consistent initial values.
Division by zero.
Function: /
Failed to evaluate variable.
Variable: comp1.semi.iig1.alpha p, Defined as: ((((1+(comp1.semi.cpii*(comp1.semi.Tl-comp1.semi.iig1.Tref)))*comp1.semi.ap)*comp1.semi.iig1.Epp)*exp((-(((comp1.semi.bp*(1+((comp1.semi.Tl-comp1.semi.iig1.Tref)*comp1.semi.iig1.dp)))/comp1.semi.iig1.Epp)^2))))
Failed to evaluate expression.
Expression: nojac(comp1.semi.iig1.alpha p)
Failed to evaluate variable.
Variable: comp1.semi.Gii, Defined as: ((-((nojac(comp1.semi.iig1.alpha p)*comp1.semi.normJp)+(nojac(comp1.semi.iig1.alpha n)*comp1.semi.normJn)))/e const)
Failed to evaluate expression.
Expression: d((e const*comp1.semi.Gii*test(comp1.Ne))*(dvol),{test0})
Last time step is not converged.
---------------------------------------------------------------------------------------------------------------
**~EQUATIONS:**
Ionization coefficient of electrons/holes:
semi.iig1.alpha_n=semi.an*(1+semi.cnii*(semi.Tl-semi.iig1.Tref))*semi.iig1.Epn*exp(-(semi.bn*(1+semi.iig1.dn*(semi.Tl-semi.iig1.Tref))/semi.iig1.Epn)^2)
semi.iig1.alpha_p=semi.ap*(1+semi.cpii*(semi.Tl-semi.iig1.Tref))*semi.iig1.Epp*exp(-(semi.bp*(1+semi.iig1.dp*(semi.Tl-semi.iig1.Tref))/semi.iig1.Epp)^2)
---------------------------------------------------------------------------------------------------------------
Component of electric field parallel to electron/hole current density:
semi.iig1.Epn=max(abs(semi.Ex*semi.Jnx+semi.Ey*semi.Jny+semi.Ez*semi.Jnz)/semi.normJn,0)
semi.iig1.Epp=max(abs(semi.Ex*semi.Jpx+semi.Ey*semi.Jpy+semi.Ez*semi.Jpz)/semi.normJp,0)
---------------------------------------------------------------------------------------------------------------
So, I'd speculate that in equation for either "semi.iig1.Epn" & "semi.iig1.Epp" the syntax is as follow:
Epx = max(abs(total_sum)/valX,0)
So, for Epx to be equal to zero 0, the only way I see is valX to be a negative number. E.g. "semi.normJn" and "semi.normJp" must be negative, which to me does not make sense. I've tried putting abs() around "semi.normJn" and "semi.normJp" but the error remains. Also, in equation view table in the IIG model, there is an a threshold value for E=1E5, which I couldn't find where it is specified or why (picture attached*). If anyone has any suggestions regarding the nature of this error or information about where and why is E threshold value defind, it would be much appreciated!
Regards,
John