설계 이론

확대모멘트 / PM / 전단 / 단부요소

1. 확대 모멘트 Mc (KDS 14 20 22 §5.8)

단일 구현: KdsMomentMagnifier.cs. Infrastructure / Graphics / Fiber 모든 호출자가 이 함수를 거친다.

Mc=δnsmax(Mmin,Mu)M_c = \delta_{ns} \cdot \max(M_{\min}, |M_u|) δns=max ⁣(Cm1Pu/(0.75Pc),1.0),상한 1.4\delta_{ns} = \max\!\left(\frac{C_m}{1 - P_u/(0.75 P_c)}, 1.0\right), \quad \text{상한 } 1.4

(단, isSlender = false → δns = 1.0, Pu 인장 → δns = 1.0)

Cm=max ⁣(0.6+0.4M1M2,0.4),Pc=π20.4EcIg(khw)2C_m = \max\!\left(0.6 + 0.4 \frac{M_1}{M_2}, 0.4\right), \quad P_c = \frac{\pi^2 \cdot 0.4 E_c I_g}{(k h_w)^2} emin=15+0.03d    (mm),Mmin=max(Pu,comp,0)emin1000    (kN\cdotpm)e_{\min} = 15 + 0.03 \, d \;\;\text{(mm)}, \quad M_{\min} = \max(P_{u,\,\text{comp}}, 0) \cdot \frac{e_{\min}}{1000} \;\;\text{(kN·m)}

1.1 Mmin 적용 조건 (중요)

KDS 14 20 22 §5.8 은 Mmin 을 세장 압축부재 확대 모멘트 절차의 구성요소 로 정의한다. 따라서:

double Mmin = isSlender
    ? Math.Max(puComp, 0.0) * emin / 1000.0
    : 0.0;
double Mc = deltaNs * Math.Max(Mmin, Math.Abs(Mu_kNm));
  • isSlender = true : Mmin 적용 → Mc ≥ Mmin
  • isSlender = false : Mmin = 0 → Mc = |Mu|

비세장 축 (보통 강축) 까지 Mmin 을 강제하면 두꺼운 짧은 벽이 인위적으로 NG 가 되는 문제가 있어, §5.8 의 본래 의도대로 분기한다.

1.2 약축 휨강도 검토 옵션 (CheckWeakAxisFlexure)

설계환경 옵션:

