//  steam67.h

//  constants and funtion prototypes for steam properties 

#define ALPHA0       0.0
#define ALPHA1       0.0
#define PCA          3208.23474
#define VCA          0.0507785287
#define TCA          1165.14
#define TZA          459.67
#define PVO1O        30.1463451
#define PVOT         0.0258735819
#define I1           4.260321148
#define T1           662.0
#define TC           705.47
#define P1           2398.21683
#define PMIN         0.08865
#define PMAX         6000.0
#define P3MIN        2002.78
#define V3MIN        0.0207
#define V3MAX        0.143
#define TMIN         32.018
#define TMAX         1600.0
#define T1MAX        682.0
#define T2MIN        -200.0
#define T3MIN        636.0
#define T3MAX        1124.45
#define HMIN         0.0
#define HMAX         1860.0
#define SMIN         0.0
#define SMAX         3.0
#define XMIN         0.0
#define XMAX         100.0
#define VMIN         0.016
#define VMAX         3400.0
#define AL0          15.74373327
#define AL1          -34.17061978
#define AL2          19.31380707
#define S4MAX        1.065
#define H4MAX        906.1


#ifdef __cplusplus
extern "C" {
#endif


   //   action VALUE         program work done
   //   ------------      -------------------------------------------------
   //         0           calculate balance around temperature, pressure,
   //                        steam quality, enthalpy, entropy,
   //                        specific weight, saturation pressure,
   //                        saturation temperature, degrees superheat,
   //                        degrees subcooling
   //         1           action 0 plus viscosity
   //         2           action 1 plus critical velocity

	//  this construct takes care of whether or not this header fileis being
	//  used by the EXE code or the DLL code
#ifdef EXPORTING
__declspec (dllexport) 
#else
__declspec (dllimport)
#endif
int steam67 (double *temperature, double *pressure, double *quality,
             double *weight, double *enthalpy, double *entropy,
             double *saturation_temperature,
             double *saturation_pressure, double *degrees_superheat,
             double *degrees_subcooling, double *viscosity,
             double *critical_velocity, int action);


#ifdef __cplusplus
}
#endif

