mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-23 03:00:17 -04:00
180 lines
11 KiB
C++
180 lines
11 KiB
C++
/*!
|
|
Microsoft Visual C++ 2005 Client
|
|
|
|
This is an example of a client application in Microsoft Visual C++ 2005 for FluidProp,
|
|
a COM server module for the calculation of fluid properties. FluidProp is a common
|
|
interface to GasMix, IF97, Refprop, StanMix, TPSI and is developed by Piero Colonna
|
|
and Teus van der Stelt.
|
|
|
|
The class defined in this file, IFluidProp_COM is the direct interface to the
|
|
FluidProp COM server. This class should not be altered.
|
|
|
|
Teus van der Stelt
|
|
Energy Technology Section
|
|
TU Delft
|
|
|
|
July, 2004, for FluidProp 1
|
|
January, 2006, for FluidProp 2
|
|
April, 2007, for FluidProp 2.3
|
|
*/
|
|
|
|
#ifndef FluidProp_COM_h
|
|
#define FluidProp_COM_h
|
|
|
|
#ifndef comutil_h
|
|
#include <comutil.h>
|
|
#endif
|
|
|
|
|
|
// An IFluidProp interface
|
|
//
|
|
interface IFluidProp_COM : public IDispatch
|
|
{
|
|
public:
|
|
virtual void __stdcall CreateObject ( BSTR ModelName, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall ReleaseObjects( ) = 0;
|
|
|
|
virtual void __stdcall SetFluid ( BSTR ModelName, long nComp, SAFEARRAY** sa_Comp,
|
|
SAFEARRAY** sa_Conc, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall SetFluid_M ( BSTR ModelName, long nComp, SAFEARRAY* sa_Comp,
|
|
SAFEARRAY* sa_Conc, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall GetFluid ( BSTR ModelName, long* nComp, SAFEARRAY** sa_Comp,
|
|
SAFEARRAY** sa_Conc) = 0;
|
|
virtual void __stdcall GetFluid_M ( BSTR ModelName, long* nComp, SAFEARRAY** sa_Comp,
|
|
SAFEARRAY** sa_Conc) = 0;
|
|
|
|
virtual void __stdcall GetFluidNames ( BSTR LongShort, BSTR ModelName, long* nComp,
|
|
SAFEARRAY** sa_CompSet, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall GetFluidNames_M( BSTR LongShort, BSTR ModelName, long* nComp,
|
|
SAFEARRAY** sa_CompSet, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall GetCompSet ( BSTR ModelName, long* nComp, SAFEARRAY** sa_CompSet,
|
|
BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall GetCompSet_M ( BSTR ModelName, long* nComp, SAFEARRAY** sa_CompSet,
|
|
BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall Pressure ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Temperature ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall SpecVolume ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Density ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Enthalpy ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Entropy ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall IntEnergy ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall VaporQual ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall LiquidCmp ( BSTR InputSpec, double Input1, double Input2,
|
|
SAFEARRAY** Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall LiquidCmp_M ( BSTR InputSpec, double Input1, double Input2,
|
|
SAFEARRAY** Output, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall VaporCmp ( BSTR InputSpec, double Input1, double Input2,
|
|
SAFEARRAY** Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall VaporCmp_M ( BSTR InputSpec, double Input1, double Input2,
|
|
SAFEARRAY** Output, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall HeatCapV ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall HeatCapP ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall SoundSpeed ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Alpha ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Beta ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Chi ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Fi ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Ksi ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Psi ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Zeta ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Theta ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Kappa ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Gamma ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall Viscosity ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall ThermCond ( BSTR InputSpec, double Input1, double Input2,
|
|
double* Output, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall AllProps ( BSTR InputSpec, double Input1, double Input2,
|
|
double* P, double* T, double* v, double* d,
|
|
double* h, double* s, double* u, double* q,
|
|
SAFEARRAY** x, SAFEARRAY** y, double* cv, double* cp,
|
|
double* c, double* alpha, double* beta, double* chi,
|
|
double* fi, double* ksi, double* psi, double* zeta,
|
|
double* theta, double* kappa, double* gamma,
|
|
double* eta, double* lambda, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall AllProps_M ( BSTR InputSpec, double Input1, double Input2,
|
|
double* P, double* T, double* v, double* d,
|
|
double* h, double* s, double* u, double* q,
|
|
SAFEARRAY** x, SAFEARRAY** y, double* cv, double* cp,
|
|
double* c, double* alpha, double* beta, double* chi,
|
|
double* fi, double* ksi, double* psi, double* zeta,
|
|
double* theta, double* kappa, double* gamma,
|
|
double* eta, double* lambda, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall AllPropsSat ( BSTR InputSpec, double Input1, double Input2,
|
|
double* P, double* T, double* v, double* d,
|
|
double* h, double* s, double* u, double* q,
|
|
SAFEARRAY** x, SAFEARRAY** y, double* cv, double* cp,
|
|
double* c, double* alpha, double* beta, double* chi,
|
|
double* fi, double* ksi, double* psi, double* zeta,
|
|
double* theta, double* kappa, double* gamma,
|
|
double* eta, double* lambda, double* d_liq,
|
|
double* d_vap, double* h_liq, double* h_vap,
|
|
double* T_sat, double* dd_liq_dP, double* dd_vap_dP,
|
|
double* dh_liq_dP, double* dh_vap_dP,
|
|
double* dT_sat_dP, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall AllPropsSat_M ( BSTR InputSpec, double Input1, double Input2,
|
|
double* P, double* T, double* v, double* d,
|
|
double* h, double* s, double* u, double* q,
|
|
SAFEARRAY** x, SAFEARRAY** y, double* cv, double* cp,
|
|
double* c, double* alpha, double* beta, double* chi,
|
|
double* fi, double* ksi, double* psi, double* zeta,
|
|
double* theta, double* kappa, double* gamma,
|
|
double* eta, double* lambda, double* d_liq,
|
|
double* d_vap, double* h_liq, double* h_vap,
|
|
double* T_sat, double* dd_liq_dP, double* dd_vap_dP,
|
|
double* dh_liq_dP, double* dh_vap_dP,
|
|
double* dT_sat_dP, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall Solve ( BSTR FuncSpec, double FuncVal, BSTR InputSpec,
|
|
long Target, double FixedVal, double MinVal,
|
|
double MaxVal, double* Output, BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall Mmol ( double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Tcrit ( double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Pcrit ( double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Tmin ( double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall Tmax ( double* Output, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall AllInfo ( double* M_mol, double* T_crit, double* P_crit,
|
|
double* T_min, double* T_max , BSTR* ErrorMsg) = 0;
|
|
|
|
virtual void __stdcall SetUnits ( BSTR UnitSet, BSTR MassOrMole, BSTR Properties,
|
|
BSTR Units, BSTR* ErrorMsg) = 0;
|
|
virtual void __stdcall SetRefState ( double T_ref, double P_ref, BSTR* ErrorMsg) = 0;
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|
|
|