이동하중 구조해석 완전 가이드: 영향선부터 최대 전단력·휨모멘트, Müller–Breslau 원리와 FEA 검증까지

20 m 단순지지 보와 3축 이동하중을 하나의 수치 예제로 추적하며 영향선의 정의, 지정 단면과 전체 보의 최대응답 차이, 전단 점프, Müller–Breslau 원리, 영향면과 유한요소 검증을 연결합니다.

이동하중 구조해석 완전 가이드: 영향선부터 최대 전단력·휨모멘트, Müller–Breslau 원리와 FEA 검증까지

고정된 하중 아래의 전단력도와 휨모멘트도는 “이 하중 상태에서 구조 내부에 무엇이 생기는가”를 보여줍니다. 반면 교량 위 차량, 크레인 거더 위 대차, 레일 위 열차처럼 하중 위치가 바뀌면 질문도 달라집니다. 이제 필요한 것은 어느 위치에 하중을 놓아야 특정 반력·특정 단면 전단력·특정 단면 모멘트가 가장 커지는가입니다. 영향선은 이 질문을 구조적으로 풀기 위한 응답 좌표계입니다.

이 글은 경간 L=20 m인 단순지지 보 하나를 끝까지 사용합니다. A는 핀, B는 롤러이며 관심 단면 C는 A에서 a=8 m, B에서 b=12 m 떨어져 있습니다. 교육용 3축 하중은 진행방향 순서대로 P1=90 kN, P2=150 kN, P3=150 kN이고, P1을 기준으로 한 축 위치는 0, 3, 7 m입니다. 같은 숫자로 반력, C단면의 전단력과 모멘트, 보 전체의 절대최대 모멘트, 연속 분포하중, 응답 포락선과 FEA 검증까지 연결합니다.

규정 경계: 이 3축 하중은 영향선 계산법을 설명하기 위한 임의의 교육용 하중이며 KDS, AASHTO LRFD, Eurocode 또는 철도 설계기준의 설계차량이 아닙니다. 실제 설계에서는 관할 규정과 판본을 먼저 지정하고 차로하중, 축중, 축간격, 다차로 재하, 동적 증폭·충격, 피로 차량, 분배계수, 하중계수와 조합을 그 규정대로 적용해야 합니다. 이 글은 그 값을 임의로 발명하지 않습니다.

1단계 — 이동하중 문제를 여섯 개의 질문으로 나눈다

이동하중 해석은 차량을 조금씩 움직이며 수천 번 해석하는 작업으로 시작할 필요가 없습니다. 먼저 응답을 하나 고정하고, 그 응답에 대한 단위하중 영향선을 구한 다음, 실제 축하중을 영향선 위에 놓습니다. 선형 탄성 구조라면 각 축의 하중×영향선 세로값을 합한 것이 그 위치에서의 응답입니다. 극값은 영향선의 꼭짓점, 부호 전환점, 점프, 그리고 축이 구조에 진입하거나 빠져나가는 사건에서 체계적으로 찾을 수 있습니다.

질문고정하는 것움직이는 것주요 출력

A 반력의 최대값은?A 반력이라는 응답축하중군최대 RA와 축 배치

C 전단력의 양·음 최대는?C와 전단 부호축하중군VC의 좌·우 극한

C 모멘트의 최대값은?C단면축하중군MC,max와 축 배치

보 어디에서든 모멘트 최대는?보 전체축하중군과 검사 단면절대최대 M과 위치

차로하중의 효과는?응답 영향선재하 구간하중강도×영향선 면적

2단계 — 영향선과 전단력도·모멘트도를 구분한다

영향선은 구조와 응답 위치는 고정하고 크기 1인 하중의 위치 x만 이동시켰을 때 한 응답이 어떻게 변하는지를 그린 함수입니다. 예를 들어 ηMC(x)는 단위하중이 x에 있을 때 C단면에 생기는 모멘트입니다. 가로축은 단위하중의 위치이고 세로축은 C에서의 응답입니다.

