VaporConditions : Vepor related calculation library / 水蒸気関係の各種計算用ライブラリ Library for Calculate some vapor related values from Temperature, Relative Humidity and Air Pressure 温度、相対湿度、大気圧から水蒸気関係のいくつかの値を計算します。 The formulas are based on 計算式は以下を参考にしています。 http://www.mistral.co.jp/kestrel-japan/MistralHumiRatio.pdf http://www.kanomax.co.jp/img_data/file_731_1417598330.pdf
Dependents: Condensation_Monitor BLE_Condensation_Monitor
Diff: VaporConditon.cpp
- Revision:
- 0:11570780a596
diff -r 000000000000 -r 11570780a596 VaporConditon.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/VaporConditon.cpp Thu Apr 30 16:47:28 2015 +0000 @@ -0,0 +1,52 @@ +/** + * VaporConditions Vepor related calculation library + * + * @author Takafumi Naka + * @version 1.0 + * @date 30-Apr-2015 + * + * Library for Calculate some vapor related values from Temperature, Relative Humidity and Air Pressure + * The formulas are based on + * http://www.mistral.co.jp/kestrel-japan/MistralHumiRatio.pdf + * http://www.kanomax.co.jp/img_data/file_731_1417598330.pdf + */ + +#include "mbed.h" +#include "math.h" +#include "VaporCondition.h" + +// Saturated Vapor Pressure (hPa) // +float VaporCondition::Pvsat() +{ + return (6.11*pow(10,7.5*t/(t+237.3))); +} + +// Vapor Pressure (hPa) // +float VaporCondition::Pv() +{ + return (Pvsat()*h/100.); +} + +// Humidity Ratio (g/kg) // +float VaporCondition::Rh() +{ + return (6.22*Pv()*100/p); +} + +// Dew Point Temperature // +float VaporCondition::Tdp() +{ + float y,y2,y3,y4; + y = log(Pv()*100/611.213); + y2 = y*y; + y3 = y2*y; + y4 = y2*y2; + if ( y>=0 ) + { + return (13.715 * y+ 8.4262e-1 * y2 +1.9048e-2 * y3 +7.8158e-3 * y4); + } + else + { + return (13.7204 * y +7.36631e-1 * y2 +3.32136e-2 * y3 +7.78591e-3 * y4); + } +} \ No newline at end of file