usnistgov / REFPROP-issues

A repository solely used for reporting issues with NIST REFPROP
26 stars 13 forks source link

Mixture Phase Calculation Issues #277

Closed HCSpin closed 4 years ago

HCSpin commented 4 years ago

I have confirmed this issue in Excel (MacOSX 2019) and in the NIST Refprop executable (10.0.0.02)

I am trying to generate the enthalpy for mixtures of Kr and He, with mole fractions ranging between 0 and 1.

P=1200kPa T=350K

As the mole fraction of Kr is reduced from 1 to 0.1, the phase is calculated to be superheated gas. At 0.05, the phase = Saturated liquid Between 0.01 -> 1e-6, a warning appears, indicating that the state appears to be 2-phase. At 0.0, the state shows as supercritical

How can I force the calculations to assume a single (gas) phase?

Here is a screenshot from the REFPROP executable: image

ianhbell commented 4 years ago

You want < on the last quantity you enter to force a gas solution: image

More generally, that model seems to give totally incorrect VLE behavior, so I would be very cautious in using it. The experimental data (markers) has phase envelopes that transition from open to closed (like other cryogen mixtures), but the model in REFPROP doesn't show that behavior at all: KRYPTON_NEON

HCSpin commented 4 years ago

Thanks! Is there a similar adjustment to '<' that can be used in Excel and/or Python?

ianhbell commented 4 years ago

In Python, in REFPROPdll, it's also <, or TP< for instance.

I don't remember in Excel, I don't ever use it, but I think its something similar. Have you looked through the sample workbook?

HCSpin commented 4 years ago

Looks like the Input code is 'TD&<', for example, in Excel, but it doesn't solve the problem above. There must be something strange about the He model that's causing this. x[He]=0.95 being associated with a liquid state at 350K/1200kPa just seems odd.

ianhbell commented 4 years ago

Can you plot the pressures along the 350 K isotherm as a function of density? That should show a monotonic curve with no local minima I think, and otherwise, something funky is going on.

EricLemmon commented 4 years ago

In Excel you can use the letters L and V after the input properties for your application. For example, you can use TDV or TDL. This would be the same method you would use when you call the REFPROPdll function.

HCSpin commented 4 years ago

Setting T=350K: If I disable SATSPLN, I get: image Re-enabling SATSPLN yields: image

ianhbell commented 4 years ago

You'll want the TDL option so it doesn't do a phase equilibrium calculation, just does the calculation of pressure directly.

HCSpin commented 4 years ago

Thank you very much. Consistent use of TPV or TDV seems to have gotten rid of the erratic behavior. Is there a reason you suggested TDL rather than TDV? I would think we'd want to specify vapor phase.

ianhbell commented 4 years ago

If the inputs are T,D, those are the natural variables of the equation of state. If you put in either TDL or TDV, no iterative calculation is required (the source of the failure), and the EOS is just evaluated at the given temperature and density (though you should be aware that your inputs might be silently two-phase and you might not know it from your outputs). For TPV, you still have an iterative calculation to do to find T,D, but you have simplified the problem by ignoring the possibility of phase equilibria. Again, same caveats as TDL, and TDV apply.