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.0.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.0-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rotastellar_compute-0.1.0.tar.gz
Algorithm Hash digest
SHA256 66615ee7fccde865fb2022490b7e972f8d657315a742f1458f93507b2b5a46f4
MD5 8dca46bbbb2ab333ca9baa09af8999ee
BLAKE2b-256 722edc54c5b455708382ba844c1e513cbbd745529b84d2041f80aa998a54ac53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rotastellar_compute-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef2b2cb9eebdfba56acc6412ef04dbcdd642dc824be67785aaa73cc854c19a7e
MD5 40d7f40053be86b69252d136a6eb0756
BLAKE2b-256 e40952b52538b1f26825f227a9d99d5fa26fddf78226bdbe96516c3dffdf682e

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