00001 /* 00002 00003 freesteam - IAPWS-IF97 steam tables library 00004 Copyright (C) 2004-2005 John Pye 00005 00006 This program is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU General Public License 00008 as published by the Free Software Foundation; either version 2 00009 of the License, or (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00019 00020 */ 00021 00022 #ifndef REGION2_H 00023 #define REGION2_H 00024 00025 #include "state.h" 00026 00027 class Region2:public SteamState { 00028 00029 protected: 00030 friend class SteamCalculator; 00031 friend class Region4; 00032 00033 virtual SpecificVolume specvol(const SteamCalculator &c) const; 00034 virtual SpecificEnergy specienergy(const SteamCalculator &c) const; 00035 virtual SpecificEntropy specentropy(const SteamCalculator &c) const; 00036 virtual SpecificEnergy specenthalpy(const SteamCalculator &c) const; 00037 virtual SpecHeatCap speccp(const SteamCalculator &c) const; 00038 virtual SpecHeatCap speccv(const SteamCalculator &c) const; 00039 00040 virtual Temperature temp(const SteamCalculator &c) const; 00041 virtual Pressure pres(const SteamCalculator &c) const; 00042 virtual Density dens(const SteamCalculator &c) const; 00043 00044 static SteamState *Instance(); 00045 int getRegion() const; 00046 virtual void set_pT(SteamCalculator &c, const Pressure &p, const Temperature &T, Num x); 00047 00048 private: 00049 Region2(); 00050 static Region2 *_instance; 00051 00052 Num gam(const SteamCalculator &c) const; 00053 Num gampi(const SteamCalculator &c) const; 00054 Num gamtau(const SteamCalculator &c) const; 00055 Num gampipi(const SteamCalculator &c) const; 00056 Num gamtautau(const SteamCalculator &c) const; 00057 Num gampitau(const SteamCalculator &c) const; 00058 00059 00060 Num gam0(const SteamCalculator &c) const; 00061 Num gam0sum(const SteamCalculator &c) const; 00062 Num gampi0(const SteamCalculator &c) const; 00063 Num gamtau0(const SteamCalculator &c) const; 00064 Num gampipi0(const SteamCalculator &c) const; 00065 Num gamtautau0(const SteamCalculator &c) const; 00066 Num gampitau0(const SteamCalculator &c) const; 00067 00068 Num gamr(const SteamCalculator &c) const; 00069 Num gampir(const SteamCalculator &c) const; 00070 Num gamtaur(const SteamCalculator &c) const; 00071 Num gampipir(const SteamCalculator &c) const; 00072 Num gamtautaur(const SteamCalculator &c) const; 00073 Num gampitaur(const SteamCalculator &c) const; 00074 00075 Num pitau_iaps85(const SteamCalculator &c) const; 00076 Num delpi_iaps85(const SteamCalculator &c) const; 00077 00078 }; 00079 00080 #endif