cape.atm: Atmosphere Models¶
This is a module that provides interfaces for atmosphere models, which can be useful for estimating freestream conditions at a given altitude. Conversely, it can be used to find a representative altitude for a given set of freestream conditions.
At present it only contains the 1976 U.S. Standard Atmosphere:
For detailed trajectory modeling, a more general atmosphere model is suggested.
Furthermore, this model is only considered to be valid up to 85 km of altitude
even though cape.atm.atm76() will return an atmospheric state for higher
altitudes.
- class cape.atm.State(p=None, rho=None, T=None, **kw)¶
Atmospheric state
- Call:
>>> S = atm.State(p=None, rho=None, T=None, V=0, gamma=1.4)
- Inputs:
- p:
float Static pressure [Pa] (required)
- rho:
float Static density [kg/m^3] (required)
- T:
float Static temperature [K] (required)
- V:
float Velocity [m/s]
- gamma:
float Ratio of specific heats
- p:
- Outputs:
- S:
atm.State Atmospheric state
- S.p:
float Static pressure [Pa]
- S.rho:
float Static density [kg/m^3]
- S.T:
float Static temperature [K]
- S.R:
float Normalized gas constant [J/kg-K]
- S.V:
float Velocity [m/s]
- S.M:
float Mach number
- gamma:
float Ratio of specific heats
- a:
float Sound speed [m/s]
- S:
- Versions:
2015-07-05
@ddalle: Version 1.0
- ConvertToFPS()¶
Convert state quantities to foot-pound-second units
- Call:
>>> S.ConvertToFPS()
- Outputs:
- S.p:
float Static pressure [lbf/ft^2]
- S.rho:
float Static density [slug/ft^3]
- S.T:
float Static temperature [R]
- S.M:
float Mach number
- S.a:
float Sound speed [ft/s]
- S.p:
- Versions:
2016-04-22
@ddalle: First version
- cape.atm.SutherlandMKS(T, mu0=None, T0=None, C=None)¶
Calculate viscosity using Sutherland’s law using SI units
This returns
\[\mu = \mu_0\frac{T_0+C}{T+C}\left(\frac{T}{T_0}\right)^{3/2}\]- Call:
>>> mu = SutherlandMKS(T) >>> mu = SutherlandMKS(T, mu0=None, T0=None, C=None)
- Inputs:
- T:
float Static temperature in degrees Kelvins
- mu0: {
1.716e-5} |float Reference viscosity [kg/m*s]
- T0: {
273.15} |float Reference temperature [K]
- C: {
110.33333} |float Reference temperature [K]
- T:
- Outputs:
- mu:
float Dynamic viscosity [kg/m*s]
- mu:
- Versions:
2016-03-23
@ddalle: Version 1.0
- cape.atm.atm76(h)¶
Return 1976 standard atmosphere parameters
- Call:
>>> S = atm76(h)
- Inputs:
- h:
float Geometric altitude [km]
- h:
- Outputs:
- S:
cape.atm.State Atmospheric state
- S.T:
float Temperature [K]
- S.rho:
float Static density [kg/m^3]
- S.p:
float Static pressure [N/m^2]
- S.M:
float Mach number
- S:
- Versions:
2015-07-04
@ddalle: Version 1.0
- cape.atm.get_T(h)¶
Get temperature from specific enthalpy
- Call:
>>> T = get_T(h)
- Inputs:
- h:
float Specific enthalpy [J/kg*K]
- h:
- Outputs:
- T:
float Temperature [K]
- T:
- Versions:
2016-03-03
@ddalle: Version 1.0
- cape.atm.get_h(T)¶
Get air specific enthalpy using a lookup table
- Call:
>>> h = get_h(T)
- Inputs:
- T:
float Temperature [K]
- T:
- Outputs:
- h:
float Specific enthalpy [J/kg*K]
- h:
- Versions:
2016-03-03
@ddalle: Version 1.0