Files
2026-02-19 08:00:36 +00:00

5.6 KiB
Raw Permalink Blame History

CONTEXT.md — ACS Stack Main Plate — Isogrid Lightweighting

Project: Isogrid Dev Plate Client: ACS (Attitude Control System) — Spacecraft structural assembly Author: Antoine + Atomizer Created: 2026-02-18 Status: Campaign 01 running — TPE v1


Mandate

Minimize the mass of the ACS spacecraft structural plate by replacing solid material with an adaptive triangular isogrid rib pattern. The rib density adapts to bolt-hole proximity, perimeter reinforcement, and FEA stress feedback from the previous trial.

Objective (single): Minimize total plate mass (kg) Constraint (hard): Max von Mises stress ≤ 100.6 MPa (AL7075-T6, SF = 5) No displacement constraint — confirmed by Antoine 2026-02-18


Material — AL7075-T6

Property Value Source
Density 2810 kg/m³ (2.810×10⁻⁶ kg/mm³) Material standard
Young's modulus 71.7 GPa Material standard
Poisson's ratio 0.33 Material standard
Yield strength (σ_yield) 503 MPa Material standard
Safety factor 5 Antoine (confirmed 2026-02-18)
σ_allow = σ_yield / SF 100.6 MPa Derived

⚠️ Material discrepancy: The NX FEM model (MAT1 card in DAT file) uses E = 68.98 GPa and ρ = 2.711×10⁻⁶ kg/mm³, which corresponds to AL6061-T6 properties. Optimization calculations (stress allowable, mass target) are based on AL7075-T6 as confirmed by Antoine. Model update to AL7075-T6 properties is tracked as a gap below.


Load Case

From baseline FEA (acs_stack_main_plate_iso_project_sim2-solution_1.f06):

Parameter Value Notes
Solver NX Nastran SOL 101 Linear static
Subcase 1 Single load case
Load FZ = 1,372.9 N 1.372931×10⁶ mN in kg-mm-s
Units kg-mm-s Stress output in kPa → ÷1000 → MPa

⚠️ BCs gap: Exact boundary condition details (which nodes are fixed, where load is applied) not yet extracted. Confirm by opening the model in NX or parsing the BDF for SPC/FORCE cards. Tracked below.


NX Model Map

Files

File Role Location
ACS_Stack_Main_Plate_Iso_Project.prt Geometry part (CAD) models/
ACS_Stack_Main_Plate_Iso_project_fem2_i.prt Idealized part — CRITICAL: must be loaded before UpdateFemodel() models/
ACS_Stack_Main_Plate_Iso_project_fem2.fem FEM — 3D solid mesh models/
ACS_Stack_Main_Plate_Iso_project_sim2.sim Simulation — SOL 101 models/
*_sim2-solution_1.op2 Baseline FEA results models/ (447 MB)

NX Version: DesigncenterNX2512 FEM type: 3D solid (CHEXA, CPENTA, CPYRAM, CTETRA) Simulation name: sim2 / solution_1

Baseline Mesh Stats (from F06)

Stat Value
Grid points 207,450
CHEXA elements 93,359
CPENTA elements 3,021
CPYRAM elements 125,954
CTETRA elements 232,206

Isogrid Sandbox Regions

Sandbox Size File
sandbox_1 Larger region adaptive_isogrid_data/geometry_sandbox_1.json
sandbox_2 Smaller patch adaptive_isogrid_data/geometry_sandbox_2.json

Baseline Performance

Metric Value Confidence
Solid plate mass [TBD — run extract_part_mass_material on baseline _i.prt] ⚠️ Pending
Max von Mises (baseline solid) [TBD — parse baseline OP2] ⚠️ Pending
Max displacement (baseline) [TBD — parse baseline OP2] ⚠️ Pending

To establish baseline: run extract_part_mass_material on the idealized part at baseline configuration, and extract_solid_stress on the baseline OP2. Record results here.


Known Gaps / Pending Items

ID Gap Priority Resolution
G-01 NX model uses AL6061 material properties — should be updated to AL7075-T6 MED Update MAT1 card in NX before next FEA campaign
G-02 Baseline plate mass not yet extracted HIGH Run extract_part_mass_material on baseline model
G-03 Boundary conditions not fully documented (which nodes fixed, load application point) MED Parse BDF SPC/FORCE cards or read from NX
G-04 Plate thickness not confirmed (sandbox geometry has thickness: null) LOW Not needed since mass extracted from NX directly
G-05 Max allowable displacement — no constraint for now Confirmed N/A by Antoine 2026-02-18

Optimization Setup Summary

Field Value
Objective Minimize mass (kg)
Constraint σ_max ≤ 100.6 MPa
Penalty formula mass + 1e4 × ((σ/σ_allow) 1)² when violated
Design space 8 continuous variables (see BREAKDOWN.md §2)
Algorithm Optuna TPE — seed 42
Trial budget 200 (Campaign 01)
Estimated runtime 810 hours
Trial logging studies/01_v1_tpe/2_iterations/trial_NNNN/
Results DB studies/01_v1_tpe/3_results/study.db

Status

Phase Status
NX geometry extraction (sandboxes) Done
Python Brain implementation Done
NX import journal (update-in-place) Done
Baseline FEA (manual) Done
Stress field extraction (OP2 → 2D) Done
Stress feedback field Done
Atomizer study wiring (run_optimization.py) Done
Campaign 01 execution 🔴 Not started
Baseline mass/stress documented ⚠️ G-02
Material alignment (AL7075 vs AL6061 in model) ⚠️ G-01