用Python编写以马赫数为自变量的气体动力学函数表的计算机程序

import math
import numpy as np
import pandas as pd
#τ(λ)
def tao_lambda(k,lam):
    return 1-(k-1)*lam**2/(k+1)
def tao2lambda(k,tao):
    return math.sqrt((1-tao)*(k+1)/(k-1))
#π(λ)
def pi_lambda(k,lam):
    return tao_lambda(k,lam)**(k/(k-1))
def pi2lambda(k,pi):
    return tao2lambda(k,pi**((k-1)/k))
#ε(λ)
def ep_lambda(k,lam):
    return tao_lambda(k,lam)**(1/(k-1))
#q(λ)
def q_lambda(k,lam):
    return lam*ep_lambda(k,lam)/ep_lambda(k,1)
#y(λ)
def y_lambda(k,lam):
    return q_lambda(k,lam)/pi_lambda(k,lam)

def z_lambda(lam):
    return lam+1/lam
def f_lambda(k,lam):
    return (2/(k+1))**(1/(k-1))*q_lambda(k,lam)*z_lambda(lam)
def r_lambda(k,lam):
    return pi_lambda(k,lam)/f_lambda(k,lam)
#K
def K(k,R):
    return math.sqrt(k/R*(2/(k+1))**((k+1)/(k-1)))
#y(λ)算q
def q_m_y(k,R,lam,A,T_1,p):
    return K(k,R)*p*A*y_lambda(k,lam)/math.sqrt(T_1)
#从Ma到λ
def Ma2lambda(Ma,k):
    return Ma*math.sqrt((k+1)/(2+(k-1)*Ma**2))

def lambda2Ma(lam,k):
    return lam*math.sqrt(2/((k+1)-(k-1)*lam**2))
#c_cr
def c_cr(k,R,T_1):
    return math.sqrt((2*k*T_1*R)/(k+1))

def p2Ma(p_xing,pa,k):
    return math.sqrt(2/(k-1)*((p_xing/pa)**((k-1)/k)-1))

def lambda2A(m_1,lam,k,R,T_1,p_1):
    return m_1*math.sqrt(T_1)/K(k,R)/p_1/q_lambda(k,lam)
N=1000
N1=10
Ma_min=0.1
Ma_max=5
dMa=(Ma_max-Ma_min)/N
B=np.zeros([N,N1])
k=1.4
for i in range(0,N):
    Ma=Ma_min+dMa*i
    B[i,0]=Ma
    lam=Ma2lambda(Ma,k)
    B[i,1]=lam
    B[i,2]=tao_lambda(k,lam)
    B[i,3]=pi_lambda(k,lam)
    B[i,4]=ep_lambda(k,lam)
    B[i,5]=q_lambda(k,lam)
    B[i,6]=y_lambda(k,lam)
    B[i,7]=z_lambda(lam)
    B[i,8]=f_lambda(k,lam)
    B[i,9]=r_lambda(k,lam)

df=pd.DataFrame(B)
# 将DataFrame写入Excel文件
df.to_excel('output.xlsx', index=False, header=False)  # 不保存索引和不写入默认的列名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bhZ567

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值