From ed6874092feb8ce6b7961eac95718b083073fac6 Mon Sep 17 00:00:00 2001 From: Anto01 Date: Mon, 16 Feb 2026 12:11:16 -0500 Subject: [PATCH] chore: clean hydrotech-beam syncthing conflicts and add new docs - Remove all .sync-conflict-* files - Remove temp _temp_part_properties.json files - Add USER_GUIDE.md - Add dashboard docs (Executive, Technical, Operations, Master Plan) - Add playbooks (DOE, NX_REAL_RUN, SYNCTHING_RECOVERY) - Update iteration results Co-Authored-By: Claude Opus 4.6 --- .../.stfolder/syncthing-folder-a62d30.txt | 5 + projects/hydrotech-beam/README.md | 4 + projects/hydrotech-beam/USER_GUIDE.md | 65 ++++++ .../dashboard/EXECUTIVE_DASHBOARD.md | 33 +++ .../hydrotech-beam/dashboard/MASTER_PLAN.md | 194 ++++++++++++++++++ .../dashboard/OPERATIONS_DASHBOARD.md | 43 ++++ .../dashboard/TECHNICAL_DASHBOARD.md | 43 ++++ ...y.sync-conflict-20260209-202842-VBCUD7Z.md | 22 -- ...x.sync-conflict-20260209-202842-VBCUD7Z.md | 47 ----- ...m.sync-conflict-20260209-202842-VBCUD7Z.md | 52 ----- ...1.sync-conflict-20260209-202842-VBCUD7Z.md | 58 ------ ...c.sync-conflict-20260209-202842-VBCUD7Z.md | 46 ----- ...i.sync-conflict-20260209-202842-VBCUD7Z.md | 26 --- projects/hydrotech-beam/models/Beam.prt | Bin 293258 -> 293259 bytes projects/hydrotech-beam/models/Beam_fem1.fem | Bin 3682623 -> 3682627 bytes .../hydrotech-beam/models/Beam_fem1_i.prt | Bin 223898 -> 223886 bytes projects/hydrotech-beam/models/Beam_sim1.sim | Bin 6573453 -> 6573451 bytes projects/hydrotech-beam/models/_temp_mass.txt | 2 +- projects/hydrotech-beam/playbooks/DOE.md | 39 ++++ .../hydrotech-beam/playbooks/NX_REAL_RUN.md | 38 ++++ .../playbooks/SYNCTHING_RECOVERY.md | 38 ++++ .../iterations/iter001/_temp_mass.txt | 2 +- .../iterations/iter001/results.json | 2 +- .../iterations/iter002/_temp_mass.txt | 2 +- .../iterations/iter002/results.json | 2 +- .../iterations/iter003/_temp_mass.txt | 2 +- .../iterations/iter003/results.json | 2 +- .../iterations/iter004/_temp_mass.txt | 2 +- .../iterations/iter004/results.json | 2 +- .../iterations/iter005/_temp_mass.txt | 2 +- .../iterations/iter005/results.json | 2 +- .../iterations/iter006/_temp_mass.txt | 2 +- .../iterations/iter006/results.json | 2 +- .../iterations/iter007/_temp_mass.txt | 2 +- .../iterations/iter007/results.json | 2 +- .../iterations/iter008/_temp_mass.txt | 2 +- .../iterations/iter008/results.json | 2 +- .../iterations/iter009/_temp_mass.txt | 2 +- .../iterations/iter009/results.json | 2 +- .../iterations/iter010/_temp_mass.txt | 2 +- .../iterations/iter010/results.json | 2 +- .../iterations/iter011/_temp_mass.txt | 2 +- .../iterations/iter011/results.json | 2 +- .../iterations/iter012/_temp_mass.txt | 2 +- .../iterations/iter012/results.json | 2 +- .../iterations/iter013/_temp_mass.txt | 2 +- .../iterations/iter013/results.json | 2 +- .../iterations/iter014/_temp_mass.txt | 2 +- .../iterations/iter014/results.json | 2 +- .../iterations/iter015/_temp_mass.txt | 2 +- .../iterations/iter015/results.json | 2 +- .../iterations/iter016/_temp_mass.txt | 2 +- .../iterations/iter016/results.json | 2 +- .../iterations/iter017/_temp_mass.txt | 2 +- .../iterations/iter017/results.json | 2 +- .../iterations/iter018/_temp_mass.txt | 2 +- .../iterations/iter018/results.json | 2 +- .../iterations/iter019/_temp_mass.txt | 2 +- .../iterations/iter019/results.json | 2 +- .../iterations/iter020/_temp_mass.txt | 2 +- .../iterations/iter020/results.json | 2 +- .../iterations/iter021/_temp_mass.txt | 2 +- .../iterations/iter021/results.json | 2 +- .../iterations/iter022/_temp_mass.txt | 2 +- .../iterations/iter022/results.json | 2 +- .../iterations/iter023/_temp_mass.txt | 2 +- .../iterations/iter023/results.json | 2 +- .../iterations/iter024/_temp_mass.txt | 2 +- .../iterations/iter024/results.json | 2 +- .../iterations/iter025/_temp_mass.txt | 2 +- .../iterations/iter025/results.json | 2 +- .../iterations/iter026/_temp_mass.txt | 2 +- .../iterations/iter026/results.json | 2 +- .../iterations/iter027/_temp_mass.txt | 2 +- .../iterations/iter027/results.json | 2 +- .../iterations/iter028/_temp_mass.txt | 2 +- .../iterations/iter028/results.json | 2 +- .../iterations/iter029/_temp_mass.txt | 2 +- .../iterations/iter029/results.json | 2 +- .../iterations/iter030/_temp_mass.txt | 2 +- .../iterations/iter030/results.json | 2 +- .../iterations/iter031/_temp_mass.txt | 2 +- .../iterations/iter031/results.json | 2 +- .../iterations/iter032/_temp_mass.txt | 2 +- .../iterations/iter032/results.json | 2 +- .../iterations/iter033/_temp_mass.txt | 2 +- .../iterations/iter033/results.json | 2 +- .../iterations/iter034/_temp_mass.txt | 2 +- .../iterations/iter034/results.json | 2 +- .../iterations/iter035/_temp_mass.txt | 2 +- .../iterations/iter035/results.json | 2 +- .../iterations/iter036/_temp_mass.txt | 2 +- .../iterations/iter036/results.json | 2 +- .../iterations/iter037/_temp_mass.txt | 2 +- .../iterations/iter037/results.json | 2 +- .../iterations/iter038/_temp_mass.txt | 2 +- .../iterations/iter038/results.json | 2 +- .../iterations/iter039/_temp_mass.txt | 2 +- .../iterations/iter039/results.json | 2 +- .../doe_results.csv | 103 ++++++++++ .../doe_summary.json | 64 ++++++ .../history.db | Bin 0 -> 45056 bytes .../01_doe_landscape/results/doe_results.csv | 78 +++---- .../01_doe_landscape/results/doe_summary.json | 4 +- .../01_doe_landscape/results/history.db | Bin 32768 -> 45056 bytes 105 files changed, 789 insertions(+), 371 deletions(-) create mode 100644 projects/.stfolder/syncthing-folder-a62d30.txt create mode 100644 projects/hydrotech-beam/USER_GUIDE.md create mode 100644 projects/hydrotech-beam/dashboard/EXECUTIVE_DASHBOARD.md create mode 100644 projects/hydrotech-beam/dashboard/MASTER_PLAN.md create mode 100644 projects/hydrotech-beam/dashboard/OPERATIONS_DASHBOARD.md create mode 100644 projects/hydrotech-beam/dashboard/TECHNICAL_DASHBOARD.md delete mode 100644 projects/hydrotech-beam/kb/_history.sync-conflict-20260209-202842-VBCUD7Z.md delete mode 100644 projects/hydrotech-beam/kb/_index.sync-conflict-20260209-202842-VBCUD7Z.md delete mode 100644 projects/hydrotech-beam/kb/components/sandwich-beam.sync-conflict-20260209-202842-VBCUD7Z.md delete mode 100644 projects/hydrotech-beam/kb/dev/gen-001.sync-conflict-20260209-202842-VBCUD7Z.md delete mode 100644 projects/hydrotech-beam/kb/fea/models/sol101-static.sync-conflict-20260209-202842-VBCUD7Z.md delete mode 100644 projects/hydrotech-beam/kb/materials/steel-aisi.sync-conflict-20260209-202842-VBCUD7Z.md create mode 100644 projects/hydrotech-beam/playbooks/DOE.md create mode 100644 projects/hydrotech-beam/playbooks/NX_REAL_RUN.md create mode 100644 projects/hydrotech-beam/playbooks/SYNCTHING_RECOVERY.md create mode 100644 projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_results.csv create mode 100644 projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_summary.json create mode 100644 projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/history.db diff --git a/projects/.stfolder/syncthing-folder-a62d30.txt b/projects/.stfolder/syncthing-folder-a62d30.txt new file mode 100644 index 00000000..5fa90ab7 --- /dev/null +++ b/projects/.stfolder/syncthing-folder-a62d30.txt @@ -0,0 +1,5 @@ +# This directory is a Syncthing folder marker. +# Do not delete. + +folderID: sqr2v-3dhfn +created: 2026-02-14T14:17:29-05:00 diff --git a/projects/hydrotech-beam/README.md b/projects/hydrotech-beam/README.md index 4006162f..d7046eb5 100644 --- a/projects/hydrotech-beam/README.md +++ b/projects/hydrotech-beam/README.md @@ -61,6 +61,10 @@ hydrotech-beam/ - [CONTEXT.md](CONTEXT.md) — Full intake data - [BREAKDOWN.md](BREAKDOWN.md) — Tech Lead's technical analysis - [DECISIONS.md](DECISIONS.md) — All project decisions +- [USER_GUIDE.md](USER_GUIDE.md) — Living user guide (operators + bots) +- [playbooks/DOE.md](playbooks/DOE.md) — DOE execution playbook +- [playbooks/NX_REAL_RUN.md](playbooks/NX_REAL_RUN.md) — Real NX run checklist +- [playbooks/SYNCTHING_RECOVERY.md](playbooks/SYNCTHING_RECOVERY.md) — Sync recovery and cleanup - [kb/_index.md](kb/_index.md) — Knowledge base overview ## Team diff --git a/projects/hydrotech-beam/USER_GUIDE.md b/projects/hydrotech-beam/USER_GUIDE.md new file mode 100644 index 00000000..e0b23711 --- /dev/null +++ b/projects/hydrotech-beam/USER_GUIDE.md @@ -0,0 +1,65 @@ +# Hydrotech Beam — User Guide (Living) + +> Audience: Antoine, future users, and Atomizer agents/bots. +> Status: Living document — update after each meaningful run/decision. + +## 1) Purpose +This guide explains how to run Hydrotech Beam studies safely and reproducibly, how to interpret outputs, and how to avoid common pitfalls (backend mix-up, sync conflicts, stale results). + +## 2) Quick Start + +### Study folder +`C:\Users\antoi\Atomizer\Projects\hydrotech-beam\studies\01_doe_landscape` + +### Core command (real NX run) +```powershell +python .\run_doe.py --backend nxopen --model-dir "" --clean --study-name hydrotech_beam_doe_phase1_real +``` + +### Dev/testing command (fake physics) +```powershell +python .\run_doe.py --backend stub --clean --study-name hydrotech_beam_doe_phase1_stub +``` + +⚠️ `stub` is synthetic. Do **not** use stub outputs for engineering decisions. + +## 3) Critical Rules +1. Always specify `--backend` explicitly (never rely on defaults). +2. Before a decision review, confirm whether results are from `nxopen` or `stub`. +3. Keep result artifacts clean (archive conflicts, avoid mixed appended runs unless intentional). +4. After every run, write a run log entry (template below). + +## 4) Run Log Template (required) +Copy this into `DECISIONS.md` or project log after every run: + +```md +## Run Record — YYYY-MM-DD HH:MM +- Operator: +- Command: +- Backend: nxopen | stub +- Model dir: +- Study name: +- Constraints: displacement=__ mm, stress=__ MPa +- Result summary: total=__, solved=__, geo_infeasible=__, feasible=__ +- Gate check: PASS | FAIL +- Notes/issues: +- Next action: +``` + +## 5) Playbooks +- `playbooks/NX_REAL_RUN.md` — clean real run checklist + validation +- `playbooks/DOE.md` — DOE execution and gate rules +- `playbooks/SYNCTHING_RECOVERY.md` — sync conflict and stale data recovery + +## 6) Current Known Pitfalls +- `run_doe.py` default backend is `stub` unless overridden. +- Mixing old + new runs in same DB/file can produce misleading totals. +- Syncthing conflict files (`*.sync-conflict-*`) can silently fork truth. +- NX expression names must match exactly (e.g., typo-sensitive names in model). + +## 7) Ownership +- CEO (Antoine): go/no-go and final technical decisions. +- Manager: orchestration + process + documentation enforcement. +- Study Builder: run scripts and settings correctness. +- Tech Lead: engineering validity of constraints and interpretation. +- Auditor: quality gate before external conclusions. diff --git a/projects/hydrotech-beam/dashboard/EXECUTIVE_DASHBOARD.md b/projects/hydrotech-beam/dashboard/EXECUTIVE_DASHBOARD.md new file mode 100644 index 00000000..a7c26c1d --- /dev/null +++ b/projects/hydrotech-beam/dashboard/EXECUTIVE_DASHBOARD.md @@ -0,0 +1,33 @@ +# Hydrotech Beam — Executive Dashboard + +Last updated (UTC): 2026-02-14T22:24:29 +Source: `studies/01_doe_landscape/results/doe_summary.json` + `doe_results.csv` + +## CEO 60-second view +- **Phase:** DOE Phase 1 (LHS) +- **Gate status:** ❌ **BLOCKED** (Phase 1 → Phase 2) +- **Total trials:** 51 +- **Solved:** 39 (**76.5%**, below 80% gate) +- **Geo-infeasible:** 12 +- **Fully feasible designs:** 0 (gate requires ≥5) + +## Top signals +- ✅ Mass extraction now looks real (no NaN in solved rows) +- ✅ Syncthing cleanup completed (active conflict files archived) +- ⚠️ Displacement constraint is the blocker (0/39 displacement-feasible at 10 mm) +- ⚠️ DOE→TPE gate cannot pass with current limits/bounds + +## Decision hotlist (CEO) +1. **Approve next constraint strategy**: + - Option A (recommended): exploratory rerun at **20 mm** displacement + - Option B: keep 10 mm and tighten design bounds for stiffness +2. **Approve TPE entry rule** (with strict gate or conditional gate) + +## Recommendation (current) +Proceed with **Option A** for exploration (20 mm), then tighten toward 10 mm in staged optimization. + +## KPI snapshot +- Solve success rate: **76.5%** +- Feasibility rate (full): **0.0%** +- Best solved mass: **686.289 kg** (not fully feasible) +- Best trial ID by mass: **26** diff --git a/projects/hydrotech-beam/dashboard/MASTER_PLAN.md b/projects/hydrotech-beam/dashboard/MASTER_PLAN.md new file mode 100644 index 00000000..1cc2fddd --- /dev/null +++ b/projects/hydrotech-beam/dashboard/MASTER_PLAN.md @@ -0,0 +1,194 @@ +# Hydrotech Beam — Dashboard & Reporting Master Plan (Multi-LLM Synthesis) + +## Purpose +Give Antoine a single, reliable command view of project health while preserving full technical depth and operational traceability. + +This plan synthesizes recommendations from: +- Codex 5.3 (execution architecture + contracts + KPI gates) +- Opus 4.6 (PKM-first, markdown-native, low-overhead governance) +- Gemini Pro (clear role-based dashboards + event-stream discipline) + +--- + +## North-Star Architecture (Hybrid, future-proof) + +### Phase 1 default (now): **PKM-native dashboards in markdown** +- No new infrastructure required +- Fastest path to value +- Agent-native read/write and auditability + +### Phase 2+ extension: **optional web UI over same contracts** +- If/when needed for richer visual analytics +- No rewrite: UI reads the same structured contracts and event logs + +**Key principle:** Data contracts first, presentation second. + +--- + +## 1) Information Architecture + +## A. Project-specific (lives under `projects/hydrotech-beam/`) +- `dashboard/` — generated dashboard markdown snapshots +- `reports/` — run/phase/executive reports +- `runs/` — run manifests and execution metadata +- `decisions/` — append-only decision records +- `incidents/` — sync/solver/process incident records +- `playbooks/` — project execution procedures + +## B. Foundational (lives under `docs/`) +- `docs/guides/` — reusable dashboard/report standards +- `docs/reference/data-contracts/` — versioned schema definitions +- `docs/protocols/` — gates, QA, governance rules +- `docs/templates/` — report and dashboard templates + +--- + +## 2) Dashboard Modules (3-tier) + +## A. Executive Dashboard (60-second scan) +- Project status (RAG + phase + blockers) +- Milestone confidence and slip risk +- Decision hotlist (items needing CEO approval) +- Top risks + mitigation owners +- Gate state (Pass / Conditional / Fail) + +## B. Technical Dashboard +- DOE/TPE performance (success, feasible points, convergence) +- Constraint panel (disp/stress/geo violations) +- Data quality checks (NaN, stub-vs-nxopen, stale/mixed runs) +- Traceability (requirement → run → result → decision) + +## C. Operations Dashboard +- Queue and throughput (WIP, cycle time, backlog) +- Blocker tracker + MTTR +- Review SLA status +- Syncthing/data integrity panel +- Documentation freshness/compliance + +--- + +## 3) Data Contracts (mandatory) + +All dashboard/report content must come from structured records with lineage. + +Required contracts (v1): +1. `run_manifest.v1.json` +2. `trial_result.v1.json` +3. `study_summary.v1.json` +4. `decision_record.v1.json` +5. `risk_record.v1.json` +6. `gate_evaluation.v1.json` +7. `incident_record.v1.json` + +Required fields in every record: +- `schema_version`, `project_id`, `run_id` (if applicable) +- `timestamp_utc`, `owner`, `source_file`, `source_hash` + +Ingestion rules: +- Reject invalid schema +- Keep append-only history for decisions/gates/incidents +- Nightly integrity check + drift report + +--- + +## 4) Report System + +## A. Daily Ops Brief (auto) +- Blockers, failures, overdue reviews, data integrity warnings + +## B. Weekly Executive Brief (auto + curated) +- Milestone confidence, top risks, decision asks, KPI trend deltas + +## C. Gate Review Pack (formal) +- Criteria checklist, evidence index, exceptions, sign-offs + +## D. Technical Deep Dive (on-demand) +- Methods, assumptions, sensitivity, reproducibility evidence + +Render path: +- Markdown source of truth +- Optional HTML/PDF exports from templates +- Immutable snapshot ID per issued report + +--- + +## 5) Governance & Ownership + +- **Manager (owner):** documentation architecture, dashboard governance, release quality +- **Tech Lead:** technical KPI definitions, thresholds, validation logic +- **Study Builder:** data pipeline and generators +- **Optimizer:** analytics logic and recommendation layer +- **Auditor:** contract compliance + gate QA + +Rule enforced: +- Project-specific content in `projects/...` +- Foundational content in `docs/...` + +--- + +## 6) KPI Set + Gate Rules (starter) + +## KPI starter set +- Solve success rate +- Full feasibility rate +- Best feasible mass +- Constraint violation percentiles (disp/stress) +- Data integrity score +- Decision cycle time +- Blocker MTTR +- Documentation freshness lag + +## Gate policy +- Gate states: `PASS` | `CONDITIONAL_PASS` | `FAIL` +- Conditional pass requires named owner + due date + risk acceptance +- Hard fail blocks progression + +DOE→TPE gate (initial): +- Solve success ≥ 80% +- Feasible points ≥ 5 +- Data integrity score ≥ 95% + +--- + +## 7) Rollout Plan + +## Phase 0 (48h) +- Contract definitions + KPI dictionary +- Dashboard markdown templates +- Run manifest/logger enabled + +## Phase 1 (1 week) +- Live executive + operations dashboards +- Daily ops brief + weekly executive brief + +## Phase 2 (2–3 weeks) +- Technical dashboard depth (DOE/TPE analytics, traceability) +- Gate review packs with evidence linking + +## Phase 3 (ongoing) +- Optional web UI layer +- Predictive risk signals and anomaly detection + +--- + +## 8) Risks & Mitigations + +1. Backend confusion (stub vs nxopen) +- Mitigation: manifest hard-check + dashboard alert + +2. Syncthing conflicts / stale truth +- Mitigation: conflict detector + incident workflow + +3. Schema drift +- Mitigation: versioned contracts + validator + auditor checks + +4. Dashboard sprawl +- Mitigation: role-based views + KPI change control + +5. Documentation decay +- Mitigation: freshness SLA + automated stale flags + +--- + +## Decision +Proceed with **PKM-native dashboard/report system now**, built on strict contracts and governance, with a clean upgrade path to richer UI later. diff --git a/projects/hydrotech-beam/dashboard/OPERATIONS_DASHBOARD.md b/projects/hydrotech-beam/dashboard/OPERATIONS_DASHBOARD.md new file mode 100644 index 00000000..1b2fadc9 --- /dev/null +++ b/projects/hydrotech-beam/dashboard/OPERATIONS_DASHBOARD.md @@ -0,0 +1,43 @@ +# Hydrotech Beam — Operations Dashboard + +Last updated (UTC): 2026-02-14T22:24:29 + +## Pipeline status +- Study folder sync: ✅ healthy (latest artifacts visible) +- Conflict artifacts: ✅ archived under `results/archive_conflicts_*` +- Clean rerun archive: ✅ `results/archive_before_clean_rerun_*` + +## Artifact integrity +Active result files present: +- `doe_results.csv` +- `doe_summary.json` +- `doe_run.log` +- `history.csv` +- `history.db` +- `optuna_study.db` + +## Process compliance +- Backend clarity rule: must always run with explicit `--backend` +- Documentation boundary rule: enforced + - Project-specific docs → `projects/...` + - Foundational standards → `docs/...` +- New standards created: + - `projects/hydrotech-beam/dashboard/MASTER_PLAN.md` + - `docs/guides/PKM_DASHBOARD_STANDARD.md` + - `docs/guides/DOCUMENTATION_BOUNDARIES.md` + +## Current blockers +1. Phase gate blocked (insufficient feasible designs) +2. Need CEO decision on constraint path for next DOE/TPE sequence + +## Next operational actions (owner) +1. **Manager:** keep dashboards refreshed after every run +2. **Tech Lead:** finalize recommended constraint staging +3. **Study Builder:** prep reproducible command set for next run +4. **Optimizer:** define TPE launch criteria + seed strategy +5. **Auditor:** enforce gate criteria and data-contract checks + +## SLA targets (initial) +- Dashboard freshness: ≤ 1h after major run +- Run log compliance: ≥ 95% +- Decision backlog age: ≤ 48h diff --git a/projects/hydrotech-beam/dashboard/TECHNICAL_DASHBOARD.md b/projects/hydrotech-beam/dashboard/TECHNICAL_DASHBOARD.md new file mode 100644 index 00000000..44486f40 --- /dev/null +++ b/projects/hydrotech-beam/dashboard/TECHNICAL_DASHBOARD.md @@ -0,0 +1,43 @@ +# Hydrotech Beam — Technical Dashboard + +Last updated (UTC): 2026-02-14T22:24:29 +Source: `studies/01_doe_landscape/results/doe_results.csv` + +## Study health +- Trials: 51 +- Solved: 39 +- Geo-infeasible: 12 +- Solve failures: 0 +- Full-feasible: 0 + +## Constraint status +- Displacement limit: **10.0 mm** +- Stress limit: **130.0 MPa** + +Observed solved ranges: +- Tip displacement: **11.7788 → 39.4912 mm** +- Max von Mises stress: **75.0116 → 398.4295 MPa** + +Feasibility counts: +- Displacement feasible: **0** +- Stress feasible: **23** +- Fully feasible: **0** + +## Performance / runtime +- Solve time range (solved): **12.42 s → 59.59 s** +- Pattern indicates real NX execution (non-stub timing) + +## Data quality checks +- Mass NaN (solved): **0** ✅ +- Penalty mass (99999): **12** (geo infeasible trials) ✅ expected +- Mixed appended run state: **cleared** (current clean 51-trial set) + +## Technical interpretation +- Current geometry space + 10 mm displacement limit appears too restrictive. +- Stress limit is partially satisfiable (23/39), so the primary bottleneck is stiffness/displacement. + +## Recommended technical next actions +1. Run a controlled DOE with displacement limit = 20 mm (exploration mode) +2. Identify near-feasible stiff regions +3. Launch TPE with penalty + staged tightening toward 10 mm +4. Re-run gate check with updated feasible counts diff --git a/projects/hydrotech-beam/kb/_history.sync-conflict-20260209-202842-VBCUD7Z.md b/projects/hydrotech-beam/kb/_history.sync-conflict-20260209-202842-VBCUD7Z.md deleted file mode 100644 index 40adbbd4..00000000 --- a/projects/hydrotech-beam/kb/_history.sync-conflict-20260209-202842-VBCUD7Z.md +++ /dev/null @@ -1,22 +0,0 @@ -# Knowledge Base History — Hydrotech Beam - -All modifications tracked by generation. - ---- - -## Gen 001 — 2026-02-09 — Initial KB - -**Source:** Project intake (CONTEXT.md) + Technical Lead breakdown (BREAKDOWN.md) -**Author:** Manager 🎯 - -**Created:** -- `components/sandwich-beam.md` — initial component file from intake data -- `materials/steel-aisi.md` — material placeholder -- `fea/models/sol101-static.md` — FEA model placeholder from breakdown -- `dev/gen-001.md` — generation document - -**Key findings from breakdown:** -- Baseline FAILS displacement constraint (22 mm vs 10 mm limit) -- Feasible region may be narrow — stiffness and mass compete -- Sandwich effect (core thickness) is the primary stiffness lever -- 9 gaps identified requiring CEO input before proceeding diff --git a/projects/hydrotech-beam/kb/_index.sync-conflict-20260209-202842-VBCUD7Z.md b/projects/hydrotech-beam/kb/_index.sync-conflict-20260209-202842-VBCUD7Z.md deleted file mode 100644 index d4af7131..00000000 --- a/projects/hydrotech-beam/kb/_index.sync-conflict-20260209-202842-VBCUD7Z.md +++ /dev/null @@ -1,47 +0,0 @@ -# Knowledge Base — Hydrotech Beam - -**Project:** Hydrotech Beam Structural Optimization -**Generation:** 001 -**Last updated:** 2026-02-09 - ---- - -## Overview - -Sandwich I-beam optimization for a test fixture. Steel construction with lightening holes in the web. Goal: reduce mass from ~974 kg while meeting displacement (≤ 10 mm) and stress (≤ 130 MPa) constraints. - -## Components - -| Component | File | Status | -|-----------|------|--------| -| Sandwich Beam | [sandwich-beam.md](components/sandwich-beam.md) | Initial | - -## Materials - -| Material | File | Status | -|----------|------|--------| -| Steel (AISI) | [steel-aisi.md](materials/steel-aisi.md) | Initial | - -## FEA - -| Model | File | Status | -|-------|------|--------| -| Static Analysis (SOL 101) | [fea/models/sol101-static.md](fea/models/sol101-static.md) | Pending gap resolution | - -## Generations - -| Gen | Date | Summary | -|-----|------|---------| -| 001 | 2026-02-09 | Initial KB from intake + technical breakdown | - -## Open Tasks - -- ❓ G1: Beam length and support conditions -- ❓ G2: Loading definition (point? distributed? self-weight?) -- ❓ G3: Displacement measurement location and DOF -- ❓ G4: Stress constraint scope (whole model? exclude supports?) -- ❓ G5: Geometric feasibility of hole patterns at extremes -- ❓ G6: Result sensors in Beam_sim1.sim -- ❓ G7: NX parametric rebuild reliability across full range -- ❓ G8: Mesh type, density, convergence status -- ❓ G9: 130 MPa stress limit basis (yield? safety factor?) diff --git a/projects/hydrotech-beam/kb/components/sandwich-beam.sync-conflict-20260209-202842-VBCUD7Z.md b/projects/hydrotech-beam/kb/components/sandwich-beam.sync-conflict-20260209-202842-VBCUD7Z.md deleted file mode 100644 index bdbbaae3..00000000 --- a/projects/hydrotech-beam/kb/components/sandwich-beam.sync-conflict-20260209-202842-VBCUD7Z.md +++ /dev/null @@ -1,52 +0,0 @@ -# Sandwich Beam - -**Type:** Primary structural component -**Material:** Steel (AISI) — see [steel-aisi.md](../materials/steel-aisi.md) -**Status:** Baseline documented, optimization pending - ---- - -## Description - -Sandwich I-beam serving as primary load-bearing member in a test fixture assembly. Cross-section features a core layer flanked by face sheets on top and bottom flanges. Web contains a pattern of lightening holes (circular cutouts) to reduce mass. - -## Specifications - -| Parameter | Value | Units | Source | -|-----------|-------|-------|--------| -| Mass (baseline) | ~974 | kg | NX expression `p173` | -| Tip displacement (baseline) | ~22 | mm | SOL 101 result | -| Half-core thickness | 20 (baseline) | mm | DV range: 10–40 | -| Face thickness | 20 (baseline) | mm | DV range: 10–40 | -| Hole diameter | 300 (baseline) | mm | DV range: 150–450 | -| Hole count | 10 (baseline) | — | DV range: 5–15 (integer) | -| Beam length | ❓ TBD | mm | Gap G1 | -| Support conditions | ❓ TBD | — | Gap G1 | - -## Structural Behavior - -*From Technical Breakdown (Gen 001):* - -The beam is **bending-dominated**: - -| Behavior | Governing Parameters | Notes | -|----------|---------------------|-------| -| Bending stiffness (EI) | Face thickness, core thickness | Faces carry bending stress, core carries shear. Stiffness scales ~quadratically with distance from neutral axis | -| Mass | All four variables | Core and face add material; holes remove material from web | -| Stress concentrations | Hole diameter, hole spacing | Larger holes → higher SCF at edges. Closely spaced holes can interact | -| Shear capacity | Core thickness, hole count, diameter | Holes reduce shear-carrying area | - -## Design Variable Interactions - -1. **Core × Face** — classic sandwich interaction. Optimal stiffness balances core depth (lever arm) vs face material (bending resistance) -2. **Hole diameter × Hole count** — both remove web material. Large + many could leave insufficient ligament width -3. **Face × Hole diameter** — thicker faces reduce nominal stress, allowing larger holes -4. **Core × Hole diameter** — core thickness determines web height, constrains max feasible hole diameter - -## Key Risk - -> ⚠️ Baseline FAILS displacement constraint (22 mm vs 10 mm target). Optimizer must increase stiffness by >50% while reducing mass. Feasible region may be tight. - -## History - -- **Gen 001** (2026-02-09): Initial documentation from intake + technical breakdown diff --git a/projects/hydrotech-beam/kb/dev/gen-001.sync-conflict-20260209-202842-VBCUD7Z.md b/projects/hydrotech-beam/kb/dev/gen-001.sync-conflict-20260209-202842-VBCUD7Z.md deleted file mode 100644 index ac818456..00000000 --- a/projects/hydrotech-beam/kb/dev/gen-001.sync-conflict-20260209-202842-VBCUD7Z.md +++ /dev/null @@ -1,58 +0,0 @@ -# Gen 001 — Project Intake + Technical Breakdown - -**Date:** 2026-02-09 -**Sources:** CEO intake in #project-hydrotech-beam, Technical Lead analysis -**Author:** Manager 🎯 - ---- - -## What Happened - -1. Antoine submitted the Hydrotech beam optimization request via #project-hydrotech-beam -2. Manager created project folder and CONTEXT.md from intake data -3. Technical Lead produced a full technical breakdown (BREAKDOWN.md) -4. Manager and CEO agreed on project structure (KB-integrated layout) - -## Key Findings - -### From Intake -- Sandwich I-beam, steel, with lightening holes in web -- 4 design variables (3 continuous + 1 integer) -- Current design: ~974 kg, ~22 mm tip displacement -- Targets: minimize mass, displacement ≤ 10 mm, stress ≤ 130 MPa - -### From Technical Breakdown -- **Critical:** Baseline already violates displacement constraint (22 mm vs 10 mm) -- Single-objective formulation recommended (minimize mass, constrain the rest) -- Two-phase approach: DoE (40–50 trials) then TPE (60–100 trials) -- Significant variable interactions expected (sandwich theory, hole interactions) -- 9 gaps identified needing CEO input -- Overall risk: MEDIUM-HIGH (feasible region may be tight or empty) - -## KB Entries Created - -- `components/sandwich-beam.md` — component file with specs, behavior, interactions -- `materials/steel-aisi.md` — placeholder, needs NX model data -- `fea/models/sol101-static.md` — solver setup, pending gap resolution - -## Decisions Made - -- DEC-HB-004: KB-integrated project structure (Approved) -- DEC-HB-005: No Notion, Gitea + .md only (Approved) -- DEC-HB-006: KB skill extension pattern, no fork (Approved) - -## Open Items - -9 gaps pending CEO input (see [_index.md](../_index.md)): -- G1–G2: Geometry and loading (most critical) -- G3–G4: Result extraction specifics -- G5: Geometric feasibility at extremes -- G6–G8: NX model details -- G9: Stress allowable basis - -## Next Steps - -1. Resolve gaps G1–G9 with Antoine -2. Upload reference models to `models/` -3. Begin NX model introspection -4. Set up first study (DoE) diff --git a/projects/hydrotech-beam/kb/fea/models/sol101-static.sync-conflict-20260209-202842-VBCUD7Z.md b/projects/hydrotech-beam/kb/fea/models/sol101-static.sync-conflict-20260209-202842-VBCUD7Z.md deleted file mode 100644 index 002cb786..00000000 --- a/projects/hydrotech-beam/kb/fea/models/sol101-static.sync-conflict-20260209-202842-VBCUD7Z.md +++ /dev/null @@ -1,46 +0,0 @@ -# SOL 101 — Static Analysis - -**Simulation:** Beam_sim1.sim -**Solver:** NX Nastran SOL 101 (Linear Static) -**Status:** Pending gap resolution - ---- - -## Setup - -| Item | Value | Notes | -|------|-------|-------| -| Solution type | SOL 101 (Linear Static) | Appropriate for this problem | -| Element type | ❓ TBD | Gap G8: CQUAD4/CQUAD8 (shell) or CTETRA/CHEXA (solid)? | -| Mesh density | ❓ TBD | Gap G8: convergence checked? | -| Loading | ❓ TBD | Gap G2: point load? distributed? self-weight? | -| BCs | ❓ TBD | Gap G1: cantilever? simply-supported? | - -## Result Extraction - -| Output | Method | Expression/Sensor | Status | -|--------|--------|-------------------|--------| -| Mass | NX expression | `p173` | ✅ Known | -| Tip displacement | ❓ Sensor or .f06 parse | TBD | Gap G3, G6 | -| Von Mises stress | ❓ Sensor or .f06 parse | TBD | Gap G4, G6 | - -## Solver Considerations - -*From Technical Breakdown:* - -- **Linear assumption:** 22 mm displacement on likely 2+ m beam → L/δ probably OK. Verify. -- **Mesh sensitivity:** Stress at hole edges is mesh-dependent. Need convergence check (Gap G8). -- **Mesh morphing vs remesh:** Parametric NX models typically remesh on update. Need to confirm behavior across DV range (Gap G7). -- **Runtime estimate:** Single beam, ~10K–100K DOF → probably seconds to low minutes per evaluation. - -## Validation Checklist - -- [ ] Baseline mass matches NX expression `p173` -- [ ] Baseline displacement matches reported ~22 mm -- [ ] Mesh convergence verified at baseline -- [ ] Mesh quality acceptable at DV range extremes -- [ ] Model rebuilds cleanly at all 4 corners of design space - -## History - -- **Gen 001** (2026-02-09): Initial documentation from technical breakdown. All solver details pending gap resolution. diff --git a/projects/hydrotech-beam/kb/materials/steel-aisi.sync-conflict-20260209-202842-VBCUD7Z.md b/projects/hydrotech-beam/kb/materials/steel-aisi.sync-conflict-20260209-202842-VBCUD7Z.md deleted file mode 100644 index 4d729d35..00000000 --- a/projects/hydrotech-beam/kb/materials/steel-aisi.sync-conflict-20260209-202842-VBCUD7Z.md +++ /dev/null @@ -1,26 +0,0 @@ -# Steel (AISI) - -**Status:** Placeholder — needs full material card details - ---- - -## Properties - -| Property | Value | Units | Source | -|----------|-------|-------|--------| -| Standard | AISI | — | Intake | -| Grade | ❓ TBD | — | Need from NX model | -| Yield strength | ❓ TBD | MPa | — | -| E (Young's modulus) | ❓ TBD | GPa | — | -| Density | ❓ TBD | kg/m³ | — | -| Poisson's ratio | ❓ TBD | — | — | - -## Notes - -- Stress allowable of 130 MPa was given as constraint — need to confirm basis (Gap G9) -- If yield is ~250 MPa, then 130 MPa implies SF ≈ 1.9 — conservative -- Material card should be extracted from NX model during introspection - -## History - -- **Gen 001** (2026-02-09): Placeholder from intake — "Steel (AISI)" is all we have diff --git a/projects/hydrotech-beam/models/Beam.prt b/projects/hydrotech-beam/models/Beam.prt index 37152686cee4a05441185491fad404dc06570fb9..c026cf13cbfaf1aa30ec38f933e6f56d2b081514 100644 GIT binary patch delta 28942 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

