Skip to main content

Programmatic access and screening engine for spaceflight materials data: NASA outgassing (ASTM E595), cryogenic property curves, and design allowables.

Project description

spacemat

Python tools for spaceflight materials selection.

The package bundles a snapshot of the NASA GSFC outgassing database (all 13,582 ASTM E595 test entries as of the retrieval date, fetched from outgassing.nasa.gov) so it can be queried offline, plus cryogenic property curves for the alloys and insulators commonly used in cryo tank and instrument work.

pip install -e .
spacemat summary "scotchweld 2216"
64 test(s) matching 'scotchweld 2216': 18 pass, 46 fail, 0 incomplete
TML  min 0.10  median 1.10  max 2.85
CVCM min 0.00  median 0.03  max 1.50

Keeping the per-test history matters: EC-2216 is usually quoted as passing E595, but across 64 tests it failed 46 times depending on lot and cure schedule. Single quoted values hide this spread.

Outgassing database

Each entry has material, manufacturer, TML, CVCM, WVR, application, cure schedule, data reference, and year. NASA data is a US Government work and may be redistributed. python scripts/fetch_nasa_outgassing.py rebuilds the snapshot from the live site.

from spacemat import outgassing

outgassing.search("RTV 566")
outgassing.screen(tml_max=1.0, cvcm_max=0.1, contains="epoxy")
outgassing.summarize("braycote")
outgassing.snapshot_info()

The same things from the shell:

spacemat search "rtv 566"
spacemat screen --tml 1.0 --cvcm 0.1 --application adhesive --csv passing.csv
spacemat info

Numeric screens drop entries with missing values, so a screen result means tested and passed, not no data found.

Cryogenic property curves

Thermal conductivity, specific heat, thermal contraction, and Young's modulus are evaluated from the curve-fit equations NIST publishes for cryogenic materials, using NIST's own coefficients (scripts/fetch_nist_fits.py parses them off the NIST pages). Materials covered this way: 304L, 316, 6061-T6, Inconel 718, Ti-6Al-4V, Invar 36, PTFE, polyimide, and G-10, most over 4 to 300 K.

NIST does not publish strength fits, so the yield and ultimate curves are typical values from the open literature, with a source string on each entry. They are suitable for trade studies, not design allowables. The same applies to 301 cold rolled and Al-Li 2195 in general, which NIST does not cover.

Queries outside a curve's measured range return None; the thermal tools raise. Cryogenic data is never extrapolated.

from spacemat import screen, TML, CVCM, YIELD_STRENGTH, CONTRACTION, K

screen(TML < 1.0, CVCM < 0.1, YIELD_STRENGTH > 1000, T_service=90*K)
screen(CONTRACTION < 0.3, T_service=77*K)

Thermal tools

Heat leak through a support depends on the integral of k dT across the temperature span. The integral is computed exactly for point curves and numerically for the NIST fits:

from spacemat import K
from spacemat.thermal import heat_leak, contraction_mismatch

heat_leak("G-10", area_m2=1.1e-4, length_m=0.3, T_cold=90*K, T_hot=295*K)
contraction_mismatch("PTFE", "304L", 77*K)   # differential strain, percent

examples/strut_heat_leak.py contains a worked strut-sizing example.

Compliance reports

spacemat report 304L "RTV 566" "Vespel SP-1" --temp 90 -o compliance.md

Generates a Markdown report with E595 pass/fail, flammability flags, and properties at the service temperature. Non-metals are also checked against the bundled NASA database, reporting the number of upstream tests and their TML/CVCM spread. Materials that exceed the TML limit only because of absorbed water (TML minus WVR under the limit) are marked CONDITIONAL, since these are normally accepted after bakeout.

examples/vet_bom.py runs the same check over a bill of materials.

Other utilities

  • compare(["304L", "Al-Li 2195"], T_service=90*K) prints a trade table
  • ashby_plot(DENSITY, YIELD_STRENGTH, T_service=90*K) scatter plots, requires pip install spacemat[plot]
  • spacemat.export flattens materials and database entries to CSV or dict records for pandas
  • The test suite enforces that every data value carries a source string

Development

pip install -e .[dev]
pytest

MIT licensed. Data contributions must include a source.

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

spacemat-0.3.0.tar.gz (427.5 kB view details)

Uploaded Source

Built Distribution

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

spacemat-0.3.0-py3-none-any.whl (423.2 kB view details)

Uploaded Python 3

File details

Details for the file spacemat-0.3.0.tar.gz.

File metadata

  • Download URL: spacemat-0.3.0.tar.gz
  • Upload date:
  • Size: 427.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spacemat-0.3.0.tar.gz
Algorithm Hash digest
SHA256 46c91785783852e2a1f5e3dcd36c191203870dba3fa1d4ad68fd4c7594ba925e
MD5 9d04b41a6ed66860277f39a8251150c4
BLAKE2b-256 64c6a15aee036aa40d1458bbafa11d4ac4c9ddc3fea790d0e0820af0a1ea54bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for spacemat-0.3.0.tar.gz:

Publisher: publish.yml on Krataios14/spacemat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spacemat-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: spacemat-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 423.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spacemat-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4dbe334ab10906200ace23c9d73583414fd356dd6ee198d6cb5f912abb8851c7
MD5 979830431c666aee23bfe9f4de22826b
BLAKE2b-256 3673e078f8f7c8030fede00211e6846987260f2eb4546deb6817db94c7ab7ce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for spacemat-0.3.0-py3-none-any.whl:

Publisher: publish.yml on Krataios14/spacemat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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