From 2932e7867874d85889f635cf1fe1d12f24c45903 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 26 Oct 2026 03:24:05 +0900 Subject: [PATCH] =?UTF-8?q?fix(536-1):=20E06=20=EC=9A=B0=EA=B8=B0=20?= =?UTF-8?q?=EC=88=98=EC=9C=84=20=EB=9C=BB=20KDS=2011=2070=2005=20=ED=91=9C?= =?UTF-8?q?=204.3-3=20=EC=9B=90=EB=AC=B8=EB=8C=80=EB=A1=9C=20=E2=80=94=20?= =?UTF-8?q?=EA=B7=A0=EC=97=B4=20=EA=B9=8A=EC=9D=B4=20=C2=B7=20=ED=99=9C?= =?UTF-8?q?=EB=8F=99=EB=A9=B4=20=EB=86=92=EC=9D=B4=20=C2=BD=20=EC=8B=AC?= =?UTF-8?q?=EB=8F=84=20=C2=B7=20=EA=B8=B0=EC=A4=80=201.2=20=C2=B7=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EA=B8=80=20=C2=B7=20=EC=8B=9C=ED=97=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- E06_StabRock/E06_StabRock_Model.py | 2 +- resources/tester/test_536_1_e06_rock.py | 19 +++++++++++++++++++ ui_template/ui_template_locale_e06.ts | 9 ++++++--- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/E06_StabRock/E06_StabRock_Model.py b/E06_StabRock/E06_StabRock_Model.py index 2cfe7d1ae..95e57df69 100644 --- a/E06_StabRock/E06_StabRock_Model.py +++ b/E06_StabRock/E06_StabRock_Model.py @@ -40,7 +40,7 @@ DEFAULT_SETTINGS: dict[str, Any] = { "lateral_planar_deg": engine.LATERAL_PLANAR_DEG, "lateral_toppling_deg": engine.LATERAL_TOPPLING_DEG, "gamma_r": None, # None = E02 측점 암 물성 γt - "water_fill_wet": 0.5, # 우기 수위 = 비탈 높이 ½(KDS 11 70 05 표 4.3-3 암반) + "water_fill_wet": 0.5, # 우기 = 균열 깊이 · 활동면 높이 ½(KDS 11 70 05 표 4.3-3 암반) "crack": {"mode": "none", "z": None}, "bolt": {"force": 0.0, "plunge": 15.0}, } diff --git a/resources/tester/test_536_1_e06_rock.py b/resources/tester/test_536_1_e06_rock.py index 35fe8869b..44e91c4fe 100644 --- a/resources/tester/test_536_1_e06_rock.py +++ b/resources/tester/test_536_1_e06_rock.py @@ -48,6 +48,25 @@ def test_plane_hoek_tension_crack(): close(r["crack_b"], 15.3357, 1e-4) # 마루 뒤 거리(RocPlane 검증 #1) +def test_wet_default_kds_half_depth(): + """KDS 11 70 05 표 4.3-3 암반 우기 = 균열 · 활동면 높이 ½ 심도 포화 · 기준 1.2.""" + import json + from pathlib import Path + + fill = model.DEFAULT_SETTINGS["water_fill_wet"] + assert fill == 0.5 + z = 10.0 + r = eng.plane_fs(**SAU_MAU, water_fill=fill, crack={"mode": "depth", "z": z}) + close(r["V"], 0.5 * 10 * (z / 2) ** 2, 1e-9) # 균열 안 수위 = z/2 + dry = eng.plane_fs(**SAU_MAU) # 균열 없음 = 활동면 오름 60 · 가운데 수두 = (½ · 60)/2 + close(eng.plane_fs(**SAU_MAU, water_fill=fill)["U"], 0.5 * 10 * 15 * dry["A"], 1e-9) + root = Path(__file__).resolve().parents[2] + ground = json.loads( + (root / "resources/master_template/stability/ground_defaults.json").read_text("utf-8") + ) + assert ground["safety_factors"]["wet"]["cut"] == 1.2 + + def test_plane_critical_crack_search_matches_hoek(): """건조 · 윗면 수평 — 수치 탐색 임계 자리 = Hoek-Bray 식 z · b.""" r = eng.plane_fs( diff --git a/ui_template/ui_template_locale_e06.ts b/ui_template/ui_template_locale_e06.ts index e604dca01..8eeed1d8d 100644 --- a/ui_template/ui_template_locale_e06.ts +++ b/ui_template/ui_template_locale_e06.ts @@ -36,7 +36,10 @@ export const ui_locales_e06 = { E06_Set_LateralPlanar: ["평면 측방 한계 (°)", "Planar lateral limit (°)"], E06_Set_LateralTopple: ["전도 측방 한계 (°)", "Toppling lateral limit (°)"], E06_Set_Gamma: ["암 단위중량 (kN/m³ · 비우면 E02)", "Rock unit weight (kN/m³, blank = E02)"], - E06_Set_WaterWet: ["우기 수위 비 (0~1)", "Wet water ratio (0–1)"], + E06_Set_WaterWet: [ + "우기 수위 비 (0~1 · 균열 · 활동면 높이 대비)", + "Wet water ratio (0–1, of crack / sliding-plane height)", + ], E06_Set_Crack: ["인장균열", "Tension crack"], E06_Crack_None: ["없음", "None"], E06_Crack_Critical: ["임계(최소 안전율 자리)", "Critical (minimum FS)"], @@ -45,8 +48,8 @@ export const ui_locales_e06 = { E06_Set_BoltForce: ["볼트 힘 (평면 kN/m · 쐐기 kN)", "Bolt force (plane kN/m · wedge kN)"], E06_Set_BoltPlunge: ["볼트 경사 (수평 아래 °)", "Bolt plunge (below horizontal °)"], E06_SettingsHint: [ - "측방 한계 기본 20° (Dips 기본 · 지식DB 03 전도는 30°) · 우기 = 비탈 높이 ½ 수위(KDS 11 70 05) · 볼트 = 수동 지지력.", - "Lateral limit default 20° (Dips default; knowledge DB uses 30° for toppling) · wet = water at half height (KDS 11 70 05) · bolts = passive support.", + "측방 한계 기본 20° (Dips 기본 · 지식DB 03 전도는 30°) · 우기 = 인장균열 깊이 또는 활동면 높이의 ½ 까지 지하수 · 기준 안전율 1.2(KDS 11 70 05 표 4.3-3 암반) · 볼트 = 수동 지지력.", + "Lateral limit default 20° (Dips default; knowledge DB uses 30° for toppling) · wet = groundwater to ½ of tension-crack depth or sliding-plane height, required FS 1.2 (KDS 11 70 05 Table 4.3-3, rock) · bolts = passive support.", ], E06_Analyze: ["해석", "Analyze"], E06_Running: ["해석 중…", "Analyzing…"],