压力的函数堆栈高度超过11公里——地球科学交流江南电子竞技平台江南体育网页版 最近30从www.hoelymoley.com 2023 - 07 - 10 - t12:49:18z //www.hoelymoley.com/feeds/question/4240 https://creativecommons.org/licenses/by-sa/4.0/rdf //www.hoelymoley.com/q/4240 10 压力的函数高度高于11公里 Tacticus //www.hoelymoley.com/users/2424 2015 - 01 - 10 - t19:29:10z 2016 - 11 - 26 - t11:58:15z < p >我需要计算与特定的体积力,导致一个气象气球上升。在搜索了好几个小时,我发现所需的公式,可用于计算在一定高度的压力。(令人惊讶的是,这个公式在< a href = " http://de.wikipedia.org/wiki/Barometrische_H%C3%B6henformel Internationale_H.C3.B6henformel " > < / >德国维基百科提供更好的价值,从英语< a href = " http://en.wikipedia.org/wiki/Barometric_formula " > < / >) < / p > < p >这是需要空气的密度,然后可以使用阿基米德原理的浮力气球的高度。< / p > < p >,它是表示高度的公式只返回有效值11公里。有没有一种方法来计算空气压力在高海拔? < / p > //www.hoelymoley.com/questions/4240/pressure-as-a-function-of-altitude-above-11-km/4244 # 4244 5 答案为等密度线振荡压力的函数高度高于11公里 等密度线振荡 //www.hoelymoley.com/users/200 2015 - 01 - 11 t07:44:22z 2015 - 01 - 11 t08:00:33z < p >这些公式是基于一个假设,即压力静压和理想气体定律。给出的例子是有限的11公里,但使用的表< a href = " http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19770009539_1977009539.pdf " rel = " nofollow noreferrer " >美国标准大气< / >实际上公里美元上升到1000美元。从58页可以找到值压力密度和温度高于11公里。< / p > < p > < img src = " https://i.stack.imgur.com/bk5ak.jpg " alt = "在这里输入图像描述" > < / p > //www.hoelymoley.com/questions/4240/pressure-as-a-function-of-altitude-above-11-km/4246 # 4246 3 答案由Tacticus压力的函数高度高于11公里 Tacticus //www.hoelymoley.com/users/2424 2015 - 01 - 11 t10:40:15z 2015 - 01 - 11 t21:45:42z 的原始描述< p > < a href = " https://docs.google.com/file/d/0B2UKsBO-ZMVgWG9mWEJGMlFacDQ/edit?pli = 1”rel = " nofollow”>。标准大气1976 < / >证明包括更多和详细的信息比维基百科文章。最后,我现在已经找到了工作使用固定变量H_b,美元\ rho_b,美元T_b L_b美元,美元的确定标准的高度,(空气)密度、温度和温度梯度层b美元,分别。足够的概述这些值可以发现在< A href = " http://en.wikipedia.org/wiki/Barometric_formula # Density_equations”rel =“nofollow”>维基百科< / >。< / p > < p >这种方法提供相当准确的结果,它适合提供的值等密度线振荡。< / p > //www.hoelymoley.com/questions/4240/pressure-as-a-function-of-altitude-above-11-km/9205 # 9205 2 回答Shital Shah的压力的函数的高度高于11公里 Shital沙 //www.hoelymoley.com/users/7049 2016 - 11 - 26 - t11:58:15z 2016 - 11 - 26 - t11:58:15z < p >似乎没有中央参考标准温度和大气压力在高海拔地区。下面是我写的代码结合两个资源后,可以在评论里找到。这c++代码计算标准大气压力一直到86公里。< / p > < pre > <代码>浮动getStandardPressure(浮子高度/ *米* /)/ /返回Pa{/ /低于51公里:实际气象罗兰横梁,pg 12 / / 51公里以上:http://www.braeunig.us/space/atmmodel.htm / /验证数据:https://www.avs.org/avs/files/c7/c7edaedb - 95 b2 - 438 f - adfb - 36 - de54f87b9e.pdf高度=高度/ 1000.0 f;/ /转换成米公里浮geopot_height = getGeopotential(高度);浮动t = getStandardTemperature (geopot_height);if (geopot_height <= 11) return 101325 * pow(288.15f / t, -5.255877f); else if (geopot_height <= 20) return 22632.06 * exp(-0.1577f * (geopot_height - 11)); else if (geopot_height <= 32) return 5474.889f * pow(216.65f / t, 34.16319f); else if (geopot_height <= 47) return 868.0187f * pow(228.65f / t, 12.2011f); else if (geopot_height <= 51) return 110.9063f * exp(-0.1262f * (geopot_height - 47)); else if (geopot_height <= 71) return 66.93887f * pow(270.65f / t, -12.2011f); else if (geopot_height <= 84.85) return 3.956420f * pow(214.65f / t, -17.0816f); throw std::out_of_range("altitude must be less than 86km. Space domain is not supported yet!"); } //geopot_height = earth_radius * altitude / (earth_radius + altitude) /// all in kilometers //temperature is in Kelvin = 273.15 + celcius float getStandardTemperature(float geopot_height) { //standard atmospheric pressure //Below 51km: Practical Meteorology by Roland Stull, pg 12 //Above 51km: http://www.braeunig.us/space/atmmodel.htm if (geopot_height <= 11) //troposphere return 288.15f - (6.5 * geopot_height); else if (geopot_height <= 20) //Staroshere starts return 216.65f; else if (geopot_height <= 32) return 196.65f + geopot_height; else if (geopot_height <= 47) return 228.65f + 2.8 * (geopot_height - 32); else if (geopot_height <= 51) //Mesosphere starts return 270.65f; else if (geopot_height <= 71) return 270.65f - 2.8 * (geopot_height - 51); else if (geopot_height <= 84.85) return 214.65f - 2 * (geopot_height - 71); //Thermospehere has high kinetic temperature (500c to 2000c) but temperature //as measured by thermometer would be very low because of almost vaccume throw std::out_of_range("geopot_height must be less than 85km. Space domain is not supported yet!"); } float getGeopotential(float altitude_km) { constexpr float EARTH_RADIUS = 6356.766; //km return EARTH_RADIUS * altitude_km / (EARTH_RADIUS + altitude_km); }
Baidu
map