Thermal digital twin for orbital compute: size the radiator, find the cooling wall.
Project description
orbitherm
Thermal digital twin for orbital compute — size the radiator, find the cooling wall.
In vacuum, heat leaves only by radiation (q = εσT⁴). A space data center must
radiate away every watt it burns, plus what it absorbs from the Sun, Earth
albedo, and Earth IR. Radiative capacity grows only as T⁴, so radiator area —
not power — is the binding constraint on dense orbital compute. orbitherm
sizes that radiator and gives a go/no-go verdict from first-order physics, with
no heavy dependencies.
Install
pip install orbitherm
Quick start
import orbitherm as ot
twin = ot.ThermalTwin(
power_w=100_000, # 100 kW compute payload
radiator=ot.Radiator(area_m2=200, orientation="deep_space"),
orbit=ot.Orbit(altitude_km=550),
)
r = twin.evaluate()
print(r.verdict, f"{r.radiator_temp_c:.0f} C") # -> viable 48 C
print(r.message)
# How big must a 1 MW data-center radiator be to hold 50 C?
print(ot.size_radiator(1_000_000))
# -> {'area_m2': ~1940, 'mass_kg': ~7760, ...}
What it models
- Steady-state radiator temperature — Stefan-Boltzmann rejection balanced against compute dissipation plus absorbed solar / albedo / Earth-IR loads.
- Required radiator area to hold a target temperature at a given power.
- Mass and launch cost (today's ~$1000/kg vs. a ~$200/kg breakeven target).
- Transient temperature over one orbit, including the eclipse swing, using radiator thermal mass.
- Orbit geometry — period and eclipse fraction from altitude.
Radiator orientation matters: deep_space (best), nadir, or sun_facing
(worst case) change the parasitic environmental load.
API
| Object / function | Purpose |
|---|---|
Radiator(area_m2, emissivity, areal_density, orientation) |
Radiator panel |
Orbit(altitude_km) |
Circular orbit; .period_s, .eclipse_fraction |
ThermalTwin(power_w, radiator, orbit) |
.evaluate() and .transient() |
size_radiator(power_w, target_temp_c=50, ...) |
Minimum area/mass/cost |
orbitherm.physics |
Low-level functions (steady_state_temp, required_area, …) |
Scope
First-order feasibility and sizing tool — good for go/no-go decisions, architecture trade studies, and pitch analysis. It is not a substitute for detailed CAD/finite-element thermal analysis. Assumes an isothermal radiator, a fixed radiator→junction temperature rise, and worst-case (β=0) eclipse geometry.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orbitherm-0.1.0.tar.gz.
File metadata
- Download URL: orbitherm-0.1.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
876421e790c6b6ca226f2c38eed5d1ddd341489834927ba86d2eb9a3f6a36da4
|
|
| MD5 |
cd7313d60c0522bf6a8a6e60d850a0b9
|
|
| BLAKE2b-256 |
5fc762d2dc8957acf9b6a3cc2738f063f1b3eb01890f69fef7d8b8c71f1b4278
|
Provenance
The following attestation bundles were made for orbitherm-0.1.0.tar.gz:
Publisher:
release.yml on captainawesome78/orbitherm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
orbitherm-0.1.0.tar.gz -
Subject digest:
876421e790c6b6ca226f2c38eed5d1ddd341489834927ba86d2eb9a3f6a36da4 - Sigstore transparency entry: 2171966558
- Sigstore integration time:
-
Permalink:
captainawesome78/orbitherm@55490d70b31ddcb107419c7badd6ba29d1b9e784 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/captainawesome78
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@55490d70b31ddcb107419c7badd6ba29d1b9e784 -
Trigger Event:
release
-
Statement type:
File details
Details for the file orbitherm-0.1.0-py3-none-any.whl.
File metadata
- Download URL: orbitherm-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dec20d184aaa9b03e4814a1cc6d245a3e5ceb1a79351e7135255c73eacce577
|
|
| MD5 |
c64cf6650cb76c38c598edcfb8924f2d
|
|
| BLAKE2b-256 |
7900ccb5043ea5144455c86317aebcb7b387758cf65db8a9c2f8970b500a1b73
|
Provenance
The following attestation bundles were made for orbitherm-0.1.0-py3-none-any.whl:
Publisher:
release.yml on captainawesome78/orbitherm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
orbitherm-0.1.0-py3-none-any.whl -
Subject digest:
2dec20d184aaa9b03e4814a1cc6d245a3e5ceb1a79351e7135255c73eacce577 - Sigstore transparency entry: 2171966586
- Sigstore integration time:
-
Permalink:
captainawesome78/orbitherm@55490d70b31ddcb107419c7badd6ba29d1b9e784 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/captainawesome78
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@55490d70b31ddcb107419c7badd6ba29d1b9e784 -
Trigger Event:
release
-
Statement type: