EnergyPlus C API  0.1
This is the EnergyPlus C API, which allows linking to EnergyPlus and reading and manipluating data during a simulation.
/eplus/repos/7eplus/src/EnergyPlus/api/func.h
Go to the documentation of this file.
1 // EnergyPlus, Copyright (c) 1996-2020, The Board of Trustees of the University of Illinois,
2 // The Regents of the University of California, through Lawrence Berkeley National Laboratory
3 // (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
4 // National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
5 // contributors. All rights reserved.
6 //
7 // NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
8 // U.S. Government consequently retains certain rights. As such, the U.S. Government has been
9 // granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
10 // worldwide license in the Software to reproduce, distribute copies to the public, prepare
11 // derivative works, and perform publicly and display publicly, and to permit others to do so.
12 //
13 // Redistribution and use in source and binary forms, with or without modification, are permitted
14 // provided that the following conditions are met:
15 //
16 // (1) Redistributions of source code must retain the above copyright notice, this list of
17 // conditions and the following disclaimer.
18 //
19 // (2) Redistributions in binary form must reproduce the above copyright notice, this list of
20 // conditions and the following disclaimer in the documentation and/or other materials
21 // provided with the distribution.
22 //
23 // (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
24 // the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
25 // used to endorse or promote products derived from this software without specific prior
26 // written permission.
27 //
28 // (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
29 // without changes from the version obtained under this License, or (ii) Licensee makes a
30 // reference solely to the software portion of its product, Licensee must refer to the
31 // software as "EnergyPlus version X" software, where "X" is the version number Licensee
32 // obtained under this License and may not use a different name for the software. Except as
33 // specifically required in this Section (4), Licensee shall not use in a company name, a
34 // product name, in advertising, publicity, or other promotional activities any name, trade
35 // name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
36 // similar designation, without the U.S. Department of Energy's prior written consent.
37 //
38 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
39 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
40 // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
41 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
42 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
43 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
44 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
45 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
46 // POSSIBILITY OF SUCH DAMAGE.
47 
48 
49 #ifndef EnergyPlusAPIFunctional_h_INCLUDED
50 #define EnergyPlusAPIFunctional_h_INCLUDED
51 
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
68 
88 ENERGYPLUSLIB_API void registerErrorCallback(void (*f)(const char * errorMessage));
89 
90 
96 ENERGYPLUSLIB_API typedef void * Glycol;
106 ENERGYPLUSLIB_API Glycol glycolNew(const char* glycolName);
112 ENERGYPLUSLIB_API void glycolDelete(Glycol glycol);
119 ENERGYPLUSLIB_API Real64 glycolSpecificHeat(Glycol glycol, Real64 temperature);
126 ENERGYPLUSLIB_API Real64 glycolDensity(Glycol glycol, Real64 temperature);
133 ENERGYPLUSLIB_API Real64 glycolConductivity(Glycol glycol, Real64 temperature);
140 ENERGYPLUSLIB_API Real64 glycolViscosity(Glycol glycol, Real64 temperature);
141 
142 
158 ENERGYPLUSLIB_API Refrigerant refrigerantNew(const char* refrigerantName);
164 ENERGYPLUSLIB_API void refrigerantDelete(Refrigerant refrigerant);
171 ENERGYPLUSLIB_API Real64 refrigerantSaturationPressure(Refrigerant refrigerant, Real64 temperature);
178 ENERGYPLUSLIB_API Real64 refrigerantSaturationTemperature(Refrigerant refrigerant, Real64 pressure);
186 ENERGYPLUSLIB_API Real64 refrigerantSaturatedEnthalpy(Refrigerant refrigerant, Real64 temperature, Real64 quality);
194 ENERGYPLUSLIB_API Real64 refrigerantSaturatedDensity(Refrigerant refrigerant, Real64 temperature, Real64 quality);
202 ENERGYPLUSLIB_API Real64 refrigerantSaturatedSpecificHeat(Refrigerant refrigerant, Real64 temperature, Real64 quality);
203 //ENERGYPLUSLIB_API Real64 refrigerantSuperHeatedEnthalpy(Refrigerant, Real64 temperature, Real64 pressure);
204 //ENERGYPLUSLIB_API Real64 refrigerantSuperHeatedPressure(Refrigerant, Real64 temperature, Real64 enthalpy);
205 //ENERGYPLUSLIB_API Real64 refrigerantSuperHeatedDensity(Refrigerant, Real64 temperature, Real64 pressure);
206 
207 
318 
319 #ifdef __cplusplus
320 }
321 #endif
322 
323 
324 #endif //EnergyPlusAPIFunctional_h_INCLUDED
void * Glycol
This typedef is a convenient pointer to an internal glycol property class inside EnergyPlus.
Definition: func.h:96
This file provides a define that enables exposing methods on the API. No client needs to directly imp...
Real64 refrigerantSaturatedEnthalpy(Refrigerant refrigerant, Real64 temperature, Real64 quality)
Returns the refrigerant saturated enthalpy for the given Refrigerant instance at the specified temper...
Real64 psyWFnTdbRhPb(Real64 TDB, Real64 RH, Real64 PB)
Returns the psychrometric humidity ratio at given conditions.
double Real64
Definition: TypeDefs.h:52
const char * apiVersionFromEPlus()
Returns the version of this API, in Major.Minor form.
#define ENERGYPLUSLIB_API
Definition: EnergyPlusAPI.h:61
Real64 psyHFnTdbW(Real64 TDB, Real64 W)
Returns the psychrometric enthalpy at given conditions.
Real64 glycolViscosity(Glycol glycol, Real64 temperature)
Returns the fluid dynamic viscosity for the given Glycol instance at the specified temperature...
Real64 refrigerantSaturatedDensity(Refrigerant refrigerant, Real64 temperature, Real64 quality)
Returns the refrigerant saturated density for the given Refrigerant instance at the specified tempera...
Real64 psyRhoFnPbTdbW(Real64 pb, Real64 tdb, Real64 dw)
Returns the psychrometric density at given conditions.
Real64 psyRhFnTdbRhov(Real64 Tdb, Real64 Rhovapor)
Returns the psychrometric relative humidity at given conditions.
Real64 psyWFnTdpPb(Real64 TDP, Real64 PB)
Returns the psychrometric humidity ratio at given conditions.
void * Refrigerant
This typedef is a convenient pointer to an internal refrigerant property class inside EnergyPlus...
Definition: func.h:148
void refrigerantDelete(Refrigerant refrigerant)
Deletes an instance of a Refrigerant class.
Real64 psyTwbFnTdbWPb(Real64 Tdb, Real64 W, Real64 PB)
Returns the psychrometric wet bulb temperature at given conditions.
Real64 refrigerantSaturationPressure(Refrigerant refrigerant, Real64 temperature)
Returns the refrigerant saturation pressure for the given Refrigerant instance at the specified tempe...
Real64 psyHfgAirFnWTdb(Real64 T)
Returns the psychrometric latent energy of air at given conditions.
Real64 psyCpAirFnW(Real64 W)
Returns the psychrometric specific heat at given conditions.
void registerErrorCallback(void(*f)(const char *errorMessage))
Allows a user to register an error callback function.
Real64 psyTdpFnWPb(Real64 W, Real64 PB)
Returns the psychrometric dew point temperature at given conditions.
Glycol glycolNew(const char *glycolName)
Returns a new reference to a Glycol class.
Real64 refrigerantSaturationTemperature(Refrigerant refrigerant, Real64 pressure)
Returns the refrigerant saturation temperature for the given Refrigerant instance at the specified pr...
Real64 psyTsatFnHPb(Real64 H, Real64 PB)
Returns the psychrometric saturation temperature at given conditions.
Real64 glycolSpecificHeat(Glycol glycol, Real64 temperature)
Returns the fluid specific heat for the given Glycol instance at the specified temperature.
Real64 psyHgAirFnWTdb(Real64 T)
Returns the psychrometric latent energy of the moisture as a gas in the air at given conditions...
Real64 glycolConductivity(Glycol glycol, Real64 temperature)
Returns the fluid thermal conductivity for the given Glycol instance at the specified temperature...
Real64 psyRhovFnTdbWPb(Real64 Tdb, Real64 W, Real64 PB)
Returns the psychrometric vapor density at given conditions.
Real64 refrigerantSaturatedSpecificHeat(Refrigerant refrigerant, Real64 temperature, Real64 quality)
Returns the refrigerant saturated specific heat for the given Refrigerant instance at the specified t...
Real64 psyRhFnTdbWPb(Real64 TDB, Real64 W, Real64 PB)
Returns the psychrometric relative humidity at given conditions.
Real64 psyRhovFnTdbRh(Real64 Tdb, Real64 RH)
Returns the psychrometric vapor density at given conditions.
Real64 psyPsatFnTemp(Real64 T)
Returns the psychrometric saturation pressure at given conditions.
Real64 psyHFnTdbRhPb(Real64 TDB, Real64 RH, Real64 PB)
Returns the psychrometric enthalpy at given conditions.
Real64 glycolDensity(Glycol glycol, Real64 temperature)
Returns the fluid density for the given Glycol instance at the specified temperature.
Real64 psyWFnTdbH(Real64 TDB, Real64 H)
Returns the psychrometric humidity ratio at given conditions.
Real64 psyWFnTdbTwbPb(Real64 TDB, Real64 TWB, Real64 PB)
Returns the psychrometric humidity ratio at given conditions.
void initializeFunctionalAPI()
An initialization routine that sets up all functional API structures.
Refrigerant refrigerantNew(const char *refrigerantName)
Returns a new reference to a Refrigerant class.
Real64 psyVFnTdbWPb(Real64 TDB, Real64 W, Real64 PB)
Returns the psychrometric specific volume at given conditions.
Real64 psyTdbFnHW(Real64 H, Real64 W)
Returns the psychrometric dry bulb temperature at given conditions.
Real64 psyTdpFnTdbTwbPb(Real64 TDB, Real64 TWB, Real64 PB)
Returns the psychrometric dew point temperature at given conditions.
void glycolDelete(Glycol glycol)
Deletes an instance of a Glycol class.