Use when run the simplified shielding analysis for a sensitive component under ECSS-E-ST-10-12C §6.2.2: model the shield as a planar slab, a spherical shell, or a set of solid-angle sectors, compute the areal density of each layer as thickness × density, invert that relation to derive the thickness needed for an areal-density budget, flux-weight the mean areal density across sectors, verify the sector set covers the full 4π sphere within tolerance, and report the minimum and maximum shielded ...
Scanned 9/27/2026
Install to Claude Code
npx -y skills add ashfordeOU/aero-agent-skills --skill e1012-shield-simple --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of E1012 Shield Simple?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ashfordeou-e1012-shield-simple)More formats (shields.io, HTML) on the badges page.
---
name: e1012-shield-simple
description: "Use when run the simplified shielding analysis for a sensitive component under ECSS-E-ST-10-12C §6.2.2: model the shield as a planar slab, a spherical shell, or a set of solid-angle sectors, compute the areal density of each layer as thickness × density, invert that relation to derive the thickness needed for an areal-density budget, flux-weight the mean areal density across sectors, verify the sector set covers the full 4π sphere within tolerance, and report the minimum and maximum shielded ray directions as the worst- and best-case exposure paths. Trigger: ecss, e-st-10-12c, simplified-shielding, planar-slab, spherical-shell, solid-angle-sectoring, areal-density, shielding-summary."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
- id: ecss
reference-only: true
gated: false
domain: space-systems
pack: space-systems
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
domain: space-systems
subdomain: ecss
tags: [ecss, e-st-10-12c, simplified-shielding, planar-slab, spherical-shell, solid-angle-sectoring, areal-density]
version: 0.1.0
author: Aero Agent Skills
---
# ECSS Space Environment — Simplified Shielding Geometry (space-systems/ecss/e1012-shield-simple)
Use when the task is a simplified shielding computation under
ECSS-E-ST-10-12C §6.2.2 — reducing a shielding problem to a planar slab, a
spherical shell, or a small set of solid-angle sectors, and computing areal
density, the inverse thickness, and sector coverage with stdlib arithmetic
alone.
## Domain quick reference
- §6.2.2 permits simplified shielding approaches when the surrounding structure
is regular enough that a small number of representative ray directions
captures the shielding distribution. Three geometry families are supported
here, and they are independent: planar, spherical, and solid-angle sectoring.
- **Areal density** is the governing quantity and is conserved across
materials: `areal_density (g/cm²) = thickness (cm) × density (g/cm³)`. The
planar model returns it directly from a slab thickness; the spherical models
return it along a radial ray (shell thickness or sphere radius); the sector
model carries one areal-density value per sector direction.
- **Planar** geometry treats the shield as a flat slab of uniform thickness, so
the areal density is constant across the surface and the relation is exactly
invertible — given an areal-density budget and a material density the
required physical thickness is the budget divided by the density.
- **Spherical** geometry treats the shield as a shell around the sensitive
volume. A shell's radial areal density is `(outer − inner) × density`; a
solid sphere's is `radius × density`. The shell value equals the difference of
the two solid-sphere values, which is a useful consistency check.
- **Solid-angle sectoring** decomposes the full 4π sr sphere into sectors, each
carrying a solid angle ω (sr) and its own areal density. The flux-weighted
mean areal density is `Σ(ωᵢ × ADᵢ) / Σωᵢ`; the minimum and maximum sector
values bound the worst- and best-shielded directions. A complete sector set
must sum to 4π sr within a fractional tolerance.
## Workflow
1. Choose the geometry family. Use planar when the shield is a flat plate seen
at normal incidence; spherical when the sensitive volume is enclosed by a
shell or is a solid sphere seen radially; sectoring when the shielding
varies with direction and a coarse angular breakdown is acceptable.
2. For planar geometry, call `planar_areal_density(thickness_cm,
density_g_cm3)`. If instead an areal-density budget is the input, call
`planar_thickness_from_areal_density(areal_density_g_cm2, density_g_cm3)` to
obtain the required physical thickness. Both reject negative thickness or
areal density and non-positive density.
3. For spherical geometry, call `spherical_shell_areal_density(outer_radius_cm,
inner_radius_cm, density_g_cm3)` for an enclosing shell, which requires the
outer radius to exceed the inner radius, or `solid_sphere_areal_density(
radius_cm, density_g_cm3)` for a solid body seen along a radial ray.
4. For sectoring, build the sector set with `build_uniform_sectoring(n_sectors,
density_g_cm3, thickness_cm)` for a uniform shell, or supply an explicit
list of `{"solid_angle_sr": ω, "areal_density_g_cm2": AD}` dicts. Each
sector must carry both keys, a strictly positive solid angle, and a
non-negative areal density.
5. Confirm the sector set covers the sphere with
`total_solid_angle_check(sectors, tolerance=0.01)`; a partial set returns
False. Then take `solid_angle_weighted_areal_density(sectors)` as the mean
ray, and `minimum_sector_areal_density` / `maximum_sector_areal_density` as
the bounding directions.
6. Aggregate the direction picture with `shielding_summary(sectors)`, which
returns the sector count, the minimum, maximum and flux-weighted mean areal
densities, and the full-sphere coverage flag in one dict.
7. Feed the resulting areal density (single value, or the weighted mean / worst
direction) into the dose or fluence attenuation step of the shielding
calculation process; the simplified geometry provides the areal density, not
the environment response.
## Pitfalls
- Applying the planar relation to a curved or strongly directional shield — a
slab model assumes uniform areal density across the surface and cannot
represent angular variation; that case needs sectoring.
- Confusing shell thickness with shell radius in the spherical model — a shell
uses `(outer − inner)`, a solid sphere uses `radius`; using the radius for a
thin shell overstates the shielding substantially.
- Treating a partial or overlapping sector set as complete — the weighted mean
is only meaningful if the sector solid angles sum to 4π sr; run
`total_solid_angle_check` before trusting the mean, and treat False as an
invalid model rather than a small error.
- Weighting sectors by their areal density instead of their solid angle — the
mean must weight each sector's areal density by the solid angle it subtends,
otherwise a narrow but heavily shielded direction dominates incorrectly.
- Reporting only the flux-weighted mean — a mean that meets the budget can hide
a minimum-direction sector that does not; always report the minimum bounding
ray alongside the mean.
## Behavior contract (gate 3)
The planar, spherical, and solid-angle sectoring logic is exercised by the
gate 3 contract test: `scripts/test_e1012_shield_simple.py` against
`scripts/e1012_shield_simple_logic.py` (stdlib unittest, offline). The test
exercises `planar_areal_density` and its inverse
`planar_thickness_from_areal_density` (round-trip and zero cases),
`spherical_shell_areal_density` and `solid_sphere_areal_density` (including
the shell-equals-difference-of-solids identity),
`build_uniform_sectoring`, `solid_angle_weighted_areal_density`,
`total_solid_angle_check`, `minimum_sector_areal_density`,
`maximum_sector_areal_density`, and `shielding_summary`, together with the
`ShieldingError` raised on every invalid input (negative or zero thickness and
density, outer radius not exceeding inner, non-positive radius, empty sector
list, missing sector key, negative sector areal density, non-positive sector
count). Run:
python3 scripts/test_e1012_shield_simple.py
## Compliance
- ECSS standards are freely downloadable (ESA); cite the source and paraphrase
per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!