MCPcopy Create free account
hub / github.com/NatLabRockies/OpenStudio / solveForDewPoint

Function solveForDewPoint

src/utilities/filetypes/EpwFile.cpp:152–170  ·  view source on GitHub ↗

Using equation 38 in ASHRAE Fundamentals 2009 Ch. 1: psat(td) = pw

Source from the content-addressed store, hash-verified

150// psat(td) = pw
151//
152static boost::optional<double> solveForDewPoint(double drybulb, double pw, double deltaLimit, int itermax) {
153 //double deltaLimit = percentChange*0.01;
154 double tdew = drybulb;
155 int i = 0;
156
157 while (i < itermax) {
158 i++;
159 const double pws = psat(tdew);
160 const double f = pws - pw;
161 const double fp = psatp(tdew, pws);
162 const double delta = -f / fp;
163 tdew += delta;
164 // std::cout << i << " " << tdew << " " << delta / (273.15 + tdew) << '\n';
165 if (std::fabs(delta / (273.15 + tdew)) <= deltaLimit) {
166 return {tdew};
167 }
168 }
169 return boost::none;
170}
171
172AirState::AirState()
173 : // Set parameters

Callers 2

AirStateMethod · 0.85

Calls 2

psatFunction · 0.85
psatpFunction · 0.85

Tested by

no test coverage detected