Assume Qc should be renamed qc and then do sum of squares of differences of lhs and rhs
sol=NMinimize[{(R*σ0*(Th^4-T1^4)-F0*Dh)^2+(R*σ0*(T2^4-Tc^4)-F0*Dc)^2, T1> 0&& T2>0}, {T1,T2}]
which promptly returns
{3.6283*^-14, {T1->1504.6217, T2->376.7112}}
Then do this, instead of trying to directly substitute the solution into the original equations because Exp[-111616.] is too small to represent,
{R*σ0 *(Th^4-T1^4), F0*Dh, R*σ0 *(T2^4-Tc^4), F0*Dc}/.sol[[2]]
which instantly returns
{-75346.7562, -75346.7562, 14471.1542, 14471.1542}
You should check the correctness and accuracy of this very carefully. If you change all the approximate decimal constants to exact rationals and use WorkingPrecision->32 in NMinimize then the result is almost the same, but if you push the working precision to 64 then the result is very different, but if you push the working precision to 128 then the result is close to the original again.
Revised to correct my misunderstanding about Qc and qc. My previous method no longer works so use a new method.
Use exact numbers instead of decimal approximations for more precision. Try this without the exact numbers and N[,32] to see that it produces errors and fails. Using other starting points for FindRoot might find other roots.
Th = 1500;Tc = 300;F0 = 25*10^-5;\[Epsilon]0 = 02/10;σ0 = 5670*10^-8;qc=16*10^-20;
R = 212*10^-4;A0 = 12*10^5;kB = 8617*10^-8;wfc = 02/10;V = 1;
I1 = A0*T1^2*Exp[-(wfc + qc*V)/(kB*T1)] ;I2 = A0*T2^2*Exp[-(wfc)/(kB*T2)];
D1 = (wfc/qc + V + (2*kB*T1)/qc)*I1 - (wfc/qc + V + (2*kB*T2)/qc)*I2;
D2 = (wfc/qc + (2*kB*T1)/qc)*I1 - (wfc/qc + (2*kB*T2)/qc)*I2;
Dr = \[Epsilon]0*σ0 *(T1^4 - T2^4);Dh = D1 + Dr;Dc = D2 + Dr;
sol=FindRoot[{R*σ0 *(Th^4 - T1^4)==F0*Dh,R*σ0 *(T2^4 - Tc^4)==F0*Dc},
{{T1,(300+1500)/2},{T2,(300+1500)/2}},WorkingPrecision->32]
(*{T1->1261.8488582892453396952322322512,T2->1261.8488582892453392649506790059}*)
(*Check result*)
N[{R*σ0 *(Th^4 - T1^4)==F0*Dh,R*σ0 *(T2^4 - Tc^4)==F0*Dc}/.sol,32]
(*{True,True}*)
Please check this very carefully
- Take the tour and check the faqs.
- When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign!
- As you receive help, try to give it too, by answering questions in your area of expertise.
– Chris K May 26 '19 at 07:54Iis a built-in symbol, so you can't use it as a variable, hence theSet::wrsymerror. It is better to avoid capitalized variables to be safe, unless you know you're using a free symbol. 2) You defineQcbut useqcin later definitions. Mathematica is case sensitive so these aren't the same. 3) You will probably need to useFindRootto solve this equation numerically. Do you have a good initial guess forT1andT2? – Chris K May 26 '19 at 07:57I = I1 - I2whenIis defined to be Sqrt[-1] and that will worry readers. Thus far I have not found a way to coax MMA closer to any solution. NMinimize sum of squares cannot find anything close to zero. – Bill May 26 '19 at 08:00