하중도·전단력도·모멘트도는 그 반대입니다. 실제 하중의 위치를 고정하고 구조의 검사 위치를 움직여 V(s), M(s)를 그립니다. 두 그림이 우연히 비슷한 모양을 가질 수 있어도 독립변수가 다릅니다. 영향선의 C는 움직이지 않습니다. 이 차이를 놓치면 “모멘트 영향선의 꼭짓점이 곧 보 전체 최대모멘트 위치”라고 오해하게 됩니다.

그림고정가로축세로축

하중도하중 케이스구조 위치 s하중 q(s)

전단력도하중 케이스검사 단면 sV(s)

휨모멘트도하중 케이스검사 단면 sM(s)

MC 영향선C단면 응답단위하중 위치 xηMC(x)

3단계 — 좌표·단위·부호와 선형성 조건을 먼저 선언한다

x축은 A에서 B로 향하고, 단위하중 1은 아래로 작용합니다. 수직반력은 위쪽을 양으로 둡니다. C단면 전단력은 왼쪽 절단면의 내부전단을 기준으로 정의하여 단위하중이 C의 왼쪽에 있으면 음, 오른쪽에 있으면 양이 되도록 하겠습니다. C단면의 처짐을 만드는 정모멘트, 즉 새깅 모멘트는 양입니다. 다른 교재가 전단 부호를 반대로 쓰더라도 틀린 것은 아니지만, 식·그림·FEA 출력의 부호를 한 번 정하면 끝까지 바꾸지 않아야 합니다.

단위도 중요합니다. 반력 영향선의 세로값은 무차원입니다. 전단 영향선도 무차원입니다. 모멘트 영향선은 단위하중에 대한 모멘트이므로 길이 단위, 여기서는 m를 가집니다. 따라서 kN×m이 실제 모멘트가 됩니다. 연속하중에서는 kN/m×m²=kN·m가 됩니다. 단위 검사는 식을 외우지 않고도 잘못된 영향선 값을 잡아냅니다.

중첩은 구조와 지점 조건이 고정된 선형 탄성 범위에서만 그대로 성립합니다. 베어링 들림, 접촉 개폐, 인장전용 부재의 활성 변화, 균열에 따른 큰 강성 변화, 소성화, 케이블의 큰 형상변화가 생기면 하중 위치마다 시스템 자체가 달라질 수 있습니다. 이때는 하나의 영향선에 모든 축을 곱하는 대신 상태 의존 비선형 이동하중 해석이 필요합니다.

4단계 — 평형식으로 A와 B 반력 영향선을 만든다

크기 1의 하중이 A에서 x만큼 떨어져 있다고 합시다. A점에 대한 모멘트 평형은 RB·L−1·x=0이므로 ηRB(x)=x/L=x/20입니다. 수직력 평형에서 ηRA(x)+ηRB(x)=1이므로 ηRA(x)=(L−x)/L=(20−x)/20입니다. A에 단위하중이 있으면 RA=1, B에 있으면 RA=0이고, RB는 반대입니다. 정정 단순보에서는 끝점 세로값을 직선으로 잇는 것만으로 완성됩니다.

실제 여러 축이 보 위에 있을 때 반력은 RA=ΣPi·ηRA(xi), RB=ΣPi·ηRB(xi)입니다. 모든 세로값이 0 이상이므로 주어진 축들을 모두 보 위에 놓을 수 있다면 반력을 키우는 데 불리한 음의 영역은 없습니다. RA를 가장 크게 하려면 무거운 축들을 A에 가깝게, RB는 B에 가깝게 둡니다. 예제에서 P1이 A에 막 진입해 축들이 0, 3, 7 m에 있을 때 RA=90·1+150·0.85+150·0.65=315.0 kN입니다. P3가 B에 도달해 축들이 13, 16, 20 m에 있을 때 RB=90·0.65+150·0.8+150·1=328.5 kN입니다.

