Limitations of Redlich-Kwong equation of state I have been using the Redlich-Kwong EOS to calculate the compressibility factor for nitrogen.  I am currently running an Excel VBA that performs the calculation.  I have noticed that the process of calculation fails at temperatures of 92 F and below at 10,000 psia.  However, it works at a temperatures of 93 F and above, at 10,000 psia.  I have also shown it to work for a temperature and pressure envelope of 60 F to 600 F and 14.7 psia to 9,000 psia, respectively.  By failure, I mean to say that Excel cannot converge on an answer and the program crashes.  I am not sure if this failure is due to the capabilities of Excel, my computer, or if it is due to the limitation of the Redlich-Kwong EOS.
The macro I am using comes from Peress, J.:"Working with Non-Ideal Gases," CEP Magazine March 2003   p. 39.  Unfortunately, I have only managed to obtain this macro, I have not been able to get this article to read for myself.  The macro, the process to calculate z (compressibility factor), is shown below.
So my questions are:


*

*Are there pressure and temperature limits to the Redlich-Kwong equation of state?  If so, what are they?  

*What other factors need to be considered in understanding the limitations of the Redlich-Kwong eos?

*Is there a more robust EOS that can be used to solve for the compressibility factor, specifically for nitrogen, and can be implemented in Microsoft excel?

*Do you have access to the "Working with Non-Ideal Gases" article referenced and can I get a copy from you, please?


The macro:

 A: The convergence of the iteration you are using becomes very slow below 93F. I might be inclined to switch to a binary chop instead. Something like:
Const pc = 33.5
Const tc = 126.2

Function n2z(p as Double, t as Double) as Double

  Dim zstart As Double
  Dim zend As Double
  Dim z As Double

  zstart = 1
  zend = 2
  Do
    z = (zstart + zend) / 2
    If zdiff(p, t, z) > 0 Then
      zstart = z
    Else
      zend = z
    End If
  Loop Until zend - zstart < 0.01

  n2z = z

End Function

Function zdiff(p As Double, t As Double, z As Double) As Double

  Dim tk As Double
  Dim pa As Double
  Dim zcal As Double
  Dim a As Double
  Dim b As Double
  Dim h As Double

  tk = (t - 32) * 5 / 9 + 273.15
  pa = p / 14.6959
  a = (0.4278 * (tc ^ 2.5)) / (pc * (tk ^ 2.5))
  b = (0.0867 * tc) / (pc * tk)
  h = b * pa / z
  zcal = 1 / (1 - h) - (a / b) * h / (1 + h)

  zdiff = zcal - z

End Function

A: If I may suggest, when you handle a pressure-explicit equation of state, it is always better to write the equation as  function of the compressibility factor $Z=\frac{PV}{RT}$. In the case of the most commonly used equations of state, this leads to a cubic equation in $Z$ for which you can use Cardano method or, better, Newton method for a first root followed by polynomila deflation for the other one if it exists. This converges extremely fast to very high accuracy.
