feat(E03): 기본 물성 · 노면 하중 = ground_defaults.json 읽음(성토 φ 28) (532-2 2차 ⑦)
- E03 Types DEFAULT_MATERIALS · DEFAULT_ROAD_SURCHARGE_KPA 를 M02 마스터 층 파일에서 — E02 초기값과 한 벌 · E04 기본도 같이 따라감 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
E04 가 이 파일을 그대로 import — 이름 · 열쇠를 바꾸지 않음.
|
||||
"""
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Literal, TypedDict
|
||||
|
||||
GAMMA_W = 9.81 # 물 단위중량 kN/m³
|
||||
@@ -30,54 +32,6 @@ class Surcharge(TypedDict):
|
||||
q: float # 연직 등분포 kPa
|
||||
|
||||
|
||||
# 요구서 345 6장 기본값(사용자가 E02 에서 바꿈) — 사전조사 후보의 보수 쪽.
|
||||
DEFAULT_MATERIALS: list[Material] = [
|
||||
{
|
||||
"id": "weathered_soil",
|
||||
"name": "풍화토",
|
||||
"gamma_t": 18.0,
|
||||
"gamma_sat": 19.0,
|
||||
"c": 15.0,
|
||||
"phi": 30.0,
|
||||
},
|
||||
{
|
||||
"id": "weathered_rock",
|
||||
"name": "풍화암",
|
||||
"gamma_t": 20.0,
|
||||
"gamma_sat": 21.0,
|
||||
"c": 30.0,
|
||||
"phi": 33.0,
|
||||
},
|
||||
{
|
||||
"id": "soft_rock",
|
||||
"name": "연암",
|
||||
"gamma_t": 24.0,
|
||||
"gamma_sat": 24.5,
|
||||
"c": 150.0,
|
||||
"phi": 35.0,
|
||||
},
|
||||
{
|
||||
"id": "hard_rock",
|
||||
"name": "경암",
|
||||
"gamma_t": 26.0,
|
||||
"gamma_sat": 26.0,
|
||||
"c": 300.0,
|
||||
"phi": 40.0,
|
||||
},
|
||||
{"id": "fill", "name": "성토", "gamma_t": 18.0, "gamma_sat": 19.0, "c": 10.0, "phi": 25.0},
|
||||
{
|
||||
"id": "colluvium",
|
||||
"name": "붕적토",
|
||||
"gamma_t": 17.5,
|
||||
"gamma_sat": 18.5,
|
||||
"c": 5.0,
|
||||
"phi": 27.0,
|
||||
},
|
||||
]
|
||||
|
||||
DEFAULT_ROAD_SURCHARGE_KPA = 10.0 # 노면 하중 기본
|
||||
|
||||
|
||||
def material(raw: dict) -> Material:
|
||||
"""밖에서 온 물성 한 줄을 꼴에 맞춤 — 빠진 γsat 는 γt · 음수 · 범위 밖은 오류."""
|
||||
gamma_t = float(raw["gamma_t"])
|
||||
@@ -122,3 +76,14 @@ def surcharges(raw: list[dict] | None) -> list[Surcharge]:
|
||||
if x1 > x0:
|
||||
out.append({"x0": x0, "x1": x1, "q": float(item["q"])})
|
||||
return out
|
||||
|
||||
|
||||
# 기본 물성 · 노면 하중 = M02 마스터 층 `ground_defaults.json`(E02 초기값과 한 벌 · 사용자가 E02 에서 바꿈).
|
||||
_DEFAULTS = json.loads(
|
||||
(
|
||||
Path(__file__).resolve().parents[1]
|
||||
/ "resources/master_template/stability/ground_defaults.json"
|
||||
).read_text(encoding="utf-8")
|
||||
)
|
||||
DEFAULT_MATERIALS: list[Material] = [material(m) for m in _DEFAULTS["materials"]]
|
||||
DEFAULT_ROAD_SURCHARGE_KPA = float(_DEFAULTS["road_surcharge_kpa"]) # 노면 하중 기본
|
||||
|
||||
Reference in New Issue
Block a user