Python代码

def calculate_packed_tower(L_M, m_NH3):
    # 默认参数值
    M_H2O = 18.015  # 水的摩尔质量,g/mol
    M_NH3 = 17.031  # 氨氮的摩尔质量,g/mol
    eta = 0.9  # 氨氮去除效率,假设值为0.9
    y_1 = 0  # 空气进入塔底时氨氮在空气中的摩尔分数
    m = 2.0  # 相平衡常数,假设值为2.0
    k = 1.5  # 实际气液比的放大倍数,假设值为1.5
    M_air = 29.0  # 空气摩尔质量,g/mol
    rho_air = 1.225  # 空气密度,kg/m^3
    h_up = 1  # 塔上方高度,m
    h_down = 1  # 塔下方高度,m
    u_F = 1.0  # 泛点气速,m/s
    K_La = 0.1  # 液相总传质系数,kmol/(m^3·s),假设值
 
    # 计算化学镍水摩尔流速
    L_M_prime = L_M * 1000 / M_H2O
    # 计算氨氮在废水中的摩尔分数
    x_2 = m_NH3 * M_H2O / (M_H2O * 10 ** 6)
    # 计算废水从塔底流出时氨氮在废水中的摩尔分数
    x_1 = (1 - eta) * x_2
    # 计算出塔顶时氨氮在空气中的平衡摩尔分数
    y_2_balance = m * x_2
    # 计算最小气液比
    G_L_prime_min = (x_2 - x_1) / (y_2_balance - y_1)
    # 计算实际气液比
    G_L_prime = k * G_L_prime_min
    # 计算实际空气摩尔流速
    G_M_prime = G_L_prime * L_M_prime
    # 计算实际空气用量
    G_M = G_M_prime * M_air / rho_air
    # 计算实际气液比(体积流速比)
    G_L = G_M / L_M
    # 计算出塔空气中实际氨氮的摩尔分数
    y_2 = y_1 + (x_2 - x_1) / G_L_prime
    # 计算吸收因子
    A = 1 / (G_L_prime * m)
    # 计算液相总传质单元数
    N_OL = (1 / (1 - A)) * math.log((1 - A) * (x_2 - y_1 / m) / (x_1 - y_1 / m) + A)
    # 计算液相总传质单元高度
    H_OL = L / K_La  # L由L_M计算得到
    # 计算填料层高度
    h_T = H_OL * N_OL
    # 计算塔高
    h = h_T + h_up + h_down
    # 计算空塔气速
    u = 0.45 * u_F # 易起泡的碱液等系统,空塔气速可取泛点气速的45%或更低些
    # 计算气体体积流量,m^3/s
    V_s = G_M / 3600
    # 计算初估塔径
    D_prime = math.sqrt(V_s / (0.785 * u))
 
    # 输出结果
    return G_L, h, u, D_prime