@rotastellar/compute
v0.1.1
Published
Orbital compute planning and simulation tools
Maintainers
Readme
@rotastellar/compute
Orbital Compute Planning & Simulation
Feasibility analysis, thermal simulation, power budgeting, and latency modeling for space-based computing.
Installation
npm install @rotastellar/computeQuick Start
Feasibility Analysis
import {
FeasibilityCalculator,
WorkloadProfile,
WorkloadType
} from '@rotastellar/compute';
// Create a calculator for 550km altitude
const calc = new FeasibilityCalculator({ altitudeKm: 550.0 });
// Define your workload
const profile = new WorkloadProfile({
workloadType: WorkloadType.INFERENCE,
computePowerKw: 10.0,
memoryGb: 32.0,
latencyRequirementMs: 100.0
});
// Analyze feasibility
const result = calc.analyze(profile);
console.log(`Feasible: ${result.feasible}`);
console.log(`Rating: ${result.rating}`); // EXCELLENT, GOOD, MARGINAL, or NOT_FEASIBLE
console.log(`Thermal margin: ${result.thermalMarginPercent.toFixed(1)}%`);
console.log(`Power margin: ${result.powerMarginPercent.toFixed(1)}%`);Thermal Simulation
import {
ThermalSimulator,
ThermalConfig,
ThermalEnvironment
} from '@rotastellar/compute';
// Create simulator
const sim = new ThermalSimulator();
// Configure for 500W heat dissipation
const config = ThermalConfig.forPower(500.0);
// LEO environment at 550km
const env = ThermalEnvironment.leo({ altitudeKm: 550.0 });
// Run simulation
const result = sim.simulate(config, env);
console.log(`Equilibrium temperature: ${result.equilibriumTempC.toFixed(1)}°C`);
console.log(`Max temperature: ${result.maxTempC.toFixed(1)}°C`);
console.log(`Radiator area required: ${result.radiatorAreaM2.toFixed(2)} m²`);Power Analysis
import {
PowerAnalyzer,
PowerProfile,
SolarConfig,
BatteryConfig
} from '@rotastellar/compute';
// Analyzer for 550km orbit
const analyzer = new PowerAnalyzer({ altitudeKm: 550.0 });
// Power requirements
const profile = new PowerProfile({
averagePowerW: 500.0,
peakPowerW: 800.0
});
// Optional: customize solar and battery
const solar = new SolarConfig({ efficiency: 0.30, degradationPerYear: 0.02 });
const battery = new BatteryConfig({ depthOfDischarge: 0.40, efficiency: 0.95 });
// Analyze
const budget = analyzer.analyze(profile, { solarConfig: solar, batteryConfig: battery });
console.log(`Solar panel area: ${budget.solarPanelAreaM2.toFixed(2)} m²`);
console.log(`Battery capacity: ${budget.batteryCapacityWh.toFixed(0)} Wh`);
console.log(`Eclipse duration: ${budget.eclipseDurationMin.toFixed(1)} minutes`);Latency Modeling
import { LatencySimulator } from '@rotastellar/compute';
// Simulator for 550km altitude
const sim = new LatencySimulator({ altitudeKm: 550.0 });
// Simulate with 100ms processing time
const result = sim.simulate({ processingTimeMs: 100.0 });
console.log(`Propagation delay: ${result.propagationDelayMs.toFixed(1)} ms`);
console.log(`Processing time: ${result.processingTimeMs.toFixed(1)} ms`);
console.log(`Total latency: ${result.totalLatencyMs.toFixed(1)} ms`);
// Compare different altitudes
const altitudes = [400.0, 550.0, 800.0, 1200.0];
const comparison = sim.compareAltitudes(altitudes);
for (const altResult of comparison) {
console.log(`${altResult.altitudeKm}km: ${altResult.typicalLatencyMs.toFixed(1)}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
- Website: https://rotastellar.com/products/compute
- Documentation: https://docs.rotastellar.com/sdks/node/compute
- Main SDK: https://www.npmjs.com/package/@rotastellar/sdk
Author
Created by Subhadip Mitra at RotaStellar.
License
MIT License — Copyright (c) 2026 RotaStellar
