analyze_circular_orbit
Calculate orbital radius, velocity, period, and centripetal acceleration for a circular orbit at a specified altitude above a planet.
Instructions
Analyze circular orbit at given altitude above planet surface.
Comprehensive orbital analysis combining period, velocity, and acceleration.
Args:
altitude: Altitude above surface in meters
planet_mass: Planet mass in kg
planet_radius: Planet radius in meters
gravitational_constant: G in m³/(kg⋅s²) (default 6.674e-11)
Returns:
Dict containing:
- orbital_radius: r from planet center in meters
- orbital_velocity: v in m/s
- period_seconds: Orbital period in seconds
- period_minutes: Orbital period in minutes
- centripetal_acceleration: a_c in m/s²
Example - LEO satellite at 400km altitude:
result = await analyze_circular_orbit(
altitude=400000, # 400 km
planet_mass=5.972e24, # Earth
planet_radius=6.371e6 # Earth
)
# v ≈ 7,670 m/s, T ≈ 92.6 min
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| altitude | Yes | ||
| planet_mass | Yes | ||
| planet_radius | Yes | ||
| gravitational_constant | No |
Implementation Reference
- MCP @tool decorated async wrapper for analyze_circular_orbit. Accepts altitude, planet_mass, planet_radius, gravitational_constant as parameters. Delegates to the core calculation function in circular_motion.py and returns model_dump dict.
@tool # type: ignore[arg-type] async def analyze_circular_orbit( altitude: float, planet_mass: float, planet_radius: float, gravitational_constant: float = 6.674e-11, ) -> dict: """Analyze circular orbit at given altitude above planet surface. Comprehensive orbital analysis combining period, velocity, and acceleration. Args: altitude: Altitude above surface in meters planet_mass: Planet mass in kg planet_radius: Planet radius in meters gravitational_constant: G in m³/(kg⋅s²) (default 6.674e-11) Returns: Dict containing: - orbital_radius: r from planet center in meters - orbital_velocity: v in m/s - period_seconds: Orbital period in seconds - period_minutes: Orbital period in minutes - centripetal_acceleration: a_c in m/s² Example - LEO satellite at 400km altitude: result = await analyze_circular_orbit( altitude=400000, # 400 km planet_mass=5.972e24, # Earth planet_radius=6.371e6 # Earth ) # v ≈ 7,670 m/s, T ≈ 92.6 min """ from ..circular_motion import CircularOrbitRequest, analyze_circular_orbit as analyze_orbit request = CircularOrbitRequest( altitude=altitude, planet_mass=planet_mass, planet_radius=planet_radius, gravitational_constant=gravitational_constant, ) response = analyze_orbit(request) return response.model_dump()