ロケットの基本設定を返す関数。

def rocket_settings():
    """
    ロケットの基本設定を返す関数。
    
    Returns:
        dict: ロケットの各種設定をまとめた辞書。
    """
    # ロケットの基本パラメータ
    rocket = {
        "name": "Standard Rocket",     # ロケットの名前
        "mass": 500_000,              # ロケットの質量 (kg)
        "thrust": 7_500_000,          # 推力 (N)
        "burn_time": 120,             # 燃焼時間 (s)
        "fuel_mass": 400_000,         # 燃料の質量 (kg)
        "drag_coefficient": 0.3,      # 空気抵抗係数 (無次元)
        "cross_sectional_area": 10,   # 前面投影面積 (m²)
        "exhaust_velocity": None,     # 排気速度 (m/s)
        "initial_velocity": 0.0,      # 初速度 (m/s)
        "target_altitude": 500_000    # 目標高度 (m)
    }
    
    # 排気速度の計算(理想ロケット方程式を使用)
    # v_e = Thrust / (dm/dt) = Thrust / (Fuel Mass / Burn Time)
    rocket["exhaust_velocity"] = rocket["thrust"] / (rocket["fuel_mass"] / rocket["burn_time"])
    
    return rocket

# 使用例
rocket = rocket_settings()
print("ロケットの設定:")
print(f"名前: {rocket['name']}")
print(f"質量: {rocket['mass'] / 1000:.1f} トン")
print(f"推力: {rocket['thrust'] / 1e6:.1f} MN")
print(f"燃焼時間: {rocket['burn_time']} 秒")
print(f"燃料質量: {rocket['fuel_mass'] / 1000:.1f} トン")
print(f"排気速度: {rocket['exhaust_velocity']:.1f} m/s")
print(f"目標高度: {rocket['target_altitude'] / 1000:.1f} km")

いいなと思ったら応援しよう!