10
\ begingroup美元

我需要计算导致一个气象气球的力量与一个特定的数量上升。在搜索了好几个小时,我发现所需的公式,可用于计算在一定高度的压力。(令人惊讶的是,在给出的公式德国比从维基百科提供更好的价值英语一个)

这是需要空气的密度,然后可以使用阿基米德原理的浮力气球的高度。

然而,它的公式只返回有效值表示,海拔高达11公里。有没有一种方法来计算空气压力在一个更高的高度吗?

\ endgroup美元
5
  • \ begingroup美元 并不令人惊讶的德国页面有更好的公式。大气科学家在德国是非凡的。 \ endgroup美元
    - - - - - -f.thorpe
    2015年1月11日,在1:16
  • \ begingroup美元 你是如何确定一个给比另一个更好的答案? \ endgroup美元
    - - - - - -等密度线振荡
    2015年1月11日,在七53
  • 1
    \ begingroup美元 @farrenthorpe——维基百科页面的质量在不同的语言中很少与科学家们说这种语言的质量。 \ endgroup美元
    - - - - - -大卫Hammen
    2015年1月11日8:30
  • \ begingroup美元 德国维基百科上给出的公式比另一个更容易使用;然而,(2)修正公式可用于caclulate压力(密度,有其他人)84公里。 \ endgroup美元
    - - - - - -Tacticus
    2015年1月11日12:52
  • \ begingroup美元 @Tacticus你能添加两个方程(德语和英语维基)问题吗?条目在维基百科上随时间变化。 \ endgroup美元
    - - - - - -Gimelist
    2016年11月26日中午

3答案3

5
\ begingroup美元

这些公式是基于一个假设,即压力静压和理想气体定律。11公里的例子是有限的,但使用的表美国标准大气实际上公里美元上升到1000美元。从58页可以找到值压力密度和温度高于11公里。

在这里输入图像描述

\ endgroup美元
    3
    \ begingroup美元

    原始的描述我们。1976年标准大气结果包括更多和详细的信息比维基百科文章。最后,我现在已经找到了工作使用固定变量H_b,美元\ rho_b,美元T_b L_b美元,美元的确定标准的高度,(空气)密度、温度和温度梯度层b美元,分别。足够的概述这些值可以在找到维基百科

    这种方法给了非常准确的结果,适合提供的值等密度的振荡。

    \ endgroup美元
      2
      \ begingroup美元

      似乎没有中央参考标准温度和大气压力在高海拔地区。下面是我写的代码结合两个资源后,可以在评论里找到。这c++代码计算标准大气压力一直到86公里。

      浮动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);如果(geopot_height < = 11)返回101325 *战俘(288.15 f / t、-5.255877 f);else if (geopot_height < = 20)返回22632.06 * exp (-0.1577 f * (geopot_height - 11));else if (geopot_height < = 32)返回5474.889 f *战俘(216.65 f / t、34.16319 f);else if (geopot_height < = 47)返回868.0187 f *战俘(228.65 f / t、12.2011 f);else if (geopot_height < = 51)返回110.9063 f * exp (-0.1262 f * (geopot_height - 47));else if (geopot_height < = 71)返回66.93887 f *战俘(270.65 f / t、-12.2011 f);else if (geopot_height < = 84.85)返回3.956420 f *战俘(214.65 f / t、-17.0816 f); 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); }
      \ endgroup美元
      1
      • 1
        \ begingroup美元 这似乎是实用。 \ endgroup美元
        - - - - - -等密度线振荡
        2016年11月27日,在前五

      你的答案

      通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

      不是你要找的答案?浏览其他问题标记问你自己的问题