fix(567-1): E03 단면 화면 임계면 방법 이름 — 후보 고리 변수가 판정 방법을 덮던 것

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 20:42:54 +09:00
co-authored by Claude Opus 5.5
parent 9d67c3eba6
commit 2ffff11087
2 changed files with 12 additions and 2 deletions
+2 -2
View File
@@ -282,9 +282,9 @@ def section_view(
methods = result.get("methods") or {}
method, best, _circ, _check = _governing(case)
candidates = []
for method, found in methods.items():
for name, found in methods.items():
for kind in ("circular", "noncircular"):
surface = _surface(found.get(kind), method)
surface = _surface(found.get(kind), name)
if surface and surface["fs"] is not None:
candidates.append(surface)
side_row = (row["cases"].get(case["condition"]) or {}).get(case["side"]) or {}
@@ -168,3 +168,13 @@ def test_edge_flag():
row = _row(_case(1.3, ends=ends))
assert row["cases"]["wet"]["right"]["edge"] is edge
assert view.summarize([_row(_case(1.3, ends=[-30.5, 40.0]))], ["wet"])["wet"]["edge"] == 1
def test_section_view_critical_is_governing_surface():
# 단면 화면 임계면 = 판정 면(방법 이름도) — 후보 고리가 방법 이름을 덮지 않음
case = _case(1.3, 1.0, 1.05)
out = {"cases": [case]}
row = _row(case)
model = {"materials": [], "regions": [], "surface": []}
a = view.section_view(row, out, model, {})["analyses"][0]
assert (a["critical"]["method"], a["critical"]["fs"]) == ("spencer", 1.0)