Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
e078b1e
feat(capacity): Capacity Manager — reconstruct DNV-RP-C201 models fro…
oleandor Jun 18, 2026
22190f8
Add SIN-native capacity source
oleandor Jun 18, 2026
d66c45e
Parse GLSEC sections as angular profiles
oleandor Jun 18, 2026
eb196f9
Use RDPOINTS coordinates for capacity stress sampling
oleandor Jun 18, 2026
75d2414
Classify SIN-native secondary stiffeners
oleandor Jun 18, 2026
b179eed
Build SIN-native capacity groups from concepts
oleandor Jun 18, 2026
667c65f
Sample capacity shear by result stations
oleandor Jun 18, 2026
c454220
Scope capacity area sets to active grid
oleandor Jun 18, 2026
4b573c7
Preserve Section 5 axial resultants
oleandor Jun 18, 2026
83e0a83
Resolve Section 5 moment resultants
oleandor Jun 18, 2026
2d49bf5
Close Section 5 stress residual tail
oleandor Jun 18, 2026
969bae5
capacity model, integration with ada-py-viewer
oleandor Jun 19, 2026
f2aa125
capacity model, further work. Mini fix set
oleandor Jun 20, 2026
c2b05fb
Read GSETMEMB sets dropped by junk dim guard
oleandor Jun 20, 2026
b387fe1
Index mesh connectivity; scope plate sets to their stiffeners
oleandor Jun 20, 2026
a98b255
Speed up capacity grouping; classify stiffeners geometrically
oleandor Jun 21, 2026
1062531
Drop unused _sbm concept-role parser
oleandor Jun 21, 2026
7689a87
Make capacity grouping fully geometric (naming-independent)
oleandor Jun 21, 2026
4660105
Support multi-set scoping; skip RVSTRESS rows without RDPOINTS
oleandor Jun 21, 2026
a2c20ef
Pin OpenBLAS backend to fix MKL svd/gemm crash on Windows
oleandor Jun 21, 2026
993bc3c
Add optional progress callbacks to CapacityManager
oleandor Jun 21, 2026
da033e7
Add "Only definitions" isolation toggle to the capacity viewer
oleandor Jun 21, 2026
65cdf4f
Fix one-sided capacity result colouring
oleandor Jun 21, 2026
4d43a83
Validate requested result cases against the SIN
oleandor Jun 21, 2026
215a1e7
Recover shell membrane stress from displacements for stress-less SINs
oleandor Jun 21, 2026
9741d85
Read beam/line forces from RVFORCES without RDPOINTS
oleandor Jun 21, 2026
a39b075
Speed up multi-case resolve: open SIN once, reuse mesh
oleandor Jun 21, 2026
e5fe5a9
Index field blocks by element id (linear resolve)
oleandor Jun 21, 2026
7740ad2
Make stress recovery LAPACK-free (fix 0xC06D007F crash)
oleandor Jun 22, 2026
be4a8d4
Add "Input" detail panel to the capacity viewer side panel
oleandor Jun 22, 2026
dd5e417
Float the capacity Input panel top-right with its own scroll
oleandor Jun 22, 2026
a95c0ee
Visualize the 3 Section-5 stations on the capacity model
oleandor Jun 22, 2026
cdb7c0a
Bump capacity sidecar to v2; enlarge station markers
oleandor Jun 22, 2026
e3088ec
Capacity viewer: σ_x input, eq tags, [6.4.3] warning, individual UF
oleandor Jun 22, 2026
43827c6
Individual UF: colour each stiffener's tributary strip by its own UF
oleandor Jun 22, 2026
8d55487
Individual UF: full plate coverage via nearest-stiffener partition
oleandor Jun 23, 2026
955fd9f
capacity restults sidecar
oleandor Jun 23, 2026
9eee3db
Resolve load-case combinations by FE-field superposition
oleandor Jun 23, 2026
0491cb4
capacity model definition fix and stress fix
oleandor Jun 23, 2026
c9b854a
Capacity viewer: load v6 sidecar bundle (AFEL blobs + lazy per-case d…
oleandor Jun 24, 2026
352c169
Capacity viewer: isolation-only-models, wireframe toggle, worst-over-…
oleandor Jun 24, 2026
501c1af
Capacity viewer: sidecar UX + error highlighting + input export
oleandor Jun 25, 2026
3985d04
Capacity viewer: red 3D edges for failed models + aligned notices
oleandor Jun 25, 2026
a8fae93
Capacity export: round inputs to the sidebar's display precision
oleandor Jun 25, 2026
e2c1b1f
Capacity viewer v8: use as-checked geometry for Input panel + Export
oleandor Jun 25, 2026
f5ba86a
Capacity viewer: show optimize-z* + DNV resolved design figures
oleandor Jun 25, 2026
0f745b1
Capacity export: carry FE axial resultants; pin sidecar v9
oleandor Jun 25, 2026
903d2b3
Capacity viewer: discrete Genie UF colour bands; drop axial-force export
oleandor Jun 25, 2026
7a9483c
Capacity: fix stiffener axial-force tributary (topology) + land resol…
oleandor Jun 28, 2026
e9784d0
Capacity sidecar v10: pin frontend + rebuild embedded bundle
oleandor Jun 28, 2026
a733c96
Sesam SIN reader: RVFORCES element-id filter (resolve-stresses perf)
oleandor Jun 29, 2026
b5b3b3a
feat: girder capacity models + Sec.7 load resolve; viewer girder run …
oleandor Jul 2, 2026
7a73830
Merge remote-tracking branch 'upstream/main' into feat/capacity_man
oleandor Jul 2, 2026
10a15e6
chore: rebuild embedded frontend bundle after upstream merge
oleandor Jul 2, 2026
7bd552c
fix: viewer-api/viewer-worker PYTHONPATH on Windows (win-64 task over…
oleandor Jul 2, 2026
49edf2a
feat: girder capacity UX - stiffener lines, per-run memory, strip sel…
oleandor Jul 2, 2026
ba41b18
fix: pick the real flange of Genie T-girders + export stiffener profi…
oleandor Jul 2, 2026
0c24a95
lint
oleandor Jul 14, 2026
82d162d
Merge branch 'main' into feat/capacity_man
oleandor Jul 14, 2026
bb2b4d4
fix checks
oleandor Jul 14, 2026
e792dcc
Merge remote-tracking branch 'origin/feat/capacity_man' into feat/cap…
oleandor Jul 14, 2026
df0d902
update pixi.lock
oleandor Jul 14, 2026
8549c87
fix girder check / ada-py and ui, and advisory checks
oleandor Jul 15, 2026
925d5c1
feat: show el and node numbers for the 3 stress points
oleandor Jul 15, 2026
46e5a6b
fix gider check, two stiffener spans in both ui and ada-py viewer, an…
oleandor Jul 15, 2026
3b12475
feat: migrate capacity exports to codecheck 2.0
oleandor Jul 16, 2026
4fbb730
display capacity errors and enforce schema compatibility
oleandor Jul 16, 2026
1cb6e47
fix: update capacity
oleandor Jul 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
with:
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo

- uses: prefix-dev/setup-pixi@v0.9.6 # https://github.com/prefix-dev/setup-pixi
- uses: prefix-dev/setup-pixi@v0.10.0 # https://github.com/prefix-dev/setup-pixi
with:
pixi-version: v0.68.0
environments: docs
Expand Down Expand Up @@ -79,4 +79,4 @@ jobs:
publish_dir: ./docs/_build/html/
# Rewrite gh-pages as a single orphan commit each publish. The site
# is multi-MB; without this the branch history grows unbounded.
force_orphan: true
force_orphan: true
11 changes: 6 additions & 5 deletions .github/workflows/pr-profiling.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: PR Profiling

on:
pull_request_target:
pull_request:
branches:
- main
paths:
Expand All @@ -19,8 +19,8 @@ jobs:
name: Profile and Track Performance
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v7
with:
Expand All @@ -29,7 +29,7 @@ jobs:
persist-credentials: false

- name: Setup Pixi
uses: prefix-dev/setup-pixi@v0.9.6
uses: prefix-dev/setup-pixi@v0.10.0
with:
pixi-version: v0.68.0
environments: profile
Expand All @@ -53,7 +53,7 @@ jobs:

- name: Save Profiling History
uses: actions/cache/save@v6
if: always()
if: always() && github.event.pull_request.head.repo.full_name == github.repository
with:
path: output/profiling_history.json
key: profiling-history-${{ github.event.pull_request.number }}-${{ github.run_id }}
Expand All @@ -72,9 +72,10 @@ jobs:

- name: Post Comment
uses: thollander/actions-comment-pull-request@v3
if: github.event.pull_request.head.repo.full_name == github.repository
with:
file-path: output/profiling_comment.md
comment-tag: profiling-results
mode: upsert
create-if-not-exists: true
github-token: ${{ secrets.GITHUB_TOKEN }}
github-token: ${{ secrets.GITHUB_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/pr-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}

- uses: prefix-dev/setup-pixi@v0.9.6 # https://github.com/prefix-dev/setup-pixi
- uses: prefix-dev/setup-pixi@v0.10.0 # https://github.com/prefix-dev/setup-pixi
with:
pixi-version: v0.68.0
cache: true
Expand All @@ -41,11 +41,11 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}

- uses: prefix-dev/setup-pixi@v0.9.6
- uses: prefix-dev/setup-pixi@v0.10.0
with:
pixi-version: v0.68.0
environments: tests
cache: true

- name: Runs Tests
run: pixi run -e tests test
run: pixi run -e tests test
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# CHANGELOG


## Unreleased

### Feature

* feat: add collapsible DNV capacity results sidecar to the viewer



## v0.28.0 (2026-07-03)

Expand Down
49 changes: 48 additions & 1 deletion deploy/helm/adapy-viewer/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# adapy-viewer Helm chart
# adapy-viewer Helm chart

Deploys the hosted ada-py viewer: a single-pod web app that loads
3D model files (FEA, CAD, GLB) from S3-compatible storage and renders
Expand Down Expand Up @@ -59,6 +59,53 @@ helm install viewer ./deploy/helm/adapy-viewer \
--set storage.local.existingClaim=my-pvc
```

## DNV-RP-C201 Capacity Result Sidecars

The viewer can visualize DNV-RP-C201 capacity results for SIN-derived FEA
models when a capacity sidecar is available. The normal SIN bake still provides
the geometry and FE result fields; the sidecar adds capacity model membership,
usage factors, check details, and per-element visual fields.

Preferred colocated artefacts:

```text
model.SIN
_derived/model.SIN.fea/fea.manifest.json
_derived/model.SIN.fea/capacity.results.json
```

The manifest may also advertise a sidecar explicitly:

```json
{
"capacity": {
"version": 1,
"results_url": "capacity.results.json",
"default_run_id": "run-001",
"field_strategy": "json"
}
}
```

If the manifest has no `capacity` section, the frontend tries these fallback
locations:

- `_derived/<source>.fea/capacity.results.json`
- `<source-stem>.c201.json`
- `<source-stem>.capacity.json`
- `capacity.results.json` next to the source

Generate the sidecar from the DNV-RP-C201 package:

```bash
run-codecheck --sin model.SIN --group Mini_area_dbl_btm --export-viewer out/
```

When the sidecar is found, the Capacity panel appears in the simulation
controls. It supports Definition and Results modes, result-case and metric
selection, failed-only filtering, usage-factor coloring, capacity boundary
outlines, and element-pick to capacity-model selection.

## Ingress

```yaml
Expand Down
Loading
Loading