5단계 — C단면 모멘트 영향선은 연속 삼각형이다

C단면은 A에서 a=8 m, B에서 b=12 m입니다. 단위하중이 C 왼쪽, 즉 0≤x≤8에 있을 때 C 오른쪽 조각을 보면 외력은 RB뿐이므로 ηMC=RB·b=(x/20)·12=0.6x입니다. 단위하중이 C 오른쪽, 8≤x≤20이면 왼쪽 조각에서 ηMC=RA·a=(20−x)·8/20=0.4(20−x)입니다.

두 식은 C에서 모두 ab/L=8·12/20=4.8 m가 됩니다. 집중하중이 단면을 통과해도 내부모멘트 자체에는 점프가 없기 때문에 영향선은 연속입니다. 다만 기울기는 왼쪽 +0.6에서 오른쪽 −0.4로 바뀝니다. 이 꼭짓점 때문에 축 하나가 C에 놓이는 사건은 C모멘트 극값 후보입니다.

6단계 — C단면 전단력 영향선에는 반드시 점프가 있다

단위하중이 C 왼쪽에 있을 때 왼쪽 조각의 평형에서 VC=RA−1=−x/L입니다. C 오른쪽에 있으면 왼쪽 조각에 단위하중이 없으므로 VC=RA=(L−x)/L입니다. 따라서 C 바로 왼쪽 극한은 −a/L=−0.4, 바로 오른쪽 극한은 b/L=+0.6입니다. 두 값의 차는 정확히 1이며, 이동하는 단위 집중하중이 절단면을 건너는 순간의 전단 점프를 나타냅니다.

응답0≤x<88<x≤20C에서의 성질

ηVC−x/20(20−x)/20−0.4 → +0.6, 점프 1

ηMC0.6x0.4(20−x)4.8 m, 연속

전단력의 좌우 극한은 계산 소프트웨어에서 특히 조심해야 합니다. 하중 좌표와 단면 좌표가 부동소수점 허용오차 안에서 같으면, 프로그램이 자동으로 어느 편을 택하는지 명확하지 않을 수 있습니다. 극값 탐색에서는 “축이 C 바로 왼쪽”과 “바로 오른쪽”을 두 개의 사건으로 만들어 각각 평가하는 편이 안전합니다.

7단계 — 축하중군은 각 축의 하중과 세로값을 곱해 합한다

P1 위치를 x0라 두면 세 축 위치는 x1=x0, x2=x0+3, x3=x0+7입니다. 고정 응답 R에 대한 이동하중 결과는 R(x0)=ΣPi·ηR(x0+di)이며, 보 밖에 있는 축은 합에서 제외합니다. 영향선의 물리적 뜻이 이 한 줄에 모두 들어 있습니다.

C모멘트를 크게 하려면 큰 세로값에 큰 축을 놓습니다. 후보는 각 축이 C에 도달하는 x0=8, 5, 1 m와 축이 A·B에 진입·이탈하는 위치입니다. P2가 C에 있을 때 x0=5 m이고 축 위치는 5, 8, 12 m입니다. 영향선 세로값은 각각 3.0, 4.8, 3.2 m이므로 다음과 같습니다.

MC=90·3.0+150·4.8+150·3.2=270+720+480=1,470.0 kN·m

축위치 xi (m)ηMC(xi) (m)기여 Piη (kN·m)

P153.0270

P284.8720

P3123.2480

합계1,470

8단계 — 전단 극값은 축이 C를 건너는 양쪽을 모두 평가한다

양의 C전단 최대값은 P1이 C 바로 오른쪽에 있을 때 발생합니다. 그 순간 축 위치는 8+, 11, 15 m이고 세로값은 +0.6, +0.45, +0.25입니다. 따라서 VC,max=90·0.6+150·0.45+150·0.25=159.0 kN입니다.

음의 최소값은 마지막 축 P3가 C 바로 왼쪽에 있을 때입니다. 축 위치는 1, 4, 8− m이고 세로값은 −0.05, −0.20, −0.40입니다. 따라서 VC,min=90·(−0.05)+150·(−0.20)+150·(−0.40)=−94.5 kN입니다. “C에 축이 있다”는 좌표만 기록하면 두 결과를 구분할 수 없으므로 보고서에는 C−와 C+를 반드시 표시합니다.

극값축 위치 (m)계산결과

양의 최대 VC8+, 11, 1590·0.60+150·0.45+150·0.25+159.0 kN

음의 최소 VC1, 4, 8−90·(−0.05)+150·(−0.20)+150·(−0.40)−94.5 kN

9단계 — 지정 단면 최대와 보 전체 절대최대는 다른 문제다

1,470 kN·m는 C라는 미리 정한 단면의 최대값입니다. 보 전체에서 단면 위치까지 움직이면 더 큰 모멘트가 다른 곳에서 생길 수 있습니다. 단순보에 한 축하중군 전체가 올라와 있을 때 절대최대 모멘트는 보통 한 축 아래에서 발생하며, 그 축과 하중군 합력의 작용점이 경간 중앙을 사이에 두고 같은 거리만큼 떨어지는 배치가 후보가 됩니다.

이 하중군의 합은 R=390 kN, P1에서 합력까지의 거리는 x̄=(90·0+150·3+150·7)/390=3.846153846 m입니다. P2를 임계축으로 두면 P2와 합력의 중점이 경간 중앙 10 m에 오도록 x0=(20−3−3.846153846)/2=6.576923077 m가 됩니다. 세 축은 6.576923, 9.576923, 13.576923 m, 합력은 10.423077 m이고 P2는 9.576923 m입니다.

이때 RA=186.75 kN, RB=203.25 kN이며 P2 아래 모멘트는 M=RA·9.576923−90·(9.576923−6.576923)=1,518.490385 kN·m입니다. 이는 C에서의 최대값보다 약 3.30% 큽니다. 최대모멘트 위치는 x=9.576923 m로 C가 아닙니다.

문제고정 단면임계 배치결과

C단면 최대x=8 mP2가 C1,470.000 kN·m

보 전체 절대최대움직임P2와 합력을 중앙에 대칭1,518.490385 kN·m @ x=9.576923 m

10단계 — 연속하중은 영향선 면적을 사용한다

강도 w인 균일분포하중이 영향선의 구간 z≤x≤z+ℓ에 놓이면 응답은 R=w∫η(x)dx입니다. 같은 부호의 면적은 응답을 키우고 반대 부호의 면적은 줄입니다. 따라서 재하 가능한 구간이 길더라도 원하는 양의 최대를 구할 때는 양의 영역만 재하하고, 음의 최소에는 음의 영역만 재하하는 것이 기본입니다. 실제 규정의 차로하중 연속성·차로 길이·다경간 재하 규칙은 별도로 따라야 합니다.

교육용으로 w=25 kN/m, 재하길이 ℓ=6 m를 C모멘트 영향선 위에서 움직여 봅시다. 최적 위치는 창의 양 끝 세로값이 같아지는 η(z)=η(z+6)에서 나옵니다. 0.6z=0.4(14−z)이므로 z=5.6 m이고 재하구간은 5.6~11.6 m입니다. 이 구간 아래 영향선 면적은 24.48 m², 응답은 25×24.48=612.0 kN·m입니다.

11단계 — 격자 스캔보다 사건 기반 탐색을 먼저 사용한다

축하중군 응답은 각 축이 영향선의 한 직선 구간에 있는 동안 x0에 대한 직선 함수입니다. 그러므로 극값은 기울기가 바뀌는 사건에서 생깁니다. 정정 단순보의 C모멘트라면 각 축이 A, C, B를 지나는 위치만 후보로 만들면 됩니다. C전단은 C−와 C+를 별도 사건으로 둡니다. 이 방식은 0.001 m 간격으로 27,000번 평가하지 않아도 정확한 값을 줍니다.

격자 스캔은 일반 해석기의 검증용으로 유용하지만 간격 의존성을 공개해야 합니다. 이 예제의 보 전체 절대최대 모멘트를 x0 간격별로 찾으면 1 m에서 1,515.0, 0.5 m에서 1,518.375, 0.1 m에서 1,518.48, 0.01 m에서 1,518.4902, 0.001 m에서 1,518.4903845 kN·m입니다. “500개 위치를 계산했다”보다 위치 간격과 수렴표가 더 중요한 이유입니다.

x0 간격스캔 최대 M (kN·m)정확값 대비 차이

1.0 m1,515.0000−3.4904

0.5 m1,518.3750−0.1154

0.1 m1,518.4800−0.0104

0.01 m1,518.4902−0.0002

0.001 m1,518.4903845약 −0.0000001

12단계 — Müller–Breslau 원리로 영향선 모양을 먼저 본다

Müller–Breslau 원리는 원하는 응답에 대응하는 구속을 풀고 그 응답의 양의 방향으로 단위 일반화 변위를 주었을 때 생기는 변형 형상이 영향선의 모양에 비례한다고 말합니다. 반력 영향선이라면 그 지점의 해당 방향 구속을 풀고 단위 이동을 줍니다. C모멘트라면 C에서 모멘트 전달 구속을 풀어 힌지를 만든 뒤 양의 상대회전을 줍니다. C전단이라면 전단 전달을 풀고 양의 상대수직변위를 줍니다.

이 원리는 부정정 구조에서 특히 강력합니다. 평형식만으로 모든 세로값을 구하기 어렵더라도 영향선의 양·음 영역과 굴곡, 어느 경간을 재하해야 하는지를 질적으로 알 수 있습니다. 다만 변형 형상은 스케일이 정해지지 않은 “모양”입니다. 정확한 세로값은 해석 또는 정규화 조건으로 구해야 합니다.

13단계 — 부정정 보에서는 단위하중 해석으로 정확한 세로값을 구한다

연속보, 프레임, 탄성지점 구조는 단위하중이 움직일 때 반력과 내부력이 강성에 따라 재분배됩니다. 영향선은 일반적으로 직선 조각이 아니라 곡선입니다. 이때 각 단위하중 위치에 대해 강성법으로 한 번씩 풀거나, 상반정리와 해당 응답의 단위변형 상태를 사용합니다. 지점침하 가능성, 회전스프링, 복합단면 강성 변화가 있으면 실제 모델과 영향선 모델의 강성을 같게 해야 합니다.

계산 비용을 줄일 때는 먼저 필요한 응답 수와 하중 위치 수를 구분합니다. 수천 개 하중 위치에서 소수 응답만 필요하면 상반성을 이용한 영향벡터가 효율적일 수 있습니다. 반대로 위치별 전체 응력장이 필요하면 각 위치의 정방향 해석이 필요할 수 있습니다. 어떤 방법이든 단위하중의 크기와 방향, 응답 추출 부호, 지점반력 회수 방식이 문서화되어야 합니다.

14단계 — 트러스 이동하중은 패널점 전달을 먼저 정의한다

교량 트러스의 차량하중은 보통 바닥판과 종·횡거더를 거쳐 패널점으로 전달됩니다. 트러스 부재축 사이에 직접 하중을 놓고 축력 전용 요소만 사용하면 실제 하중경로를 잃습니다. 한 패널 안의 바퀴하중은 인접 두 패널점으로 정정 보 반력처럼 분배하고, 각 패널점에 단위하중을 놓아 관심 부재력의 영향 세로값을 구합니다. 패널점 사이 세로값은 그 하중 전달 가정 아래 선형 보간됩니다.

특정부재의 영향선을 구할 때는 절점법·단면법으로 각 패널점 단위하중의 부재력을 계산하거나 행렬강성법으로 반복합니다. Müller–Breslau 관점에서는 관심 부재를 절단해 그 축력의 양의 방향으로 단위 상대변위를 주었을 때의 운동 형상이 부호 영역을 보여줍니다. 실제 바닥계가 연속판으로 여러 주거더와 패널에 분배한다면 단순 1차원 패널점 선형분배가 충분한지 별도 검증해야 합니다.

15단계 — 선 영향선에서 교량 영향면으로 확장한다

하나의 선형 거더에 차량의 종방향 위치만 고려하면 영향선이면 충분합니다. 다차로 교량의 횡분배, 비틀림, 사교(skew), 횡보와 격자작용이 중요하면 하중의 종·횡 두 좌표에 대한 영향면이 필요합니다. 유한요소 모델의 바닥판 노드나 패치마다 단위하중을 놓고 목표 거더 모멘트, 지점반력, 응력범위 같은 응답을 추출하면 영향면을 만들 수 있습니다.

차량의 각 바퀴는 영향면 위 해당 좌표의 세로값과 곱해지고 모두 합산됩니다. 이때 바퀴하중을 가장 가까운 노드 하나에 몰아넣지 말고 요소 형상함수나 일관된 패치 분배로 전달해야 위치 변화가 매끄럽습니다. 횡방향 최대값까지 찾으려면 차로 경계, 차량 폭, 바퀴 간격, 난간 및 연석 접근 제한을 설계규정에 맞게 적용합니다.

16단계 — 정적 이동과 동적 이동을 분리한다

영향선에 정적 축중을 곱하는 계산은 관성·감쇠·노면 거칠기·차량 현가장치·속도 의존 공진을 직접 해석하지 않습니다. 설계기준이 정한 동적 증폭 또는 충격계수는 정적 효과에 규정된 방식으로 적용할 수 있지만, 그 계수가 실제 시간이력 해석과 같은 것은 아닙니다. 피로에서는 단순 최대모멘트보다 한 차량 통과 중의 최대·최소 응력 차와 반복 횟수가 더 중요합니다.

시간영역 차량–교량 상호작용이 필요한 경우에는 질량행렬, 감쇠, 속도, 차축 현가, 노면 프로파일, 접촉 유지와 시간간격 수렴을 정의해야 합니다. 정적 영향선 결과는 여전히 중요한 기준입니다. 차량 속도를 매우 낮추거나 관성효과를 제거한 동적 모델의 결과가 정적 이동하중 해석으로 수렴하는지 확인하면 모델 연결 오류를 찾을 수 있습니다.

17단계 — 실행 가능한 Python 코드로 모든 핵심값을 재현한다

아래 코드는 외부 패키지, 프로젝트 키, 파일 경로 치환이 필요 없습니다. 그대로 moving_load.py에 저장해 python3 moving_load.py를 실행하면 반력, C전단의 좌우 극값, C모멘트 최대, 보 전체 절대최대, 6 m 연속하중 결과를 출력하고 기준값과 비교합니다. 축이 영향선 꼭짓점을 지나는 사건을 사용하므로 C응답에는 임의 격자 오차가 없습니다.

from math import isclose L = 20.0 C = 8.0 AXLES = ((90.0, 0.0), (150.0, 3.0), (150.0, 7.0)) # kN, m from P1 def eta_ra(x): return (L - x) / L def eta_rb(x): return x / L def eta_moment_c(x): if x <= C: return x * (L - C) / L return C * (L - x) / L def eta_shear_c(x, section_side): if isclose(x, C, abs_tol=1e-12): return -C / L if section_side == "left" else (L - C) / L return -x / L if x < C else (L - x) / L def active_axles(x0): return [(p, x0 + offset) for p, offset in AXLES if 0.0 <= x0 + offset <= L] def response(x0, ordinate, *args): return sum(p * ordinate(x, *args) for p, x in active_axles(x0)) events = sorted({kink - offset for _, offset in AXLES for kink in (0.0, C, L)}) ra_max = max((response(x0, eta_ra), x0) for x0 in events) rb_max = max((response(x0, eta_rb), x0) for x0 in events) mc_max = max((response(x0, eta_moment_c), x0) for x0 in events) shear_limits = [] for x0 in events: shear_limits.append((response(x0, eta_shear_c, "left"), x0, "C-")) shear_limits.append((response(x0, eta_shear_c, "right"), x0, "C+")) vc_max = max(shear_limits) vc_min = min(shear_limits) # Absolute beam maximum while the complete axle group is on the span. total = sum(p for p, _ in AXLES) resultant_offset = sum(p * offset for p, offset in AXLES) / total absolute_candidates = [] for _, critical_offset in AXLES: x0 = (L - critical_offset - resultant_offset) / 2.0 loads = active_axles(x0) if len(loads) != len(AXLES): continue x_critical = x0 + critical_offset ra = sum(p * (L - x) / L for p, x in loads) moment = ra * x_critical - sum( p * (x_critical - x) for p, x in loads if x < x_critical ) absolute_candidates.append((moment, x0, x_critical)) absolute_max = max(absolute_candidates) # Six-metre UDL on the C-moment influence line. w, loaded_length = 25.0, 6.0 z = 5.6 area_left = 0.3 * (C**2 - z**2) right = z + loaded_length area_right = 0.4 * ((L * right - right**2 / 2) - (L * C - C**2 / 2)) udl_moment = w * (area_left + area_right) print(f"max RA = {ra_max[0]:.6f} kN at x0={ra_max[1]:.6f} m") print(f"max RB = {rb_max[0]:.6f} kN at x0={rb_max[1]:.6f} m") print(f"max MC = {mc_max[0]:.6f} kN*m at x0={mc_max[1]:.6f} m") print(f"max VC = {vc_max[0]:.6f} kN at x0={vc_max[1]:.6f} m {vc_max[2]}") print(f"min VC = {vc_min[0]:.6f} kN at x0={vc_min[1]:.6f} m {vc_min[2]}") print(f"absolute M = {absolute_max[0]:.6f} kN*m " f"at x0={absolute_max[1]:.6f} m, x={absolute_max[2]:.6f} m") print(f"6 m UDL moment = {udl_moment:.6f} kN*m") expected = (315.0, 328.5, 1470.0, 159.0, -94.5, 1518.490384615, 612.0) actual = (ra_max[0], rb_max[0], mc_max[0], vc_max[0], vc_min[0], absolute_max[0], udl_moment) for value, target in zip(actual, expected): assert isclose(value, target, rel_tol=1e-10, abs_tol=1e-9), (value, target) print("all reference checks passed")

예상 출력은 max RA=315.000000 kN, max RB=328.500000 kN, max MC=1470.000000 kN·m, max VC=159.000000 kN, min VC=−94.500000 kN, absolute M=1518.490385 kN·m, 6 m UDL moment=612.000000 kN·m, 마지막 줄 all reference checks passed입니다.

18단계 — FEA는 영향선을 대체하는 그림이 아니라 독립 검산 경로다

유한요소 모델에서는 보를 충분한 수의 요소로 나누고 각 하중 위치에 단위하중을 적용해 관심 응답을 추출합니다. 이 예제처럼 C가 정확히 노드에 있고 1 m 보 요소를 사용하면 정정 단순보의 노드 위치 반력·C모멘트 영향 세로값은 평형식 결과와 일치해야 합니다. 그다음 실제 축하중을 직접 이동시키는 해석을 수행해 ΣPiη(xi)와 비교합니다.

검증층확인 항목이 예제 기준

기하·경계A 핀, B 롤러, L=20 m, C=8 m불필요한 축방향·회전 구속 없음

단위하중 평형RA+RB=1, 전역 모멘트모든 하중 위치에서 만족