동작
true (기본)모든 경우 약축도 KDS Mc(Mmin 포함) 로 검토
false요소 Mz ≈ 0 (`

false 로 두면 얇은 세장 벽체에서 Mc.z 가 Mmin 만으로 매우 크게 산정되어 인위적으로 NG 되는 케이스를 회피한다. 다만 실제 약축 모멘트가 있으면(>0.01) 항상 검토한다.

public bool ShouldCheckWeakAxis(double absMuz)
    => CheckWeakAxisFlexure || absMuz > 0.01;

2. PM/PMM 상관 검토

2.1 PM 검토 (1축, WallPMChecker)

각 하중조합 후보별로 (Pu, Mc.x), (Pu, Mc.z) 두 1축 검토를 수행하고 DC = (Pu, M) / 곡선상 phi·Mn 을 계산한다.

RatioBending=max ⁣(DCx,    DCz  [if ShouldCheckWeakAxis],    all candidates)\text{RatioBending} = \max\!\Big( \text{DC}_x, \;\; \text{DC}_z\;[\text{if ShouldCheckWeakAxis}], \;\; \text{all candidates} \Big)

2.2 3D PMM (FiberPMCalculator)

상세검토(Fiber) 메뉴는 단면을 fiber mesh 로 분해하고 θ 방향(0°=강축 +방향) 으로 strain plane 적분하여 phi·Mn 곡면을 얻는다. 임의 (Mc.x, Mc.z) 벡터의 각도 방향으로 곡선과 비교해 DC 를 산출한다.

ANL Element local 좌표상 Moment-Y 가 강축이므로 θ=0° 는 강축 +방향.

3. 전단강도 (KDS 14 20 80, 14 20 72 §4.9.3)

Vu ≤ φVn 을 검토한다. Vn = Vc + Vs.

3.1 보통전단벽 αc (KDS 14 20 72 §4.9.3)

αc={1/4(hw/lw1.5)선형보간(1.5<hw/lw<2.0)1/6(hw/lw2.0)\alpha_c = \begin{cases} 1/4 & (h_w/l_w \le 1.5) \\ \text{선형보간} & (1.5 < h_w/l_w < 2.0) \\ 1/6 & (h_w/l_w \ge 2.0) \end{cases} Vc,normal=αcfckAcv    (N)V_{c,\text{normal}} = \alpha_c \cdot \sqrt{f_{ck}} \cdot A_{cv} \;\;(\text{N}) 저전단 임계값=ϕαcfckAcv2\text{저전단 임계값} = \frac{\phi \cdot \alpha_c \cdot \sqrt{f_{ck}} \cdot A_{cv}}{2}

저전단 / 고전단 분류는 최소 배근비 산정에 직접 영향을 준다.

3.2 최소 배근비

KdsWallLimits.GetRhoHorizMinNormal / GetRhoVertMinNormal 참조.

저전단 (Vu ≤ φVc/2):

  • 수평근 D ≤ 16 + fy ≥ 400 → 0.0020 × 400/min(fy, 500) (= 0.0016 ~ 0.0020)
  • 그 외 → 0.0025

고전단 (Vu > φVc/2):

  • 수평근 fy ≤ 400 → 0.0025
  • 수평근 fy > 400 → max(0.0025 × 400/fy, 0.0020)
  • 수직근 → ρh,min + 0.5(2.5 − hw/lw)(ρh,actual − ρh,min), hw/lw ≤ 2.5 로 제한

3.3 최대 간격 (§4.4.2.2)

일반보통전단벽 고전단
수직근 sp,maxmin(3t, 450)min(3t, 450, lw/3)
수평근 sp,maxmin(3t, 450)min(3t, 450, lw/5) (U-bar 사용 시 lw/3)

4. 단부요소 (KDS 14 20 80 §4.4.5)

BoundaryElementChecker:

σmax=PuAg+MccI\sigma_{\max} = \frac{P_u}{A_g} + \frac{M_c \cdot c}{I}

필요조건: σmax>0.2fck\sigma_{\max} > 0.2 f_{ck}

lw,be=max ⁣(c0.1lw,  lw10)l_{w,be} = \max\!\left(c - 0.1 l_w, \; \frac{l_w}{10}\right)

만족 시 BoundaryElementRequired = true 로 표시되고 횡구속 띠철근(직경/간격) 이 자동 산정된다.

5. 후프 형식 (WallHoopType)

적용
OpenWall (벽식, 열림후프)양면 수평근 직선만, 코너·갈고리 없음 (일반 전단벽)
EndUBar (단부 U후프)양면 수평근 + 양 단부에 U-bar 묶음, EndUBarLegLength 길이 적용
ColumnClosed (기둥식, 닫힘후프)사각형 4변 + 둥근 코너 + 우상 135° 갈고리
Auto (기본)행 조건에서 자동 결정

5.1 자동 결정 우선순위 (WallHoopResolver.Resolve)

ColumnLikeTieRequired (ρv > 1%)  →  ColumnClosed
UseEndUBar = true                →  EndUBar
그 외                              →  OpenWall

ColumnLikeTieRequired 는 KDS 14 20 50 §8.3.2 (ρv > 1% 시 기둥식 띠철근 요구) 에서 자동 활성화된다. IgnoreColumnLikeTieForTension = true + Pu 인장이면 미적용한다.

6. 자동설계 알고리즘

AutoDesignService 의 핵심 흐름:

6.1 후보 생성 (BuildAllCandidates)

설정된 RebarGroup (예: HD10@450/300, HD13@..., HD16@..., HD19@200/100) 를 기반으로 모든 가능 조합을 생성한다:

candidates = ∏ (수직 직경) × (수직 간격) × (수평 직경) × (수평 간격)
                × (단부 직경) × (단부 개수)

각 후보에 대해:

  1. 선행 제약 (upfront constraints, post-process 가 아님):
    • 길이별 최소 배근 규칙 (UseLengthBasedMinimums)
    • KDS §4.4.2.1 최소 배근비
    • sp,max 한계 (§4.4.2.2)
  2. 위 제약 위반 후보는 거른 뒤 그대로 검토 단계로 진입.

6.2 검토 (EvaluateAllCandidatesDC)

각 후보 × 모든 행 후보 부재력에 대해:

DC=max ⁣(DCPM,    DCPM,z  [if ShouldCheckWeakAxis],    DCShear)\text{DC} = \max\!\Big( \text{DC}_{PM}, \;\; \text{DC}_{PM,z} \;[\text{if ShouldCheckWeakAxis}], \;\; \text{DC}_{Shear} \Big)

행 단위로 DC ≤ 1.0 인 후보들 중 가장 경제적 (최소 철근량) 인 것을 선택. NG 후보만 있다면 그중 DC 가 가장 작은 후보를 그대로 채택한다 (오류 회피용).

주의: 초기 governing (Pu, Mu) 만으로 검토하지 않는다. 모든 후보 부재력에 대해 후보 배근별 DC 를 평가하여, 특정 배근에서 governing 이 바뀌는 케이스도 정확히 잡아낸다.