Skip to main content

Orbital compute planning and simulation tools

Project description

rotastellar-compute

Orbital Compute Planning & Simulation

Feasibility analysis, thermal simulation, power budgeting, and latency modeling for space-based computing.

Installation

pip install rotastellar-compute

Quick Start

Feasibility Analysis

from rotastellar_compute import FeasibilityCalculator, WorkloadProfile, WorkloadType

# Create a calculator for 550km altitude
calc = FeasibilityCalculator(altitude_km=550.0)

# Define your workload
profile = WorkloadProfile(
    workload_type=WorkloadType.INFERENCE,
    compute_power_kw=10.0,
    memory_gb=32.0,
    latency_requirement_ms=100.0
)

# Analyze feasibility
result = calc.analyze(profile)
print(f"Feasible: {result.feasible}")
print(f"Rating: {result.rating}")  # EXCELLENT, GOOD, MARGINAL, or NOT_FEASIBLE
print(f"Thermal margin: {result.thermal_margin_percent:.1f}%")
print(f"Power margin: {result.power_margin_percent:.1f}%")

Thermal Simulation

from rotastellar_compute import ThermalSimulator, ThermalConfig, ThermalEnvironment

# Create simulator
sim = ThermalSimulator()

# Configure for 500W heat dissipation
config = ThermalConfig.for_power(500.0)

# LEO environment at 550km
env = ThermalEnvironment.leo(altitude_km=550.0)

# Run simulation
result = sim.simulate(config, env)
print(f"Equilibrium temperature: {result.equilibrium_temp_c:.1f}°C")
print(f"Max temperature: {result.max_temp_c:.1f}°C")
print(f"Radiator area required: {result.radiator_area_m2:.2f} m²")

Power Analysis

from rotastellar_compute import PowerAnalyzer, PowerProfile, SolarConfig, BatteryConfig

# Analyzer for 550km orbit
analyzer = PowerAnalyzer(altitude_km=550.0)

# Power requirements
profile = PowerProfile(
    average_power_w=500.0,
    peak_power_w=800.0
)

# Optional: customize solar and battery
solar = SolarConfig(efficiency=0.30, degradation_per_year=0.02)
battery = BatteryConfig(depth_of_discharge=0.40, efficiency=0.95)

# Analyze
budget = analyzer.analyze(profile, solar_config=solar, battery_config=battery)
print(f"Solar panel area: {budget.solar_panel_area_m2:.2f} m²")
print(f"Battery capacity: {budget.battery_capacity_wh:.0f} Wh")
print(f"Eclipse duration: {budget.eclipse_duration_min:.1f} minutes")

Latency Modeling

from rotastellar_compute import LatencySimulator

# Simulator for 550km altitude
sim = LatencySimulator(altitude_km=550.0)

# Simulate with 100ms processing time
result = sim.simulate(processing_time_ms=100.0)
print(f"Propagation delay: {result.propagation_delay_ms:.1f} ms")
print(f"Processing time: {result.processing_time_ms:.1f} ms")
print(f"Total latency: {result.total_latency_ms:.1f} ms")

# Compare different altitudes
altitudes = [400.0, 550.0, 800.0, 1200.0]
comparison = sim.compare_altitudes(altitudes)
for alt_result in comparison:
    print(f"{alt_result.altitude_km}km: {alt_result.typical_latency_ms:.1f}ms")

Features

  • Feasibility Analysis — Evaluate workload suitability for orbital compute
  • Thermal Simulation — Model heat rejection using Stefan-Boltzmann law
  • Power Analysis — Solar panel and battery sizing for orbital systems
  • Latency Modeling — End-to-end latency for space-ground communication

Links

Author

Created by Subhadip Mitra at RotaStellar.

License

MIT License — Copyright (c) 2026 RotaStellar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rotastellar_compute-0.1.1.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rotastellar_compute-0.1.1-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file rotastellar_compute-0.1.1.tar.gz.

File metadata

  • Download URL: rotastellar_compute-0.1.1.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for rotastellar_compute-0.1.1.tar.gz
Algorithm Hash digest
SHA256 90d2db7f47c6ee1443a8796df7e42494e57998acc2ea403692c2d8831ee144a5
MD5 9e3dad50428615a29a29e073df528a73
BLAKE2b-256 0b0e2113cf4402ef4cfb78b253f04fe9ee24836bdf9adc9139d5cc4d033510c2

See more details on using hashes here.

File details

Details for the file rotastellar_compute-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rotastellar_compute-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08c4c8387c7e50b50d6687322852b0f9f85a79e8c8eb397cb0a28ea556732601
MD5 285dc08cbfce9283c0f3e0bff1001c9a
BLAKE2b-256 bf09f7177c0891454f9cefb1289285b1c75a29bbc77f1ea08a3a3afca868c5ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page