I am trying to solve a heat transfer problem related to calculating the cooling rate after quenching a sample.

The equations (and explanations) are taken from this paper: https://sci-hub.se/10.1029/jb091ib04p0d509. The equations to solve are:

enter image description here

where Rn is defined as:

enter image description here

The major problem I am having right now is that I have no idea how to implement in Mathematica an "nth root".


  1. How to implement in Mathematica an "nth root" to calculate Rn?.
  2. How can I calculate the cooling rate equation (equation 8) to get any of the cooling rates from Table 2 below:

enter image description here

Here's my (no working) code with the parameters to obtain the first cooling rate value of the table (260):

density = 2; (*g/cm3*)
Cp = 0.25; (*cal/g*C*)
k = 0.05; (*cal/cm*s*C*)
h = 0.072;(*Heat transfer coefficient for waterin cal/cm2*s*C*)
L = 0.144; (*cm*)
x = 0;
mass = 25(*mg*)
Tsample = 620;(*C*)
Tmedium = 23; (*C*)

alfa = k/(density*Cp);
Fo = alfa*t/L^2

Bi = h*L/k;

Rn = Bi*Cot[Rn]

n = 10000
 rate = (-4 \!\(
\*SubsuperscriptBox[\(\[Sum]\), \(i = 
         1\), \(k\)]\(\((Rn*Sin[Rn]*Cos[Rn*x])\)/\((Rn + 
          Sin[Rn]*Cos[Rn])\)\)\))*Exp[-Rn*Fo]; (*equation 7*)
 , {k, 1, n} ]

crate(*equation 8*)= (Tsample - Tmedium )(*equation 9*)*
  rate(*equation 7*)*alfa/L^2(*equation 10*)

The nth root can be estimated from the common reasons - roots of Cot[x] exist in between (0,Pi) with period equal to Pi. Thus, one can use:

 n=6; (*Root number*)
 Rn = Rn/.FindRoot[Rn==Bi Cot[Rn], {Rn, (n-1+0.00001) Pi, (n-1) Pi, n Pi}];
 Plot[{t, Bi Cot[t]}, {t, 0, n Pi}, 
      Epilog -> {Red, PointSize[Large], Point@{Rn, Rn}}, 
      PlotPoints -> 200]

enter image description here

You can play with precision of FindRoot but this will change the result not a lot..

The answer for second question is simply making the List of required values and applying the solver for each entry of this list..

  • $\begingroup$ Rom38 thank you very much. I have no idea how to make the List you mentioned but I will give it a try to see if I can do it. Thanks $\endgroup$ – John Dec 19 '20 at 16:54
  • 1
    $\begingroup$ @John, The list means something like cr={cr1,cr2,cr3,....}. This is an array of values from your table of parameters. $\endgroup$ – Rom38 Dec 19 '20 at 16:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.