Files
CoolProp/wrappers/Modelica/src/FluidProp_COM.h
2014-05-14 12:46:24 +02:00

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