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…"],