영향 세로값x=0, 8, 20의 ηMC0, 4.8, 0 m

전단 점프C−와 C+−0.4, +0.6

직접 축하중P1/P2/P3=5/8/12 mMC=1,470 kN·m

절대최대x0·검사단면 동시 탐색1,518.490385 kN·m

격자 수렴이동 간격 감소사건 기반 정확값으로 수렴

직접해석과 영향선 결과가 다르면 가장 먼저 부호, 축이 보 밖에 있을 때의 제외 규칙, 하중의 노드·요소 분배, 지점반력 추출, C의 좌우 요소단력, 좌표 허용오차를 확인합니다. 셸 교량 모델에서는 국부 바퀴 접촉응력과 전역 거더 응답을 혼동하지 말아야 하며, 영향면을 만들 때 사용한 요소 위치와 실제 차량 경로 좌표가 같은 기준계인지 확인합니다.

19단계 — 실무 계산서는 숫자보다 재현 가능한 결정 경로를 남긴다

최종 보고서에는 구조계와 지점, 영향 응답의 정확한 위치·성분·부호, 이동하중의 출처와 축 순서, 하중 이동 방향, 차로 및 횡분배 가정, 정적/동적 경계, 극값 탐색 방법과 위치 간격, 하중이 단면에 정확히 있을 때의 좌우 처리, 검증식을 기록합니다. 최대값 표에는 값만이 아니라 임계 축 번호, 차량 기준위치, 응답 단면, 활성 차로와 조합을 붙여야 같은 결과를 다시 만들 수 있습니다.

검토 순서는 간단합니다. 첫째, 단위하중 하나로 반력합과 모멘트를 확인합니다. 둘째, 영향선의 끝점·꼭짓점·점프와 단위를 손계산합니다. 셋째, 실제 축 한 개와 축하중군을 중첩해 직접 정적해석과 비교합니다. 넷째, 사건 기반 극값과 격자 스캔의 수렴을 비교합니다. 다섯째, 규정 차량·차로하중·동적 증폭·조합을 적용할 때는 적용 기준과 판본을 계산서에 고정합니다.

완료 조건통과 기준

평형각 단위 위치에서 반력합=1, 전역 모멘트 잔차가 허용오차 이내

영향선 형상끝점, C의 연속/점프, 부호영역이 이론과 일치

중첩영향선 합과 동일 위치 직접해석이 일치

극값임계축·차량 기준위치·단면위치와 좌우 극한 기록

수렴격자 간격 감소 시 사건 기반 결과로 수렴

규정차량·충격·분배·조합의 출처와 판본 명시

공식 자료와 더 읽을거리

NPTEL — Influence Lines for Beams by Equilibrium Method: 단위하중 위치별 평형으로 정정 보의 영향선을 구성하는 절차를 설명합니다.

NPTEL — Müller–Breslau Principle: 응답에 대응하는 구속을 풀고 단위변위를 주어 영향선 형상을 얻는 원리를 다룹니다.

FHWA — LRFD for Highway Bridge Superstructures: 이동 활하중의 최대·최소 효과, 선형 거더와 정교한 2D/3D 모델, 선형성 한계를 정리합니다.

FHWA — Bridge Load Rating with Digital-Twin and Influence-Surface Methods: 비표준 차량과 상세 유한요소 모델에서 영향면을 활용하는 사례를 제공합니다.

FHWA — Static and Dynamic Moving-Train Comparison: 정적 영향선과 이동하중 스캔의 비교 및 위치 증분의 영향을 보여줍니다.

핵심은 간단합니다. 하중을 움직이기 전에 응답을 고정하고, 단위하중 영향선을 검산한 다음, 축하중을 곱해 합하고, 점프와 꼭짓점 사건에서 극값을 찾으십시오. 그 결과를 직접 FEA 이동하중 해석과 교차 확인하면 손계산은 FEA의 축소판이 아니라 모델 오류를 잡는 독립 기준이 됩니다.