Fix AB water vapor pressure calc (#4956)

* Fix AB water vapor pressure calc

* Fix calc in weather

* Cleanup usage of constant

* Add RVExtensionVersion, Rebuild AB DLLs
This commit is contained in:
PabstMirror 2017-05-29 12:55:26 -05:00 committed by GitHub
parent 58b15e4aa1
commit ff212d5b3d
6 changed files with 13 additions and 5 deletions

Binary file not shown.

Binary file not shown.

View File

@ -23,7 +23,8 @@ _pressure = _pressure * 100; // hPa to Pa
if (_relativeHumidity > 0) then { if (_relativeHumidity > 0) then {
// Saturation vapor pressure calculated according to: http://wahiduddin.net/calc/density_algorithms.htm // Saturation vapor pressure calculated according to: http://wahiduddin.net/calc/density_algorithms.htm
private _pSat = 6.1078 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3)); // 610.78 gives pressure in Pa - https://en.wikipedia.org/wiki/Density_of_air
private _pSat = 610.78 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3));
private _vaporPressure = _relativeHumidity * _pSat; private _vaporPressure = _relativeHumidity * _pSat;
private _partialPressure = _pressure - _vaporPressure; private _partialPressure = _pressure - _vaporPressure;

View File

@ -33,7 +33,7 @@ order: 9
``` ```
cd extensions\build cd extensions\build
cmake .. -G "Visual Studio 14 2015" cmake .. -G "Visual Studio 15 2017 Win64"
``` ```
A Visual studio project file will now be generated in your build directory. A Visual studio project file will now be generated in your build directory.

View File

@ -89,7 +89,7 @@ endif()
string(TIMESTAMP ACE_BUILDSTAMP "%Y-%m-%dT%H:%M:%SZ") string(TIMESTAMP ACE_BUILDSTAMP "%Y-%m-%dT%H:%M:%SZ")
set(ACE_VERSION_MAJOR 3) set(ACE_VERSION_MAJOR 3)
set(ACE_VERSION_MINOR 6) set(ACE_VERSION_MINOR 10)
set(ACE_VERSION_REVISION 0) set(ACE_VERSION_REVISION 0)
EXECUTE_PROCESS(COMMAND git rev-parse --verify HEAD EXECUTE_PROCESS(COMMAND git rev-parse --verify HEAD
OUTPUT_VARIABLE T_ACE_VERSION_BUILD OUTPUT_VARIABLE T_ACE_VERSION_BUILD

View File

@ -93,7 +93,8 @@ double calculateAirDensity(double temperature, double pressure, double relativeH
pressure = pressure * 100; pressure = pressure * 100;
if (relativeHumidity > 0) { if (relativeHumidity > 0) {
double _pSat = 6.1078 * pow(10, ((7.5 * temperature) / (temperature + 237.3))); // 610.78 gives pressure in Pa - https://en.wikipedia.org/wiki/Density_of_air
double _pSat = 610.78 * pow(10, ((7.5 * temperature) / (temperature + 237.3)));
double vaporPressure = relativeHumidity * _pSat; double vaporPressure = relativeHumidity * _pSat;
double partialPressure = pressure - vaporPressure; double partialPressure = pressure - vaporPressure;
@ -338,9 +339,15 @@ double calculateZeroAngle(double zeroRange, double muzzleVelocity, double boreHe
extern "C" extern "C"
{ {
EXPORT void __stdcall RVExtensionVersion(char *output, int outputSize);
EXPORT void __stdcall RVExtension(char *output, int outputSize, const char *function); EXPORT void __stdcall RVExtension(char *output, int outputSize, const char *function);
} }
void __stdcall RVExtensionVersion(char *output, int outputSize)
{
strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE);
}
void __stdcall RVExtension(char *output, int outputSize, const char *function) void __stdcall RVExtension(char *output, int outputSize, const char *function)
{ {
ZERO_OUTPUT(); ZERO_OUTPUT();