Wj89o7n1_AXa*w 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 R{7tAs!MpCi9824-`Cnw8(bE6` delta 19023 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 delta 32226 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 diff --git a/projects/hydrotech-beam/models/Beam_sim1.sim b/projects/hydrotech-beam/models/Beam_sim1.sim index 2a498f1a820c1d36a5425a078d7b5a7272ee8918..3eefcbd177eef21038c1bffaeb896b9ec6cc18a9 100644 GIT binary patch delta 2322 zcmaLZeNdD|90%}y?ttTtqvPQ25RNzDfD;h(B!q)R5Ku&3ghLS!U-p@)92`XdprH|A z(5#RKeUfc*N(VKaY$Bz)Qc?yREz%q_$7#rk(#A<@d_bfK?di*ba9(52%;%nG_xU}) z-Dhua_gW9^mA8OzNzsb@k`i07N97{oI5JQAavXO-&~b4}F?F)8TFB+Xl#e5B3tPEZ zxOqf)j|=5)3l}&OS1$~5G2D<~kVSBt1gk7sp)a~*CZxD)?-dOv)X7D+Z*5oA zLappK!RBt18%NvN`Ulk1)$Sgs^JyD34r~rTcci0cEXc2;=I^eafU3Y4^TUrXN!6PZ z?(RGJzJz14M~c&h`5cF96-4_H@;H@HofyV-bhRc@H*d9q5G%X@?Ol(OyE(W1-1>s9 zv({)X_)dM5tiJZuc>TriTC&S*#o0L+h3t%cITCsavb3F^ZKM7JFXBUZBP~lcu&u74 zTpK6gR?)2GzYGc`WZ9MQln;l`qv>6dIar|&kWb07mb zxPd!(fC4;0X*Z{<#-CTLN#V#yjf}+{Q*GcL*!LV$m3jVWgm#Z~s=y1>;0@1!27EvZ zzTgKs(1QW|VHN~HAQ&MCf*}M#Aq-|iI7EO6A|VQ*!3=XC24W!&=0ZFqz&w}_7FYm@ z@GK<3LP&-butF-N!E>+((qS=VKqf4KEXal&SPIJ^7nVaFtblwdfI=vOl~4>NV1rUv z1*@S9)<8K_Kqah&Dp&{WVFPTmk95)`FI8=+k57TS?C@H>J@E|9`r#hP{Rx=`b0HH} zLp3x(JDh+XxDI#i!FOnjT!AlZVu`VTbeC#4tP=kA-a)!cu2Q>kQe#GAp#)V6w(j|`FyhlSqoN|RqqS`ekK%^l# zPBB4}sBwuQMoIK>Z7)y~wJvpRyGSh|PW?1UqTV&;GGbISF-$o`%bmw$^AHWu&)g?o zk{IU5p<;)IXsUC1g(R9LZ%q#k8^hzy>1Ge3Jd=*)4pWQ4>2(|3Br$F(|K4FbhaDZJ z8bg9hugOH%Ja%Z9>bUui6Z5=Jn`D(gu;%-;!MCboVo8u6Ub}PhTzQlEjnHUq+En$5 zsq=A`H$vlmtM*Kl`=-uX)-pmHnDzk;R+lAR+ftffTlLPo{Hx6RfJRKL0(R_;Z)zOt zg|09>#s1KZPYDg(_=+z1mn7RiNx{L%lH|H|r7)X`kK>fA$;2OdVw++gM)DQYn;O$b z@!6^Y^Z5NNsdd?YZ?-OqcWi5HEQ)V-cdR(9DVjg(Xdc_3k%_T_A>j- z%x|1d=dwq#m9ac~>XZN9k>#=cyH9)6ULVI71*j5j7K_!AXtgY4-)HmTPUZF-{&lCK c>uq~a4*$7_t}b`-zsolhn>~)Dwk*GY0ZEl+^Z)<= delta 2278 zcmaLZdrVVT90%}oT1sgtqm)v4*;XkJ0TGZ16qF$rbpu2mipoR0*DP)tr!$#4L7dMh zE;H9~%%+P`r`zHpTXEe28K8>~T(%iDGj%5XfrFtN7eog>cK2-&>AJX^eA?b~e&^S7 z?>#-g?)%_?d_U-l3-j`ei%W{UD`yecG3Rp~rSzhpr}3(RjM26=!hC90jYZrR*3&pu zj)ix19v4nh6a7uNKrM8OaEHdydxAk0L01b_S+r7DxFn2_BKv_K{HgGkT=Y6}wfeHK zPWHP{q6m}sHP*9=`<%tzpa|7#>l^#JHnoM-99uga9(Zi+h`lYOGBkFt{jA;Gzotp$ z_(CJ$7@d)_c|ks<_^gKLKtje+39D1g^tgS03g_kLrz9i;Rspj=No%3Xu9ZEyLK-f# zTSM*Ft-f^Pl?PP`=hF5xt@P`hYAY)#vgP7t*s}BG$g2@(<_@3w#-6TKcwwd~{2aB^ z{a0GAv~PNuOt_iJ z5cCiP2ABZB5CWkP2H`Lfj9>yYOoGV}0TzgaD2Rp_m;$j72k|f!5?~r6LJ}mybVz|0 zVFsi^8l;02G9VLX!Ys&wmmnKvLk`RV8|1=Vm$Sm~C%1-Ac-;B$GD|)09$s^vo2_() zcctEbd)RTYgWIo7`07M{^TC=YPl^`D+-SQx@W=S754q&F>LcA&Jv(`mGs{S@!lU-CE;E$Xv9(3D>|^OGpWf01d!T2&|9?<**KRK?5{GGql2a zxC=o#LLy)~l*3MtV?x!?0zX1G41-2bwi2_RkQA5)N!}x3|Aw+#*Sy)hLZEwD9rNht*p66aOwe?9)ho8L~YsRDMysO(lKu zNDzhSf&%AGy9Bm93Bc8OLu^IZLn9GLjz2&c^U7#iq34eL-+9c7<3D`fNXN!_zA!|cRFX8qnv!TuN@QjmAE_KW`P;_teO{;I Zn_T{DZ~dnEqyI;)I4d`f8@b;t`UfxSb}s+` diff --git a/projects/hydrotech-beam/models/_temp_mass.txt b/projects/hydrotech-beam/models/_temp_mass.txt index 8ce62fe2..80cb5e66 100644 --- a/projects/hydrotech-beam/models/_temp_mass.txt +++ b/projects/hydrotech-beam/models/_temp_mass.txt @@ -1 +1 @@ -p173=1343.5034206648418 +1343.5034206648418 \ No newline at end of file diff --git a/projects/hydrotech-beam/playbooks/DOE.md b/projects/hydrotech-beam/playbooks/DOE.md new file mode 100644 index 00000000..a116e73d --- /dev/null +++ b/projects/hydrotech-beam/playbooks/DOE.md @@ -0,0 +1,39 @@ +# Playbook — DOE (Phase 1 Landscape) + +## Scope +Design of Experiments for Hydrotech Beam: baseline + LHS samples to map design space. + +## Standard flow +1. Prepare clean state (archive previous results if needed) +2. Run DOE with explicit backend +3. Validate outputs +4. Evaluate gate criteria +5. Decide next phase (rerun bounds/constraints or move to TPE) + +## Commands +### Real engineering DOE +```powershell +python .\run_doe.py --backend nxopen --model-dir "" --clean --study-name hydrotech_beam_doe_phase1_real +``` + +### Debug DOE only (synthetic) +```powershell +python .\run_doe.py --backend stub --clean --study-name hydrotech_beam_doe_phase1_stub +``` + +## Interpretation checklist +- `geo_infeasible` high: geometry bounds/checks may be too broad or too strict +- `fully_feasible = 0`: constraints may be too strict for current design space +- Very low runtime and suspiciously smooth outputs: likely stub execution + +## Decision branch +- If gate passed: proceed to TPE seeded by feasible points +- If gate failed: + - adjust constraints and/or DV bounds + - rerun clean DOE + +## Documentation requirement +After each DOE run, update: +- run record +- decision and rationale +- next action owner diff --git a/projects/hydrotech-beam/playbooks/NX_REAL_RUN.md b/projects/hydrotech-beam/playbooks/NX_REAL_RUN.md new file mode 100644 index 00000000..e2fdb414 --- /dev/null +++ b/projects/hydrotech-beam/playbooks/NX_REAL_RUN.md @@ -0,0 +1,38 @@ +# Playbook — NX Real Run (Hydrotech Beam) + +## Objective +Run a **real** DOE using NX/Simcenter (not stub), with clean artifacts and traceability. + +## Pre-Run Checklist +- [ ] In study folder: `...\studies\01_doe_landscape` +- [ ] Model directory contains expected `.sim`, `.fem`, `.prt` +- [ ] Syncthing healthy on both ends (no major errors) +- [ ] No unintended `*.sync-conflict-*` in active results root +- [ ] Command prepared with explicit `--backend nxopen` + +## Recommended command +```powershell +python .\run_doe.py --backend nxopen --model-dir "" --clean --study-name hydrotech_beam_doe_phase1_real +``` + +## During run — sanity checks +- Runtime per solved trial should be non-trivial (not near-zero for all trials). +- Log should indicate NX solve flow, not stub messages. +- Iteration outputs should be created. + +## Post-run validation +1. Check `results/doe_summary.json` +2. Check `results/doe_results.csv` +3. Verify: + - trial count expected (typically 51 for baseline + 50 LHS) + - solved/failed counts make sense + - mass values are numeric for solved trials + - no obvious synthetic patterns indicating stub run + +## Quality gate reminder +Phase 1 gate (current): +- ≥5 feasible points +- ≥80% solve success + +## Mandatory logging +Record the run in project docs using the run log template from `USER_GUIDE.md`. diff --git a/projects/hydrotech-beam/playbooks/SYNCTHING_RECOVERY.md b/projects/hydrotech-beam/playbooks/SYNCTHING_RECOVERY.md new file mode 100644 index 00000000..560f5e77 --- /dev/null +++ b/projects/hydrotech-beam/playbooks/SYNCTHING_RECOVERY.md @@ -0,0 +1,38 @@ +# Playbook — Syncthing Recovery (Hydrotech Beam) + +## Symptoms +- Latest run not visible on other side +- Old timestamps persist remotely +- `*.sync-conflict-*` files appear in `results/` + +## Recovery steps +1. Confirm both sides point to the same folder path +2. Rescan folder in Syncthing GUI +3. Pause/resume folder if stale +4. Restart Syncthing if needed +5. Archive conflicts from active results root + +## Conflict archive snippet (PowerShell) +```powershell +$ts = Get-Date -Format "yyyyMMdd_HHmmss" +$archive = ".\results\archive_conflicts_$ts" +New-Item -ItemType Directory -Path $archive -Force | Out-Null +Get-ChildItem .\results -File -Filter "*.sync-conflict-*" | Move-Item -Destination $archive +``` + +## Clean rerun prep snippet (PowerShell) +```powershell +$ts = Get-Date -Format "yyyyMMdd_HHmmss" +$old = ".\results\archive_before_clean_rerun_$ts" +New-Item -ItemType Directory -Path $old -Force | Out-Null + +$toArchive = @("doe_results.csv","doe_summary.json","doe_run.log","history.csv","history.db","optuna_study.db") +foreach ($f in $toArchive) { + if (Test-Path ".\results\$f") { Move-Item ".\results\$f" $old } +} +``` + +## Verification +- Main `results/` has only current active artifacts +- Conflict files moved to archive folder +- Remote side sees same timestamps/files diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/_temp_mass.txt index 3f08d065..cf67d22d 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/_temp_mass.txt @@ -1 +1 @@ -p173=1133.0042670507723 +1133.0042670507721 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/results.json index bde9c72e..0173b9f0 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter001/results.json @@ -1,6 +1,6 @@ { "iteration": 1, - "mass_kg": NaN, + "mass_kg": 1133.0042670507721, "tip_displacement_mm": 19.556875228881836, "max_von_mises_mpa": 117.484125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/_temp_mass.txt index c8a2a38c..dc61b59b 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/_temp_mass.txt @@ -1 +1 @@ -p173=1266.203458914867 +1266.2034589148668 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/results.json index 3c813f45..bef23892 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter002/results.json @@ -1,6 +1,6 @@ { "iteration": 2, - "mass_kg": NaN, + "mass_kg": 1266.2034589148668, "tip_displacement_mm": 24.064523696899414, "max_von_mises_mpa": 398.4295, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/_temp_mass.txt index 94a0a212..3da02335 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/_temp_mass.txt @@ -1 +1 @@ -p173=1109.9630535376045 +1109.963053537604 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/results.json index 607de7c8..99392f0a 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter003/results.json @@ -1,6 +1,6 @@ { "iteration": 3, - "mass_kg": NaN, + "mass_kg": 1109.963053537604, "tip_displacement_mm": 18.68077850341797, "max_von_mises_mpa": 114.6584609375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/_temp_mass.txt index f8160e44..73124a12 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/_temp_mass.txt @@ -1 +1 @@ -p173=1718.1024059936985 +1718.102405993698 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/results.json index 610183c9..9bd0f98e 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter004/results.json @@ -1,6 +1,6 @@ { "iteration": 4, - "mass_kg": NaN, + "mass_kg": 1718.102405993698, "tip_displacement_mm": 12.852874755859375, "max_von_mises_mpa": 81.574234375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/_temp_mass.txt index 26adfa2e..6c6ac70d 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/_temp_mass.txt @@ -1 +1 @@ -p173=1205.9185440163983 +1205.918544016398 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/results.json index cd3fab36..301c8fbe 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter005/results.json @@ -1,6 +1,6 @@ { "iteration": 5, - "mass_kg": NaN, + "mass_kg": 1205.918544016398, "tip_displacement_mm": 17.29557228088379, "max_von_mises_mpa": 106.283703125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/_temp_mass.txt index 4f9d3cf2..9eac0b0c 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/_temp_mass.txt @@ -1 +1 @@ -p173=1085.4467002717115 +1085.4467002717115 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/results.json index a4a699c3..908d51ad 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter006/results.json @@ -1,6 +1,6 @@ { "iteration": 6, - "mass_kg": NaN, + "mass_kg": 1085.4467002717115, "tip_displacement_mm": 17.468721389770508, "max_von_mises_mpa": 108.2625078125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/_temp_mass.txt index 1170ab79..492d6787 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/_temp_mass.txt @@ -1 +1 @@ -p173=1722.6740568945102 +1722.674056894509 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/results.json index c6f21f5d..39de7ccf 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter007/results.json @@ -1,6 +1,6 @@ { "iteration": 7, - "mass_kg": NaN, + "mass_kg": 1722.674056894509, "tip_displacement_mm": 15.069981575012207, "max_von_mises_mpa": 94.8715, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/_temp_mass.txt index 8dfedf85..5edacb9b 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/_temp_mass.txt @@ -1 +1 @@ -p173=1182.0927892029772 +1182.0927892029772 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/results.json index a2f71493..f5db5f0c 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter008/results.json @@ -1,6 +1,6 @@ { "iteration": 8, - "mass_kg": NaN, + "mass_kg": 1182.0927892029772, "tip_displacement_mm": 18.190187454223633, "max_von_mises_mpa": 123.9728203125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/_temp_mass.txt index a0abc6be..ea9785fc 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/_temp_mass.txt @@ -1 +1 @@ -p173=1185.767642455542 +1185.7676424555418 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/results.json index e9529bb1..f5ec594f 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter009/results.json @@ -1,6 +1,6 @@ { "iteration": 9, - "mass_kg": NaN, + "mass_kg": 1185.7676424555418, "tip_displacement_mm": 21.658220291137695, "max_von_mises_mpa": 202.82671875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/_temp_mass.txt index d8fc134a..51eea735 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/_temp_mass.txt @@ -1 +1 @@ -p173=987.0960407947643 +987.0960407947646 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/results.json index 7ff1cb5f..ca01cfff 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter010/results.json @@ -1,6 +1,6 @@ { "iteration": 10, - "mass_kg": NaN, + "mass_kg": 987.0960407947646, "tip_displacement_mm": 24.221370697021484, "max_von_mises_mpa": 190.267625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/_temp_mass.txt index 6ed18683..8d3ee4af 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/_temp_mass.txt @@ -1 +1 @@ -p173=1082.1233483234582 +1082.1233483234585 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/results.json index a6358483..4fa6c566 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter011/results.json @@ -1,6 +1,6 @@ { "iteration": 11, - "mass_kg": NaN, + "mass_kg": 1082.1233483234585, "tip_displacement_mm": 19.1060733795166, "max_von_mises_mpa": 133.927765625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/_temp_mass.txt index 42957ad8..c19f91b9 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/_temp_mass.txt @@ -1 +1 @@ -p173=783.4437976533501 +783.4437976533503 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/results.json index 56abf664..20b5cbd3 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter012/results.json @@ -1,6 +1,6 @@ { "iteration": 12, - "mass_kg": NaN, + "mass_kg": 783.4437976533503, "tip_displacement_mm": 31.39129066467285, "max_von_mises_mpa": 278.0956875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/_temp_mass.txt index a2dc16cd..10715785 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/_temp_mass.txt @@ -1 +1 @@ -p173=911.7858841605309 +911.7858841605309 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/results.json index 6f5f54a2..4c2af4ce 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter013/results.json @@ -1,6 +1,6 @@ { "iteration": 13, - "mass_kg": NaN, + "mass_kg": 911.7858841605309, "tip_displacement_mm": 27.53583335876465, "max_von_mises_mpa": 291.43825, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/_temp_mass.txt index 4e7dc57f..b70ca813 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/_temp_mass.txt @@ -1 +1 @@ -p173=1937.3276879524951 +1937.327687952495 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/results.json index 96dd4484..91aa27c8 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter014/results.json @@ -1,6 +1,6 @@ { "iteration": 14, - "mass_kg": NaN, + "mass_kg": 1937.327687952495, "tip_displacement_mm": 11.77879810333252, "max_von_mises_mpa": 75.011625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/_temp_mass.txt index c91b09d7..33043b25 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/_temp_mass.txt @@ -1 +1 @@ -p173=1641.9393126854027 +1641.9393126854027 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/results.json index ef20bf09..e03ee3c8 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter015/results.json @@ -1,6 +1,6 @@ { "iteration": 15, - "mass_kg": NaN, + "mass_kg": 1641.9393126854027, "tip_displacement_mm": 16.785146713256836, "max_von_mises_mpa": 169.51878125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/_temp_mass.txt index a16d7f1e..532eab54 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/_temp_mass.txt @@ -1 +1 @@ -p173=1166.4986109547917 +1166.4986109547924 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/results.json index be95d3f6..aede9ec6 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter016/results.json @@ -1,6 +1,6 @@ { "iteration": 16, - "mass_kg": NaN, + "mass_kg": 1166.4986109547924, "tip_displacement_mm": 21.478872299194336, "max_von_mises_mpa": 185.178296875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/_temp_mass.txt index 2e461f39..7b4d5e61 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/_temp_mass.txt @@ -1 +1 @@ -p173=1165.9879420724315 +1165.9879420724315 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/results.json index 1b90714c..e41ca9b8 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter017/results.json @@ -1,6 +1,6 @@ { "iteration": 17, - "mass_kg": NaN, + "mass_kg": 1165.9879420724315, "tip_displacement_mm": 24.657197952270508, "max_von_mises_mpa": 320.08565625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/_temp_mass.txt index 6d7e3111..969cb750 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/_temp_mass.txt @@ -1 +1 @@ -p173=1487.6954250173942 +1487.6954250173944 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/results.json index 95609d82..28957d45 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter018/results.json @@ -1,6 +1,6 @@ { "iteration": 18, - "mass_kg": NaN, + "mass_kg": 1487.6954250173944, "tip_displacement_mm": 17.36627769470215, "max_von_mises_mpa": 129.0215078125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/_temp_mass.txt index 449740b7..d6dfb006 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/_temp_mass.txt @@ -1 +1 @@ -p173=1211.87211970739 +1211.87211970739 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/results.json index ac3e238d..d9081d4e 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter019/results.json @@ -1,6 +1,6 @@ { "iteration": 19, - "mass_kg": NaN, + "mass_kg": 1211.87211970739, "tip_displacement_mm": 17.949995040893555, "max_von_mises_mpa": 127.061125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/_temp_mass.txt index 7780690a..787c0856 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/_temp_mass.txt @@ -1 +1 @@ -p173=1149.200700206242 +1149.2007002062417 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/results.json index b334c236..8d95a2d9 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter020/results.json @@ -1,6 +1,6 @@ { "iteration": 20, - "mass_kg": NaN, + "mass_kg": 1149.2007002062417, "tip_displacement_mm": 17.506193161010742, "max_von_mises_mpa": 110.5740859375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/_temp_mass.txt index 5e0bf78e..b50653f1 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/_temp_mass.txt @@ -1 +1 @@ -p173=1493.3399471409589 +1493.3399471409589 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/results.json index e372db28..ff3510bd 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter021/results.json @@ -1,6 +1,6 @@ { "iteration": 21, - "mass_kg": NaN, + "mass_kg": 1493.3399471409589, "tip_displacement_mm": 18.839136123657227, "max_von_mises_mpa": 256.434484375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/_temp_mass.txt index 05d1ba37..1afaf912 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/_temp_mass.txt @@ -1 +1 @@ -p173=686.2888916637669 +686.2888916637671 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/results.json index 3fbf1288..b31efd90 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter022/results.json @@ -1,6 +1,6 @@ { "iteration": 22, - "mass_kg": NaN, + "mass_kg": 686.2888916637671, "tip_displacement_mm": 31.85018539428711, "max_von_mises_mpa": 248.273609375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/_temp_mass.txt index 3075169d..16a2e5b7 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/_temp_mass.txt @@ -1 +1 @@ -p173=999.7016550018517 +999.7016550018517 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/results.json index 022d25cf..474f7b4c 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter023/results.json @@ -1,6 +1,6 @@ { "iteration": 23, - "mass_kg": NaN, + "mass_kg": 999.7016550018517, "tip_displacement_mm": 22.727807998657227, "max_von_mises_mpa": 147.5830625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/_temp_mass.txt index 5a9ece2e..b3c48468 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/_temp_mass.txt @@ -1 +1 @@ -p173=1435.135535503974 +1435.135535503974 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/results.json index c71368dc..584a9411 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter024/results.json @@ -1,6 +1,6 @@ { "iteration": 24, - "mass_kg": NaN, + "mass_kg": 1435.135535503974, "tip_displacement_mm": 15.669999122619629, "max_von_mises_mpa": 93.16090625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/_temp_mass.txt index f6270153..88a78aeb 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/_temp_mass.txt @@ -1 +1 @@ -p173=1528.3897999240266 +1528.3897999240266 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/results.json index c8975a0c..8376fc8d 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter025/results.json @@ -1,6 +1,6 @@ { "iteration": 25, - "mass_kg": NaN, + "mass_kg": 1528.3897999240266, "tip_displacement_mm": 14.4290132522583, "max_von_mises_mpa": 93.7885234375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/_temp_mass.txt index 4833a7d5..46e20465 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/_temp_mass.txt @@ -1 +1 @@ -p173=1276.5504502481265 +1276.5504502481267 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/results.json index 9b152550..f33afa6a 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter026/results.json @@ -1,6 +1,6 @@ { "iteration": 26, - "mass_kg": NaN, + "mass_kg": 1276.5504502481267, "tip_displacement_mm": 17.734634399414062, "max_von_mises_mpa": 110.49809375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/_temp_mass.txt index 0de6dd19..ca5149c7 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/_temp_mass.txt @@ -1 +1 @@ -p173=1410.1593512483248 +1410.1593512483248 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/results.json index 8a895d5c..3d8dbd14 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter027/results.json @@ -1,6 +1,6 @@ { "iteration": 27, - "mass_kg": NaN, + "mass_kg": 1410.1593512483248, "tip_displacement_mm": 17.536535263061523, "max_von_mises_mpa": 118.634125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/_temp_mass.txt index 16efa515..4eca9fc0 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/_temp_mass.txt @@ -1 +1 @@ -p173=1582.291153913998 +1582.291153913998 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/results.json index 7f0fa1b3..bd0a0d63 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter028/results.json @@ -1,6 +1,6 @@ { "iteration": 28, - "mass_kg": NaN, + "mass_kg": 1582.291153913998, "tip_displacement_mm": 15.368349075317383, "max_von_mises_mpa": 122.3722265625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/_temp_mass.txt index 638aa4cb..edfb3a71 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/_temp_mass.txt @@ -1 +1 @@ -p173=1398.2771475400532 +1398.2771475400532 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/results.json index 11b46e5c..4a2eca9d 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter029/results.json @@ -1,6 +1,6 @@ { "iteration": 29, - "mass_kg": NaN, + "mass_kg": 1398.2771475400532, "tip_displacement_mm": 15.375892639160156, "max_von_mises_mpa": 94.1200546875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/_temp_mass.txt index d27a9720..df611d2a 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/_temp_mass.txt @@ -1 +1 @@ -p173=1428.798569319311 +1428.798569319311 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/results.json index 835d34d5..cf13c626 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter030/results.json @@ -1,6 +1,6 @@ { "iteration": 30, - "mass_kg": NaN, + "mass_kg": 1428.798569319311, "tip_displacement_mm": 15.49566650390625, "max_von_mises_mpa": 93.2840390625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/_temp_mass.txt index f1d66c91..8e8803b4 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/_temp_mass.txt @@ -1 +1 @@ -p173=815.486611683971 +815.486611683971 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/results.json index f29fa207..fe9a0cc8 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter031/results.json @@ -1,6 +1,6 @@ { "iteration": 31, - "mass_kg": NaN, + "mass_kg": 815.486611683971, "tip_displacement_mm": 25.575746536254883, "max_von_mises_mpa": 154.783734375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/_temp_mass.txt index 5789d5da..3ff9851f 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/_temp_mass.txt @@ -1 +1 @@ -p173=1231.4483565590738 +1231.4483565590738 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/results.json index b6f4e7c1..47f36ffb 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter032/results.json @@ -1,6 +1,6 @@ { "iteration": 32, - "mass_kg": NaN, + "mass_kg": 1231.4483565590738, "tip_displacement_mm": 23.97252655029297, "max_von_mises_mpa": 196.272515625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/_temp_mass.txt index 88d6ef6a..15c4be62 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/_temp_mass.txt @@ -1 +1 @@ -p173=1754.139697344678 +1754.139697344678 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/results.json index cc517709..9a5f1da1 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter033/results.json @@ -1,6 +1,6 @@ { "iteration": 33, - "mass_kg": NaN, + "mass_kg": 1754.139697344678, "tip_displacement_mm": 13.120881080627441, "max_von_mises_mpa": 80.2448125, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/_temp_mass.txt index 96b435a3..74b3be11 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/_temp_mass.txt @@ -1 +1 @@ -p173=688.6297607768506 +688.6297607768505 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/results.json index f21b9a53..47f2f51c 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter034/results.json @@ -1,6 +1,6 @@ { "iteration": 34, - "mass_kg": NaN, + "mass_kg": 688.6297607768505, "tip_displacement_mm": 39.49115753173828, "max_von_mises_mpa": 351.02815625, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/_temp_mass.txt index 2ccbaf26..b9f723de 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/_temp_mass.txt @@ -1 +1 @@ -p173=1652.729145472504 +1652.7291454725032 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/results.json index 1aa3d24f..8f6224c1 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter035/results.json @@ -1,6 +1,6 @@ { "iteration": 35, - "mass_kg": NaN, + "mass_kg": 1652.7291454725032, "tip_displacement_mm": 13.15087890625, "max_von_mises_mpa": 82.6500234375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/_temp_mass.txt index ac4a5d07..ad3ed540 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/_temp_mass.txt @@ -1 +1 @@ -p173=899.6629740129987 +899.6629740129987 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/results.json index 52ec619a..a010d8f4 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter036/results.json @@ -1,6 +1,6 @@ { "iteration": 36, - "mass_kg": NaN, + "mass_kg": 899.6629740129987, "tip_displacement_mm": 22.770187377929688, "max_von_mises_mpa": 132.01121875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/_temp_mass.txt index 2597c13f..aa9161e4 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/_temp_mass.txt @@ -1 +1 @@ -p173=1539.426155950673 +1539.4261559506735 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/results.json index 52900fd2..0436e85f 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter037/results.json @@ -1,6 +1,6 @@ { "iteration": 37, - "mass_kg": NaN, + "mass_kg": 1539.4261559506735, "tip_displacement_mm": 13.971890449523926, "max_von_mises_mpa": 83.8096796875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/_temp_mass.txt index a2e6adec..db09efea 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/_temp_mass.txt @@ -1 +1 @@ -p173=1300.5025884507997 +1300.5025884507997 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/results.json index 5534b4d5..c63e5f5f 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter038/results.json @@ -1,6 +1,6 @@ { "iteration": 38, - "mass_kg": NaN, + "mass_kg": 1300.5025884507997, "tip_displacement_mm": 15.33069133758545, "max_von_mises_mpa": 95.525046875, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/_temp_mass.txt b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/_temp_mass.txt index 8ce62fe2..80cb5e66 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/_temp_mass.txt +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/_temp_mass.txt @@ -1 +1 @@ -p173=1343.5034206648418 +1343.5034206648418 \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/results.json b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/results.json index 3276d192..84f146f8 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/results.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/iterations/iter039/results.json @@ -1,6 +1,6 @@ { "iteration": 39, - "mass_kg": NaN, + "mass_kg": 1343.5034206648418, "tip_displacement_mm": 16.25737953186035, "max_von_mises_mpa": 106.1287734375, "feasible": false, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_results.csv b/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_results.csv new file mode 100644 index 00000000..df15d28e --- /dev/null +++ b/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_results.csv @@ -0,0 +1,103 @@ +trial_number,status,beam_half_core_thickness,beam_face_thickness,holes_diameter,hole_count,mass_kg,tip_displacement_mm,max_von_mises_MPa,geo_feasible,displacement_feasible,stress_feasible,fully_feasible,ligament_mm,web_clearance_mm,solve_time_s +0,solved,25.162,21.504,300.0,10,nan,19.556875228881836,117.484125,True,False,True,False,144.44444444444446,156.99200000000002,11.73 +1,solved,29.33562637086642,10.867852359605202,208.82139200571257,6,nan,24.064523696899414,398.4295,True,False,False,False,591.1786079942874,269.442903275077,12.22 +2,geo_infeasible,18.34349359126741,39.31614850983442,289.04224845483384,14,99999.0,99999.0,99999.0,False,,,,18.65005923747384,132.32545452549732, +3,solved,16.654851585575436,25.92976843726266,249.7752118546045,7,nan,18.68077850341797,114.6584609375,True,False,True,False,416.89145481206214,198.3652512708702,12.84 +4,solved,39.4879581560391,37.70634303203751,317.49333407316067,10,nan,12.852874755859375,81.574234375,True,False,True,False,126.95111037128379,107.09397986276429,12.99 +5,solved,18.667249127790498,27.961709646337493,215.2919645872769,12,nan,17.29557228088379,106.283703125,True,False,True,False,148.34439904908672,228.78461612004813,11.23 +6,solved,10.145147355948776,33.3870327520718,197.6501835498656,11,nan,17.468721389770508,108.2625078125,True,False,True,False,202.3498164501344,235.5757509459908,12.88 +7,geo_infeasible,31.736792540733404,28.439814602144864,445.0342129680445,13,99999.0,99999.0,99999.0,False,,,,-111.70087963471121,-1.9138421723342276, +8,solved,36.424864472055134,22.317342276314122,221.080294100253,5,nan,15.069981575012207,94.8715,True,False,True,False,778.919705899747,234.28502134711874,12.95 +9,geo_infeasible,36.013680927951604,24.658755282428263,325.6380323142787,15,99999.0,99999.0,99999.0,False,,,,-39.92374659999297,125.04445712086476, +10,solved,21.20971666430637,27.18728441912208,333.33951480703604,7,nan,18.190187454223633,123.9728203125,True,False,True,False,333.3271518596306,112.2859163547198,12.59 +11,solved,25.10064411916288,15.259636308480797,202.9393633023646,8,nan,21.658220291137695,202.82671875,True,False,False,False,368.48920812620685,266.5413640806738,12.86 +12,solved,23.5377088486766,15.77772417637908,295.1158776920038,12,nan,24.221370697021484,190.267625,True,False,False,False,68.52048594435985,173.32867395523806,12.66 +13,solved,11.932749457620524,35.9698658865046,357.1996739776378,9,nan,19.1060733795166,133.927765625,True,False,False,False,142.80032602236219,70.86059424935297,12.19 +14,solved,12.590502697615015,24.283216775288818,436.6385439056947,8,nan,31.39129066467285,278.0956875,True,False,False,False,134.79002752287676,14.795022543727669,12.08 +15,geo_infeasible,33.724650534677,25.545971283534612,391.769007728242,11,99999.0,99999.0,99999.0,False,,,,8.230992271757998,57.13904970468877, +16,geo_infeasible,24.937958219366468,34.305575803387285,428.6085833611129,15,99999.0,99999.0,99999.0,False,,,,-142.89429764682717,2.7802650321125384, +17,solved,20.01642602550961,12.736672936148768,235.02126154120555,14,nan,27.53583335876465,291.43825,True,False,False,False,72.67104615110213,239.5053925864969,13.28 +18,solved,32.781509299259234,39.647413256693376,172.7124919630828,7,nan,11.77879810333252,75.011625,True,False,True,False,493.9541747035838,247.99268152353045,12.56 +19,solved,38.451363316179766,16.7003930823653,186.1758118536306,12,nan,16.785146713256836,169.51878125,True,False,False,False,177.46055178273303,280.4234019816388,12.98 +20,solved,27.22384374533999,21.60434641918486,399.6751297258189,6,nan,21.478872299194336,185.178296875,True,False,False,False,400.3248702741811,57.11617743581138,13.42 +21,solved,33.00141187580357,12.103605508453288,352.97644218877866,7,nan,24.657197952270508,320.08565625,True,False,False,False,313.69022447788797,122.81634679431477,12.55 +22,solved,30.986372756119685,19.16832222642944,154.19092746511274,15,nan,17.36627769470215,129.0215078125,True,False,True,False,131.523358249173,307.4724280820284,13.28 +23,solved,19.50323693257984,31.89937313493798,382.0105860159447,6,nan,17.949995040893555,127.061125,True,False,True,False,417.9894139840553,54.19066771417937,13.42 +24,solved,13.727845373498717,29.571387264342114,158.4545070511115,6,nan,17.506193161010742,110.5740859375,True,False,True,False,641.5454929488885,282.4027184202042,12.81 +25,solved,39.182912433667966,13.547410048410338,242.6447570355275,10,nan,18.839136123657227,256.434484375,True,False,False,False,201.79968740891695,230.2604228676518,12.81 +26,solved,11.508005001497104,13.78017571971355,280.40478023124285,6,nan,31.85018539428711,248.273609375,True,False,False,False,519.5952197687571,192.03486832933004,12.5 +27,geo_infeasible,14.723131820394673,38.214626589017946,410.6578070859523,11,99999.0,99999.0,99999.0,False,,,,-10.6578070859523,12.912939736011822, +28,geo_infeasible,16.065524505472887,10.058438562073695,323.01235309450794,13,99999.0,99999.0,99999.0,False,,,,10.32098023882537,156.87076978134468, +29,solved,17.419169007999646,17.917141385501917,175.7984093879865,9,nan,22.727807998657227,147.5830625,True,False,False,False,324.2015906120135,288.3673078410097,12.61 +30,geo_infeasible,10.744888282098874,16.028260362958154,389.08612738372096,14,99999.0,99999.0,99999.0,False,,,,-81.39381969141328,78.85735189036274, +31,solved,31.240370325087493,26.41009203906711,273.18266513234516,10,nan,15.669999122619629,93.16090625,True,False,True,False,171.2617793120993,173.99715078952062,12.66 +32,geo_infeasible,20.775031495682867,18.602850091163862,439.30358863649826,10,99999.0,99999.0,99999.0,False,,,,5.1408558079461955,23.490711181173992, +33,solved,26.00450478511711,33.73796956646058,309.2653422609983,5,nan,14.4290132522583,93.7885234375,True,False,True,False,690.7346577390017,123.25871860608055,12.31 +34,solved,22.249541218652357,23.591878117279098,163.6658438964213,10,nan,17.734634399414062,110.49809375,True,False,True,False,280.7786005480232,289.1503998690205,13.06 +35,solved,34.50742630475948,19.91457704426444,301.4331617880579,8,nan,17.536535263061523,118.634125,True,False,True,False,269.99540964051357,158.73768412341326,13.78 +36,geo_infeasible,37.732969901755745,29.990170628054525,366.3730412701501,14,99999.0,99999.0,99999.0,False,,,,-58.68073357784243,73.64661747374083, +37,solved,37.19895822292572,36.450392892917435,405.40744176134933,7,nan,15.368349075317383,122.3722265625,True,False,True,False,261.2592249053173,21.691772452815826,13.09 +38,solved,24.13665312381697,30.60108948604478,257.34854555318736,8,nan,15.375892639160156,94.1200546875,True,False,True,False,314.0800258753841,181.4492754747231,12.28 +39,solved,30.315850546600835,28.803003242099344,286.25449297115927,11,nan,15.49566650390625,93.2840390625,True,False,True,False,113.74550702884073,156.13950054464203,12.64 +40,solved,15.231259729696596,20.51061793783426,341.16121801123404,10,nan,25.575746536254883,154.783734375,True,False,False,False,103.28322643321042,117.81754611309742,12.0 +41,solved,35.135355432426465,17.452468258634863,423.30383098713725,6,nan,23.97252655029297,196.272515625,True,False,False,False,376.69616901286275,41.79123249559302,12.84 +42,solved,35.46708851836511,32.57744662968254,228.6499364024705,13,nan,13.120881080627441,80.2448125,True,False,True,False,104.68339693086281,206.19517033816444,13.05 +43,solved,23.046420945659438,11.556167883135958,418.6187160546307,9,nan,39.49115753173828,351.02815625,True,False,False,False,81.38128394536932,58.26894817909738,12.69 +44,geo_infeasible,21.922047096798718,20.86393201618128,360.37912109679735,13,99999.0,99999.0,99999.0,False,,,,-27.045787763464034,97.89301487084009, +45,solved,26.538941763998174,37.0045746615665,184.02083272600328,13,nan,13.15087890625,82.6500234375,True,False,True,False,149.31250060733004,241.97001795086373,12.36 +46,solved,13.332306234655581,22.63837385797062,260.8868498376813,13,nan,22.770187377929688,132.01121875,True,False,False,False,72.44648349565199,193.8364024463774,11.94 +47,geo_infeasible,27.551926233190585,14.46757831387657,375.7580536267577,12,99999.0,99999.0,99999.0,False,,,,-12.121689990394088,95.30678974548914, +48,solved,28.542165422707903,34.70133239672506,264.8484124805317,11,nan,13.971890449523926,83.8096796875,True,False,True,False,135.1515875194683,165.74892272601818,12.08 +49,solved,15.926345240553108,35.64252369044628,223.5314270645531,8,nan,15.33069133758545,95.525046875,True,False,True,False,347.89714436401835,205.1835255545543,12.02 +50,solved,28.915906359365827,31.075262775497517,346.80055078514937,9,nan,16.25737953186035,106.1287734375,True,False,True,False,153.19944921485063,91.04892366385559,12.5 +51,solved,25.162,21.504,300.0,10,1053.5931383163481,18.28380041850322,0.13775595729301632,True,False,True,False,144.44444444444446,156.99200000000002,0.0 +52,solved,29.33562637086642,10.867852359605202,208.82139200571257,6,1158.9038448682088,21.115164911525884,0.16647270297547148,True,False,True,False,591.1786079942874,269.442903275077,0.0 +53,geo_infeasible,18.34349359126741,39.31614850983442,289.04224845483384,14,99999.0,99999.0,99999.0,False,,,,18.65005923747384,132.32545452549732, +54,solved,16.654851585575436,25.92976843726266,249.7752118546045,7,986.6606944084174,17.253933923718122,0.1434790305424834,True,False,True,False,416.89145481206214,198.3652512708702,0.0 +55,solved,39.4879581560391,37.70634303203751,317.49333407316067,10,1838.7336612796366,11.634133093842687,0.10280057272185458,True,False,True,False,126.95111037128379,107.09397986276429,0.0 +56,solved,18.667249127790498,27.961709646337493,215.2919645872769,12,1131.9533582636498,17.006626297277133,0.12619986517854023,True,False,True,False,148.34439904908672,228.78461612004813,0.02 +57,solved,10.145147355948776,33.3870327520718,197.6501835498656,11,1005.8549056564786,15.954492546161308,0.12076686934112976,True,False,True,False,202.3498164501344,235.5757509459908,0.0 +58,geo_infeasible,31.736792540733404,28.439814602144864,445.0342129680445,13,99999.0,99999.0,99999.0,False,,,,-111.70087963471121,-1.9138421723342276, +59,solved,36.424864472055134,22.317342276314122,221.080294100253,5,1649.900346311668,15.492912326520932,0.11697687846078192,True,False,True,False,778.919705899747,234.28502134711874,0.0 +60,geo_infeasible,36.013680927951604,24.658755282428263,325.6380323142787,15,99999.0,99999.0,99999.0,False,,,,-39.92374659999297,125.04445712086476, +61,solved,21.20971666430637,27.18728441912208,333.33951480703604,7,1077.2315726050838,17.057241224511344,0.13486577542292694,True,False,True,False,333.3271518596306,112.2859163547198,0.0 +62,solved,25.10064411916288,15.259636308480797,202.9393633023646,8,1140.7138450941914,20.091601147242528,0.15506773571378413,True,False,True,False,368.48920812620685,266.5413640806738,0.0 +63,solved,23.5377088486766,15.77772417637908,295.1158776920038,12,907.9548863510008,20.190033302787498,0.1736337594393851,True,False,True,False,68.52048594435985,173.32867395523806,0.0 +64,solved,11.932749457620524,35.9698658865046,357.1996739776378,9,966.2207136678429,15.097978379203779,0.1328475349228414,True,False,True,False,142.80032602236219,70.86059424935297,0.0 +65,solved,12.590502697615015,24.283216775288818,436.6385439056947,8,708.4137130220377,20.45280693959873,0.17296081697620275,True,False,True,False,134.79002752287676,14.795022543727669,0.0 +66,geo_infeasible,33.724650534677,25.545971283534612,391.769007728242,11,99999.0,99999.0,99999.0,False,,,,8.230992271757998,57.13904970468877, +67,geo_infeasible,24.937958219366468,34.305575803387285,428.6085833611129,15,99999.0,99999.0,99999.0,False,,,,-142.89429764682717,2.7802650321125384, +68,solved,20.01642602550961,12.736672936148768,235.02126154120555,14,823.8169009842226,25.476636001599687,0.19456437058746717,True,False,True,False,72.67104615110213,239.5053925864969,0.0 +69,solved,32.781509299259234,39.647413256693376,172.7124919630828,7,1875.2678005786793,11.767495771178126,0.09021206725189611,True,False,True,False,493.9541747035838,247.99268152353045,0.0 +70,solved,38.451363316179766,16.7003930823653,186.1758118536306,12,1586.2173467080522,16.63059961468884,0.1170349965923253,True,False,True,False,177.46055178273303,280.4234019816388,0.0 +71,solved,27.22384374533999,21.60434641918486,399.6751297258189,6,1113.5806195736284,16.85136395784387,0.1438284392074168,True,False,True,False,400.3248702741811,57.11617743581138,0.0 +72,solved,33.00141187580357,12.103605508453288,352.97644218877866,7,1201.3572731032048,18.792432511170524,0.16485730618508931,True,False,True,False,313.69022447788797,122.81634679431477,0.0 +73,solved,30.986372756119685,19.16832222642944,154.19092746511274,15,1348.1251219982225,17.358085066300976,0.11921913498887263,True,False,True,False,131.523358249173,307.4724280820284,0.0 +74,solved,19.50323693257984,31.89937313493798,382.0105860159447,6,1114.8663935493946,15.744819866869829,0.13043320054853486,True,False,True,False,417.9894139840553,54.19066771417937,0.0 +75,solved,13.727845373498717,29.571387264342114,158.4545070511115,6,1042.2595535260446,16.84079291954431,0.11797967398351183,True,False,True,False,641.5454929488885,282.4027184202042,0.0 +76,solved,39.182912433667966,13.547410048410338,242.6447570355275,10,1522.2042275309977,17.192001540743806,0.13416452493302586,True,False,True,False,201.79968740891695,230.2604228676518,0.0 +77,solved,11.508005001497104,13.78017571971355,280.40478023124285,6,627.9153876059761,27.976220416507978,0.22045896619191882,True,False,True,False,519.5952197687571,192.03486832933004,0.0 +78,geo_infeasible,14.723131820394673,38.214626589017946,410.6578070859523,11,99999.0,99999.0,99999.0,False,,,,-10.6578070859523,12.912939736011822, +79,geo_infeasible,16.065524505472887,10.058438562073695,323.01235309450794,13,99999.0,99999.0,99999.0,False,,,,10.32098023882537,156.87076978134468, +80,solved,17.419169007999646,17.917141385501917,175.7984093879865,9,945.0395062689457,22.086636499502408,0.15333378212242593,True,False,True,False,324.2015906120135,288.3673078410097,0.0 +81,geo_infeasible,10.744888282098874,16.028260362958154,389.08612738372096,14,99999.0,99999.0,99999.0,False,,,,-81.39381969141328,78.85735189036274, +82,solved,31.240370325087493,26.41009203906711,273.18266513234516,10,1360.7619251710942,14.570237821053082,0.11891780882533094,True,False,True,False,171.2617793120993,173.99715078952062,0.0 +83,geo_infeasible,20.775031495682867,18.602850091163862,439.30358863649826,10,99999.0,99999.0,99999.0,False,,,,5.1408558079461955,23.490711181173992, +84,solved,26.00450478511711,33.73796956646058,309.2653422609983,5,1374.5674544303447,13.034202085077842,0.1112284328449336,True,False,True,False,690.7346577390017,123.25871860608055,0.0 +85,solved,22.249541218652357,23.591878117279098,163.6658438964213,10,1182.798459195376,16.899432707045637,0.12057071418338186,True,False,True,False,280.7786005480232,289.1503998690205,0.0 +86,solved,34.50742630475948,19.91457704426444,301.4331617880579,8,1414.364395456454,15.657476238183712,0.12525579821509578,True,False,True,False,269.99540964051357,158.73768412341326,0.0 +87,geo_infeasible,37.732969901755745,29.990170628054525,366.3730412701501,14,99999.0,99999.0,99999.0,False,,,,-58.68073357784243,73.64661747374083, +88,solved,37.19895822292572,36.450392892917435,405.40744176134933,7,1685.5388580525696,12.467247592960161,0.111681664976656,True,False,True,False,261.2592249053173,21.691772452815826,0.0 +89,solved,24.13665312381697,30.60108948604478,257.34854555318736,8,1238.330421583267,14.744635475834825,0.11736139594609407,True,False,True,False,314.0800258753841,181.4492754747231,0.0 +90,solved,30.315850546600835,28.803003242099344,286.25449297115927,11,1315.7312352420151,14.157422206852862,0.11126653881147827,True,False,True,False,113.74550702884073,156.13950054464203,0.0 +91,solved,15.231259729696596,20.51061793783426,341.16121801123404,10,786.7203444511985,20.00638783817639,0.17933414769622463,True,False,True,False,103.28322643321042,117.81754611309742,0.0 +92,solved,35.135355432426465,17.452468258634863,423.30383098713725,6,1223.873971953269,16.744357022570288,0.14683922370497737,True,False,True,False,376.69616901286275,41.79123249559302,0.0 +93,solved,35.46708851836511,32.57744662968254,228.6499364024705,13,1635.1990162889988,12.90243378315901,0.10354252793328764,True,False,True,False,104.68339693086281,206.19517033816444,0.0 +94,solved,23.046420945659438,11.556167883135958,418.6187160546307,9,606.9197647211752,24.902033177172868,0.20686007391063263,True,False,True,False,81.38128394536932,58.26894817909738,0.0 +95,geo_infeasible,21.922047096798718,20.86393201618128,360.37912109679735,13,99999.0,99999.0,99999.0,False,,,,-27.045787763464034,97.89301487084009, +96,solved,26.538941763998174,37.0045746615665,184.02083272600328,13,1485.0289033431302,12.936892804021637,0.10133371129659173,True,False,True,False,149.31250060733004,241.97001795086373,0.0 +97,solved,13.332306234655581,22.63837385797062,260.8868498376813,13,777.427810458009,20.064200191814933,0.16666130488128264,True,False,True,False,72.44648349565199,193.8364024463774,0.0 +98,geo_infeasible,27.551926233190585,14.46757831387657,375.7580536267577,12,99999.0,99999.0,99999.0,False,,,,-12.121689990394088,95.30678974548914, +99,solved,28.542165422707903,34.70133239672506,264.8484124805317,11,1465.2653114146049,13.42399062520343,0.10159560191596892,True,False,True,False,135.1515875194683,165.74892272601818,0.0 +100,solved,15.926345240553108,35.64252369044628,223.5314270645531,8,1204.2874622863012,14.244754483676394,0.11571957123078148,True,False,True,False,347.89714436401835,205.1835255545543,0.0 +101,solved,28.915906359365827,31.075262775497517,346.80055078514937,9,1294.707146798082,13.983544771506192,0.11515732934296288,True,False,True,False,153.19944921485063,91.04892366385559,0.0 diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_summary.json b/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_summary.json new file mode 100644 index 00000000..33bd6ad4 --- /dev/null +++ b/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/doe_summary.json @@ -0,0 +1,64 @@ +{ + "study_name": "hydrotech_beam_doe_phase1", + "phase": "Phase 1 \u2014 LHS DoE", + "project": "Hydrotech Beam Structural Optimization", + "timestamp": "2026-02-14T18:38:01.551391+00:00", + "configuration": { + "n_lhs_samples": 50, + "seed": 42, + "baseline_included": true, + "algorithm": "Latin Hypercube Sampling (scipy.stats.qmc)", + "constraint_handling": "Deb's feasibility rules", + "displacement_limit_mm": 10.0, + "stress_limit_MPa": 130.0 + }, + "design_variables": [ + { + "name": "beam_half_core_thickness", + "nx_expression": "beam_half_core_thickness", + "lower": 10.0, + "upper": 40.0, + "baseline": 25.162, + "type": "continuous" + }, + { + "name": "beam_face_thickness", + "nx_expression": "beam_face_thickness", + "lower": 10.0, + "upper": 40.0, + "baseline": 21.504, + "type": "continuous" + }, + { + "name": "holes_diameter", + "nx_expression": "holes_diameter", + "lower": 150.0, + "upper": 450.0, + "baseline": 300.0, + "type": "continuous" + }, + { + "name": "hole_count", + "nx_expression": "hole_count", + "lower": 5.0, + "upper": 15.0, + "baseline": 10.0, + "type": "integer" + } + ], + "results": { + "total_trials": 102, + "solved": 78, + "geo_infeasible": 24, + "solve_failed": 0, + "fully_feasible": 0, + "solve_success_rate": 76.5, + "feasibility_rate": 0.0 + }, + "best_feasible": null, + "phase1_gate_check": { + "min_feasible_5": false, + "solve_success_80pct": false, + "gate_passed": false + } +} \ No newline at end of file diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/history.db b/projects/hydrotech-beam/studies/01_doe_landscape/results/archive_before_clean_rerun_20260214_142013/history.db new file mode 100644 index 0000000000000000000000000000000000000000..d90dc27882acfb003c5f83b8ac8f652520f05e62 GIT binary patch literal 45056 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 literal 0 HcmV?d00001 diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_results.csv b/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_results.csv index f7115ab6..05d01a47 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_results.csv +++ b/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_results.csv @@ -1,52 +1,52 @@ trial_number,status,beam_half_core_thickness,beam_face_thickness,holes_diameter,hole_count,mass_kg,tip_displacement_mm,max_von_mises_MPa,geo_feasible,displacement_feasible,stress_feasible,fully_feasible,ligament_mm,web_clearance_mm,solve_time_s -0,solved,25.162,21.504,300.0,10,nan,19.556875228881836,117.484125,True,False,True,False,144.44444444444446,156.99200000000002,11.73 -1,solved,29.33562637086642,10.867852359605202,208.82139200571257,6,nan,24.064523696899414,398.4295,True,False,False,False,591.1786079942874,269.442903275077,12.22 +0,solved,25.162,21.504,300.0,10,1133.0042670507721,19.556875228881836,117.484125,True,False,True,False,144.44444444444446,156.99200000000002,59.59 +1,solved,29.33562637086642,10.867852359605202,208.82139200571257,6,1266.2034589148668,24.064523696899414,398.4295,True,False,False,False,591.1786079942874,269.442903275077,13.86 2,geo_infeasible,18.34349359126741,39.31614850983442,289.04224845483384,14,99999.0,99999.0,99999.0,False,,,,18.65005923747384,132.32545452549732, -3,solved,16.654851585575436,25.92976843726266,249.7752118546045,7,nan,18.68077850341797,114.6584609375,True,False,True,False,416.89145481206214,198.3652512708702,12.84 -4,solved,39.4879581560391,37.70634303203751,317.49333407316067,10,nan,12.852874755859375,81.574234375,True,False,True,False,126.95111037128379,107.09397986276429,12.99 -5,solved,18.667249127790498,27.961709646337493,215.2919645872769,12,nan,17.29557228088379,106.283703125,True,False,True,False,148.34439904908672,228.78461612004813,11.23 -6,solved,10.145147355948776,33.3870327520718,197.6501835498656,11,nan,17.468721389770508,108.2625078125,True,False,True,False,202.3498164501344,235.5757509459908,12.88 +3,solved,16.654851585575436,25.92976843726266,249.7752118546045,7,1109.963053537604,18.68077850341797,114.6584609375,True,False,True,False,416.89145481206214,198.3652512708702,13.52 +4,solved,39.4879581560391,37.70634303203751,317.49333407316067,10,1718.102405993698,12.852874755859375,81.574234375,True,False,True,False,126.95111037128379,107.09397986276429,13.23 +5,solved,18.667249127790498,27.961709646337493,215.2919645872769,12,1205.918544016398,17.29557228088379,106.283703125,True,False,True,False,148.34439904908672,228.78461612004813,12.91 +6,solved,10.145147355948776,33.3870327520718,197.6501835498656,11,1085.4467002717115,17.468721389770508,108.2625078125,True,False,True,False,202.3498164501344,235.5757509459908,12.73 7,geo_infeasible,31.736792540733404,28.439814602144864,445.0342129680445,13,99999.0,99999.0,99999.0,False,,,,-111.70087963471121,-1.9138421723342276, -8,solved,36.424864472055134,22.317342276314122,221.080294100253,5,nan,15.069981575012207,94.8715,True,False,True,False,778.919705899747,234.28502134711874,12.95 +8,solved,36.424864472055134,22.317342276314122,221.080294100253,5,1722.674056894509,15.069981575012207,94.8715,True,False,True,False,778.919705899747,234.28502134711874,13.02 9,geo_infeasible,36.013680927951604,24.658755282428263,325.6380323142787,15,99999.0,99999.0,99999.0,False,,,,-39.92374659999297,125.04445712086476, -10,solved,21.20971666430637,27.18728441912208,333.33951480703604,7,nan,18.190187454223633,123.9728203125,True,False,True,False,333.3271518596306,112.2859163547198,12.59 -11,solved,25.10064411916288,15.259636308480797,202.9393633023646,8,nan,21.658220291137695,202.82671875,True,False,False,False,368.48920812620685,266.5413640806738,12.86 -12,solved,23.5377088486766,15.77772417637908,295.1158776920038,12,nan,24.221370697021484,190.267625,True,False,False,False,68.52048594435985,173.32867395523806,12.66 -13,solved,11.932749457620524,35.9698658865046,357.1996739776378,9,nan,19.1060733795166,133.927765625,True,False,False,False,142.80032602236219,70.86059424935297,12.19 -14,solved,12.590502697615015,24.283216775288818,436.6385439056947,8,nan,31.39129066467285,278.0956875,True,False,False,False,134.79002752287676,14.795022543727669,12.08 +10,solved,21.20971666430637,27.18728441912208,333.33951480703604,7,1182.0927892029772,18.190187454223633,123.9728203125,True,False,True,False,333.3271518596306,112.2859163547198,12.98 +11,solved,25.10064411916288,15.259636308480797,202.9393633023646,8,1185.7676424555418,21.658220291137695,202.82671875,True,False,False,False,368.48920812620685,266.5413640806738,13.33 +12,solved,23.5377088486766,15.77772417637908,295.1158776920038,12,987.0960407947646,24.221370697021484,190.267625,True,False,False,False,68.52048594435985,173.32867395523806,12.92 +13,solved,11.932749457620524,35.9698658865046,357.1996739776378,9,1082.1233483234585,19.1060733795166,133.927765625,True,False,False,False,142.80032602236219,70.86059424935297,12.84 +14,solved,12.590502697615015,24.283216775288818,436.6385439056947,8,783.4437976533503,31.39129066467285,278.0956875,True,False,False,False,134.79002752287676,14.795022543727669,12.84 15,geo_infeasible,33.724650534677,25.545971283534612,391.769007728242,11,99999.0,99999.0,99999.0,False,,,,8.230992271757998,57.13904970468877, 16,geo_infeasible,24.937958219366468,34.305575803387285,428.6085833611129,15,99999.0,99999.0,99999.0,False,,,,-142.89429764682717,2.7802650321125384, -17,solved,20.01642602550961,12.736672936148768,235.02126154120555,14,nan,27.53583335876465,291.43825,True,False,False,False,72.67104615110213,239.5053925864969,13.28 -18,solved,32.781509299259234,39.647413256693376,172.7124919630828,7,nan,11.77879810333252,75.011625,True,False,True,False,493.9541747035838,247.99268152353045,12.56 -19,solved,38.451363316179766,16.7003930823653,186.1758118536306,12,nan,16.785146713256836,169.51878125,True,False,False,False,177.46055178273303,280.4234019816388,12.98 -20,solved,27.22384374533999,21.60434641918486,399.6751297258189,6,nan,21.478872299194336,185.178296875,True,False,False,False,400.3248702741811,57.11617743581138,13.42 -21,solved,33.00141187580357,12.103605508453288,352.97644218877866,7,nan,24.657197952270508,320.08565625,True,False,False,False,313.69022447788797,122.81634679431477,12.55 -22,solved,30.986372756119685,19.16832222642944,154.19092746511274,15,nan,17.36627769470215,129.0215078125,True,False,True,False,131.523358249173,307.4724280820284,13.28 -23,solved,19.50323693257984,31.89937313493798,382.0105860159447,6,nan,17.949995040893555,127.061125,True,False,True,False,417.9894139840553,54.19066771417937,13.42 -24,solved,13.727845373498717,29.571387264342114,158.4545070511115,6,nan,17.506193161010742,110.5740859375,True,False,True,False,641.5454929488885,282.4027184202042,12.81 -25,solved,39.182912433667966,13.547410048410338,242.6447570355275,10,nan,18.839136123657227,256.434484375,True,False,False,False,201.79968740891695,230.2604228676518,12.81 -26,solved,11.508005001497104,13.78017571971355,280.40478023124285,6,nan,31.85018539428711,248.273609375,True,False,False,False,519.5952197687571,192.03486832933004,12.5 +17,solved,20.01642602550961,12.736672936148768,235.02126154120555,14,911.7858841605309,27.53583335876465,291.43825,True,False,False,False,72.67104615110213,239.5053925864969,13.16 +18,solved,32.781509299259234,39.647413256693376,172.7124919630828,7,1937.327687952495,11.77879810333252,75.011625,True,False,True,False,493.9541747035838,247.99268152353045,13.36 +19,solved,38.451363316179766,16.7003930823653,186.1758118536306,12,1641.9393126854027,16.785146713256836,169.51878125,True,False,False,False,177.46055178273303,280.4234019816388,13.77 +20,solved,27.22384374533999,21.60434641918486,399.6751297258189,6,1166.4986109547924,21.478872299194336,185.178296875,True,False,False,False,400.3248702741811,57.11617743581138,13.81 +21,solved,33.00141187580357,12.103605508453288,352.97644218877866,7,1165.9879420724315,24.657197952270508,320.08565625,True,False,False,False,313.69022447788797,122.81634679431477,13.44 +22,solved,30.986372756119685,19.16832222642944,154.19092746511274,15,1487.6954250173944,17.36627769470215,129.0215078125,True,False,True,False,131.523358249173,307.4724280820284,13.44 +23,solved,19.50323693257984,31.89937313493798,382.0105860159447,6,1211.87211970739,17.949995040893555,127.061125,True,False,True,False,417.9894139840553,54.19066771417937,12.5 +24,solved,13.727845373498717,29.571387264342114,158.4545070511115,6,1149.2007002062417,17.506193161010742,110.5740859375,True,False,True,False,641.5454929488885,282.4027184202042,13.2 +25,solved,39.182912433667966,13.547410048410338,242.6447570355275,10,1493.3399471409589,18.839136123657227,256.434484375,True,False,False,False,201.79968740891695,230.2604228676518,13.7 +26,solved,11.508005001497104,13.78017571971355,280.40478023124285,6,686.2888916637671,31.85018539428711,248.273609375,True,False,False,False,519.5952197687571,192.03486832933004,13.25 27,geo_infeasible,14.723131820394673,38.214626589017946,410.6578070859523,11,99999.0,99999.0,99999.0,False,,,,-10.6578070859523,12.912939736011822, 28,geo_infeasible,16.065524505472887,10.058438562073695,323.01235309450794,13,99999.0,99999.0,99999.0,False,,,,10.32098023882537,156.87076978134468, -29,solved,17.419169007999646,17.917141385501917,175.7984093879865,9,nan,22.727807998657227,147.5830625,True,False,False,False,324.2015906120135,288.3673078410097,12.61 +29,solved,17.419169007999646,17.917141385501917,175.7984093879865,9,999.7016550018517,22.727807998657227,147.5830625,True,False,False,False,324.2015906120135,288.3673078410097,13.28 30,geo_infeasible,10.744888282098874,16.028260362958154,389.08612738372096,14,99999.0,99999.0,99999.0,False,,,,-81.39381969141328,78.85735189036274, -31,solved,31.240370325087493,26.41009203906711,273.18266513234516,10,nan,15.669999122619629,93.16090625,True,False,True,False,171.2617793120993,173.99715078952062,12.66 +31,solved,31.240370325087493,26.41009203906711,273.18266513234516,10,1435.135535503974,15.669999122619629,93.16090625,True,False,True,False,171.2617793120993,173.99715078952062,12.94 32,geo_infeasible,20.775031495682867,18.602850091163862,439.30358863649826,10,99999.0,99999.0,99999.0,False,,,,5.1408558079461955,23.490711181173992, -33,solved,26.00450478511711,33.73796956646058,309.2653422609983,5,nan,14.4290132522583,93.7885234375,True,False,True,False,690.7346577390017,123.25871860608055,12.31 -34,solved,22.249541218652357,23.591878117279098,163.6658438964213,10,nan,17.734634399414062,110.49809375,True,False,True,False,280.7786005480232,289.1503998690205,13.06 -35,solved,34.50742630475948,19.91457704426444,301.4331617880579,8,nan,17.536535263061523,118.634125,True,False,True,False,269.99540964051357,158.73768412341326,13.78 +33,solved,26.00450478511711,33.73796956646058,309.2653422609983,5,1528.3897999240266,14.4290132522583,93.7885234375,True,False,True,False,690.7346577390017,123.25871860608055,12.64 +34,solved,22.249541218652357,23.591878117279098,163.6658438964213,10,1276.5504502481267,17.734634399414062,110.49809375,True,False,True,False,280.7786005480232,289.1503998690205,13.17 +35,solved,34.50742630475948,19.91457704426444,301.4331617880579,8,1410.1593512483248,17.536535263061523,118.634125,True,False,True,False,269.99540964051357,158.73768412341326,12.98 36,geo_infeasible,37.732969901755745,29.990170628054525,366.3730412701501,14,99999.0,99999.0,99999.0,False,,,,-58.68073357784243,73.64661747374083, -37,solved,37.19895822292572,36.450392892917435,405.40744176134933,7,nan,15.368349075317383,122.3722265625,True,False,True,False,261.2592249053173,21.691772452815826,13.09 -38,solved,24.13665312381697,30.60108948604478,257.34854555318736,8,nan,15.375892639160156,94.1200546875,True,False,True,False,314.0800258753841,181.4492754747231,12.28 -39,solved,30.315850546600835,28.803003242099344,286.25449297115927,11,nan,15.49566650390625,93.2840390625,True,False,True,False,113.74550702884073,156.13950054464203,12.64 -40,solved,15.231259729696596,20.51061793783426,341.16121801123404,10,nan,25.575746536254883,154.783734375,True,False,False,False,103.28322643321042,117.81754611309742,12.0 -41,solved,35.135355432426465,17.452468258634863,423.30383098713725,6,nan,23.97252655029297,196.272515625,True,False,False,False,376.69616901286275,41.79123249559302,12.84 -42,solved,35.46708851836511,32.57744662968254,228.6499364024705,13,nan,13.120881080627441,80.2448125,True,False,True,False,104.68339693086281,206.19517033816444,13.05 -43,solved,23.046420945659438,11.556167883135958,418.6187160546307,9,nan,39.49115753173828,351.02815625,True,False,False,False,81.38128394536932,58.26894817909738,12.69 +37,solved,37.19895822292572,36.450392892917435,405.40744176134933,7,1582.291153913998,15.368349075317383,122.3722265625,True,False,True,False,261.2592249053173,21.691772452815826,13.69 +38,solved,24.13665312381697,30.60108948604478,257.34854555318736,8,1398.2771475400532,15.375892639160156,94.1200546875,True,False,True,False,314.0800258753841,181.4492754747231,13.11 +39,solved,30.315850546600835,28.803003242099344,286.25449297115927,11,1428.798569319311,15.49566650390625,93.2840390625,True,False,True,False,113.74550702884073,156.13950054464203,12.78 +40,solved,15.231259729696596,20.51061793783426,341.16121801123404,10,815.486611683971,25.575746536254883,154.783734375,True,False,False,False,103.28322643321042,117.81754611309742,12.66 +41,solved,35.135355432426465,17.452468258634863,423.30383098713725,6,1231.4483565590738,23.97252655029297,196.272515625,True,False,False,False,376.69616901286275,41.79123249559302,12.89 +42,solved,35.46708851836511,32.57744662968254,228.6499364024705,13,1754.139697344678,13.120881080627441,80.2448125,True,False,True,False,104.68339693086281,206.19517033816444,13.42 +43,solved,23.046420945659438,11.556167883135958,418.6187160546307,9,688.6297607768505,39.49115753173828,351.02815625,True,False,False,False,81.38128394536932,58.26894817909738,13.09 44,geo_infeasible,21.922047096798718,20.86393201618128,360.37912109679735,13,99999.0,99999.0,99999.0,False,,,,-27.045787763464034,97.89301487084009, -45,solved,26.538941763998174,37.0045746615665,184.02083272600328,13,nan,13.15087890625,82.6500234375,True,False,True,False,149.31250060733004,241.97001795086373,12.36 -46,solved,13.332306234655581,22.63837385797062,260.8868498376813,13,nan,22.770187377929688,132.01121875,True,False,False,False,72.44648349565199,193.8364024463774,11.94 +45,solved,26.538941763998174,37.0045746615665,184.02083272600328,13,1652.7291454725032,13.15087890625,82.6500234375,True,False,True,False,149.31250060733004,241.97001795086373,12.81 +46,solved,13.332306234655581,22.63837385797062,260.8868498376813,13,899.6629740129987,22.770187377929688,132.01121875,True,False,False,False,72.44648349565199,193.8364024463774,13.55 47,geo_infeasible,27.551926233190585,14.46757831387657,375.7580536267577,12,99999.0,99999.0,99999.0,False,,,,-12.121689990394088,95.30678974548914, -48,solved,28.542165422707903,34.70133239672506,264.8484124805317,11,nan,13.971890449523926,83.8096796875,True,False,True,False,135.1515875194683,165.74892272601818,12.08 -49,solved,15.926345240553108,35.64252369044628,223.5314270645531,8,nan,15.33069133758545,95.525046875,True,False,True,False,347.89714436401835,205.1835255545543,12.02 -50,solved,28.915906359365827,31.075262775497517,346.80055078514937,9,nan,16.25737953186035,106.1287734375,True,False,True,False,153.19944921485063,91.04892366385559,12.5 +48,solved,28.542165422707903,34.70133239672506,264.8484124805317,11,1539.4261559506735,13.971890449523926,83.8096796875,True,False,True,False,135.1515875194683,165.74892272601818,12.42 +49,solved,15.926345240553108,35.64252369044628,223.5314270645531,8,1300.5025884507997,15.33069133758545,95.525046875,True,False,True,False,347.89714436401835,205.1835255545543,12.99 +50,solved,28.915906359365827,31.075262775497517,346.80055078514937,9,1343.5034206648418,16.25737953186035,106.1287734375,True,False,True,False,153.19944921485063,91.04892366385559,12.72 diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_summary.json b/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_summary.json index 6d2728ef..9f57a013 100644 --- a/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_summary.json +++ b/projects/hydrotech-beam/studies/01_doe_landscape/results/doe_summary.json @@ -1,8 +1,8 @@ { - "study_name": "hydrotech_beam_doe_phase1", + "study_name": "hydrotech_beam_doe_phase1_real", "phase": "Phase 1 \u2014 LHS DoE", "project": "Hydrotech Beam Structural Optimization", - "timestamp": "2026-02-11T16:40:12.707007+00:00", + "timestamp": "2026-02-14T22:24:29.123157+00:00", "configuration": { "n_lhs_samples": 50, "seed": 42, diff --git a/projects/hydrotech-beam/studies/01_doe_landscape/results/history.db b/projects/hydrotech-beam/studies/01_doe_landscape/results/history.db index 39d22daf9088d20d3bd1a85d7e525d929545f3f8..14e96468cc8f3630c6a81af807d4a339755c7931 100644 GIT binary patch literal 45056 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 z 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