접수진동에서 해결하려는 문제
물속의 판, 액체를 담은 탱크 벽, 잠긴 기계 부품은 공기 중에서 얻은 고유진동수만으로 평가하기 어렵습니다. 구조물이 가속할 때 주변 유체도 움직여야 하므로 유체 관성이 구조물의 진동에 영향을 줍니다. 액체의 전체 무게를 몇 개 절점에 나눠 붙이는 방법은 형상과 경계에 따라 달라지는 압력 분포 및 서로 다른 위치의 결합을 놓칠 수 있습니다. 이 글은 MSC Nastran의 공개 문서에 설명된 MFLUID 계산 원리와, 디자IN이 DW-NASTRAN에 적용할 수 있도록 구성한 별도 개발 제안을 다룹니다. 제안의 중심은 ‘유체 운동에너지 기반 모드 적응형 부가질량 연산자’입니다. 공개된 잠재유동·부가질량 이론을 사용하며, 기본 물리 법칙의 신규 발견이나 현재 제품의 구현 완료를 주장하지 않습니다. 내부 장애·고객 실적·실물 성능시험 자료는 제공받지 않았습니다.
용어 풀이·보충 설명2개
- 접수진동·건식 진동
- 접수진동은 물이나 다른 액체에 접한 구조물의 진동입니다. 건식 진동은 이 글에서 유체 영향을 제외한 같은 구조물의 진동을 뜻합니다. 물의 무게만 추가하는 문제와는 다릅니다.
- 고유진동수
- 외부에서 계속 밀지 않아도 구조물이 고유하게 진동하는 빠르기이며 단위는 Hz입니다. 질량뿐 아니라 강성, 구속, 유체 경계도 결과를 바꿉니다.
MSC MFLUID가 표현하는 유체와 적용 범위
MSC Nastran 2022.2 Dynamic Analysis User’s Guide의 Virtual Fluid Mass 절은 비압축성 유체의 가속도–압력 결합을 질량 행렬로 표현합니다. 자유수면은 압력 0의 경계이며 기본 모델에서 중력 슬로싱과 압축성, 점성 효과는 제외됩니다. 매뉴얼은 관심 구조 모드가 중력 슬로싱보다 높고 압축성 음향 영역보다 낮은 조건을 전제합니다. 따라서 모드가 탱크의 출렁임 또는 음향 공진에 가까우면 다른 물리 모델과 비교해야 합니다. 적용 주파수의 수치 경계는 탱크 크기·수심·음속에 따라 달라지므로 모든 구조물에 같은 Hz 기준을 적용하지 않습니다. 이 글의 매뉴얼 확인 범위는 이론 설명 2022.2와 입력 항목 2025.1이며, 2026년 최신 기능 전체에 대한 확인은 아닙니다.
같은 유체 문제라도 필요한 모델이 다릅니다
부가질량 접수진동
- 유체 관성을 구조 질량에 결합
- 선형·비압축·비점성 범위
- 기본 자유수면에는 중력파 복원력 없음
중력 슬로싱
- 액면의 출렁임과 중력 복원력
- 수심·탱크 형상·액면 조건 중요
- 기본 부가질량만으로 판단하지 않음
유체 음향·점성 응답
- 음속·압축성 또는 점성 손실 중요
- 주파수 의존성과 감쇠 검토
- 별도 정식화와 검증 필요
물리 모델 선택을 위한 개념 비교입니다. MSC의 모든 유체 기능 또는 DW의 지원 목록을 나타내지 않습니다.
용어 풀이·보충 설명2개
- 비압축성·비점성·비회전
- 비압축성은 유체 밀도가 변하지 않는 근사, 비점성은 마찰 손실을 제외하는 근사입니다. 비회전 유동에서는 속도를 하나의 잠재함수의 기울기로 표현할 수 있습니다. 실제 물의 모든 현상을 재현한다는 뜻은 아닙니다.
- 슬로싱·음향 모드
- 슬로싱은 액면이 중력에 의해 출렁이는 운동입니다. 음향 모드는 압축과 팽창으로 압력파가 진동하는 현상입니다. 이 글의 기본 부가질량 식에는 이 두 현상의 복원력이 포함되지 않습니다.
MSC 입력에서 먼저 확인할 접수면·방향·단위
MSC Nastran 2025.1 Quick Reference Guide에서 MFLUID의 RHO는 밀도, CID·ZFS는 자유수면 좌표계와 높이, ELIST1·ELIST2는 한쪽 및 양쪽 접수 요소 집합입니다. ELIST1에 연결되는 ELIST의 요소 번호 부호가 접수면 방향을 결정합니다. Case Control의 MFLUID = SID로 해당 유체를 선택합니다. 세부 옵션은 설치 버전의 원문과 맞춰야 합니다. 개발·검토 절차: 요소 법선과 실제 유체 위치를 화면에서 대조하고, 액면 위 요소·중복 접수면·분리된 유체 공간을 확인합니다. 같은 물이라도 서로 연결되지 않은 공간을 하나로 묶으면 의도와 다른 결합이 생길 수 있습니다. 아래는 입력 점검 관점이며 완성된 실행 덱이 아닙니다.
- 밀도와 구조 질량의 단위를 함께 확인합니다. SI의 m·kg·s 체계에서 물의 예시 밀도 1,000 kg/m³는 mm 단위 모델에 그대로 넣는 숫자가 아닙니다.
- 액면과 좌표계, 요소 절점 순서에 따른 법선, 한쪽/양쪽 접수 여부를 그림과 대조합니다. 좌표 변환 뒤 방향도 확인합니다.
- 건식 모델의 구속·강성·질량을 먼저 검증한 뒤 유체만 추가해 비교합니다. 설정 파일과 솔버 버전, 출력 요청, 메시를 보관합니다.
용어 풀이·보충 설명2개
- 법선·접수면
- 법선은 면에 수직인 방향입니다. 판의 앞면과 뒷면 중 어느 쪽에 유체가 있는지 구분하는 데 쓰입니다. 양쪽 접수면과 독립된 두 유체 공간은 같은 설정이 아닐 수 있습니다.
- 단위 일관성
- m·kg·s를 쓰면 밀도 단위는 kg/m³입니다. mm·N·s 체계를 쓰면 질량 단위는 N·s²/mm이고 밀도도 이에 맞춰야 합니다. 소프트웨어가 입력 숫자의 물리 단위를 자동으로 알아낸다고 가정하지 않습니다.
기본 방정식: 구조 속도에서 유체 압력으로
이 글에서는 φ를 속도 잠재함수로 정의하고 n_f를 유체 영역 바깥을 향하는 법선으로 통일합니다. 구조와 만나는 면에서는 n_f가 고체 쪽을 향합니다. 구조 변위 u를 면 위 변위로 옮기는 보간함수를 H_s라 하면, 두 물질은 법선 방향 속도가 같아야 합니다. 접선 방향 미끄럼은 이 비점성 근사에서 허용됩니다. 정지 상태 주위의 작은 진동을 선형화하면 속도의 제곱 항을 제외한 비정상 Bernoulli 관계로 압력을 얻습니다. 시간에 따라 변하지 않는 정수압은 아래 진동 압력 p와 분리합니다. 구조의 큰 변형, 움직이는 액면, 평균 유동은 여기서 가정하지 않습니다. MIT Hydrodynamics의 부가질량 자료를 기본 물리 관계의 참고로 사용하고 기호와 부호는 이 글에 맞게 정의했습니다.
v = ∇φ 유체 속도
∇²φ = 0 유체 영역 Ω에서 Laplace 방정식
∂φ/∂n_f = n_f · H_s u̇ 접수면 S_w의 속도 일치
p = −ρ φ̇ 선형 진동 압력
압력 0의 기준 액면: φ = 0 진동하는 시간 성분에 대한 조건
움직이지 않는 벽: ∂φ/∂n_f = 0
무한 외부 유체: φ → 0 거리 → ∞
u: 구조 변위, ρ: 일정한 유체 밀도
점 하나: 시간 미분, 점 둘: 시간에 대한 두 번 미분
SI 단위: φ는 m²/s, v는 m/s, p는 Patext · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명2개
- 잠재함수·Laplace 방정식
- φ는 유체 속도를 표현하기 위한 계산 변수입니다. 공간에서 φ가 변하는 정도인 ∇φ가 속도가 됩니다. ∇²φ=0은 이 근사에서 유체가 내부에서 새로 생기거나 사라지지 않는 조건을 표현합니다.
- 법선과 압력 부호
- n_f는 유체 밖을 향합니다. 구조가 받는 압력 힘은 이 기호에서 p n_f이며, 뒤의 부가질량 반력은 구조 가속도를 방해하는 방향입니다. 법선 정의를 바꾸면 중간 식의 부호도 함께 바꿔야 합니다.
경계 소스 방법으로 압력을 만드는 계산 흐름
Ma와 Zhang의 접수 탱크 연구는 MSC Nastran의 가상질량 접근을 경계 소스, 경계 운동 일치, 압력, 절점 힘의 순서로 설명합니다. 아래는 그 계산 원리를 이해하기 위한 일반적인 경계적분 표현입니다. G의 4π 상수는 소스 세기의 정의에 흡수할 수도 있으므로 여기의 η를 MSC 매뉴얼의 σ와 같은 숫자로 취급하지 않습니다. 각 경계 패널의 소스가 다른 면의 운동에 영향을 주므로, 행렬의 대각항에 질량만 더하는 계산이 아닙니다. 접수면의 법선 속도를 맞추는 연립방정식을 풀고, 얻은 소스에서 압력을 계산한 뒤 면적과 구조 보간함수를 적용해 절점 힘으로 모읍니다. 패널의 자기 영향과 가까운 패널의 적분은 별도 수치 처리가 필요합니다. 아래 식만으로 상용 솔버의 내부 적분·안정화 구현 전체를 재현했다고 볼 수 없습니다.
G(x,y) = 1 / (4π |x−y|)
φ(x,t) = ∫S G(x,y) η(y,t) dS_y
접수면에서 ∂φ/∂n_f 를 구조 법선 속도와 일치시킴
패널 이산화 후: A η = B u̇
잠재함수 복원: φ_w = P η
압력 복원: p_w = −ρ P η̇
구조 힘: f_fluid = ∫S_w H_sᵀ n_f p_w dS
A: 법선 속도 영향 행렬, B: 구조 속도 연결 행렬
P: 경계 잠재함수 복원 행렬
η: 위 Green 함수의 정규화를 사용하는 소스 세기
경계 극한·자기항 처리는 A의 정의에 포함해야 함text · 실행 전 경로·권한·환경을 확인하세요.소스 방식의 계산 순서
- 01접수 경계
면 위치·면적·법선·유체 경계를 정의합니다.
- 02운동 일치
패널 영향 행렬로 법선 속도를 맞춥니다.
- 03소스 해
연립방정식에서 소스 세기를 구합니다.
- 04압력·힘
잠재함수의 시간 미분과 면 적분을 계산합니다.
- 05부가질량
가속도와 절점 힘 사이의 행렬 관계를 만듭니다.
경계 소스 접근의 원리를 다시 구성한 설명입니다. 실제 MSC 실행을 수행한 기록은 아닙니다.
용어 풀이·보충 설명2개
- Green 함수·소스·패널
- Green 함수는 한 위치에 둔 단위 소스가 다른 위치에 미치는 영향을 표현합니다. 패널은 경계면을 나눈 작은 면입니다. 소스는 수학적 계산 장치이며 실제 탱크에 물을 주입한다는 뜻이 아닙니다.
- 자기항·근접 적분
- 관찰점과 소스가 같은 면 또는 가까운 면에 있으면 단순히 면 중심의 값만 곱하는 근사가 부정확할 수 있습니다. 특이 적분과 경계 극한을 일관되게 처리해야 합니다.
MSC 가상질량 식과 접수 고유치 해석
MSC Dynamic Analysis User’s Guide는 소스에서 운동을 만드는 χ, 소스의 시간 변화에서 힘을 만드는 Λ를 이용해 가상질량을 나타냅니다. 아래 첫 세 식은 해당 공개 설명의 기호를 정리한 것입니다. 이 글에서는 F_inertia를 유체를 가속하기 위해 필요한 관성 힘으로 읽고 구조가 받는 반력 f_fluid와 구분합니다. 고정된 형상·경계, 일정한 밀도에서 유체 반력을 구조 운동방정식의 왼쪽으로 옮기면 총 질량은 M_s + M_a가 됩니다. 강성 K_s를 바꾸지 않는 기본 근사에서는 이 질량으로 접수 고유치 문제를 풉니다. 구조 감쇠 C_s를 넣어도 유체 점성 감쇠를 새로 계산한 것은 아닙니다. 역행렬 표기는 수학적 관계이며 구현에서 행렬을 직접 역산해 저장할 필요는 없습니다.
u̇ = χ σ
F_inertia = Λ σ̇
M_f = Λ χ⁻¹
이 글의 부가질량 이름: M_a = M_f
구조에 작용하는 유체 반력: f_fluid = −M_a ü
(M_s + M_a) ü + C_s u̇ + K_s u = f_ext
감쇠를 제외한 접수 모드:
K_s ψ = ω² (M_s + M_a) ψ
f_Hz = ω / (2π)
M_s: 구조 질량, K_s: 구조 강성, C_s: 구조 감쇠
ψ: 접수 모드 형상, ω: rad/s 단위 각주파수text · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명3개
- 행렬의 비대각항
- 행렬에서 서로 다른 자유도를 연결하는 항입니다. 한 부분의 운동이 다른 부분의 유체 압력과 힘에 영향을 주는 것을 표현합니다. 이를 모두 없애면 모드의 결합을 잃을 수 있습니다.
- 관성 힘과 반력
- 유체를 가속하는 데 필요한 힘과 유체가 구조를 밀어 되돌리는 힘은 반대 방향입니다. M_a를 총 질량에 더할 때는 이 부호 관계를 기준으로 구현을 검증해야 합니다.
- 고유치 문제
- 구조가 어떤 모양으로 어느 빠르기로 진동하는지 동시에 구하는 연립방정식입니다. 물을 더한 뒤 모드 형상도 달라질 수 있으므로 건식 모드와 번호만으로 일대일 비교하지 않습니다.
직접 계산 예시: 주파수 감소와 구의 부가질량
먼저 구조 질량 10 kg, 건식 고유진동수 100 Hz, 같은 운동 방향의 부가질량 5 kg인 1자유도 모델을 가정합니다. 강성은 변하지 않습니다. 계산한 접수 고유진동수는 약 81.65 Hz입니다. 이는 아래 스프링–질량 식을 직접 계산한 예이며 MSC 또는 DW 솔버의 시험 결과가 아닙니다. 유체 계산 자체의 독립 기준으로는 MIT의 구 부가질량 유도를 사용할 수 있습니다. 벽·액면에서 무한히 멀리 떨어진 구가 무한 비압축·비점성 유체에서 병진할 때 부가질량은 배제한 유체 질량의 절반입니다. 반지름 0.1 m, 밀도 1,000 kg/m³를 대입하면 약 2.0944 kg입니다. 이 구의 값은 앞의 5 kg과 별도의 예이며, 일반 탱크 벽에 그대로 넣는 계수가 아닙니다.
1자유도, 같은 강성 k:
f_dry = (1/2π) √(k/m_s)
f_wet = (1/2π) √(k/(m_s+m_a))
f_wet/f_dry = 1/√(1+m_a/m_s)
k = 10 × (2π × 100)² = 3,947,841.7604 N/m
f_wet = 100/√(1+5/10) = 81.649658 Hz
무한 유체 속 병진하는 구, 반지름 a:
m_a = ρ × (4πa³/3) / 2
ρ = 1,000 kg/m³, a = 0.1 m → m_a = 2.094395 kgtext · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명1개
- 1자유도 예제의 한계
- 움직이는 좌표가 하나이고, 물을 넣어도 강성이 같다는 가정입니다. 실제 구조물의 여러 모드, 정수압에 의한 강성 변화, 부력 복원력, 점성 손실을 포함하지 않습니다.
DW-NASTRAN 제안: 유체 운동에너지에서 질량을 구성합니다
DW-NASTRAN의 개발 제안은 유체 영역을 별도 유한요소로 나누고, 그 안의 잠재함수를 계산해 부가질량을 운동에너지의 이차형식으로 구성하는 것입니다. 첫 적용 대상은 작은 진동의 탱크 벽과 잠긴 구조 부품으로 제한합니다. 자유수면의 중력 운동과 음향·점성 해석은 별도 확장 대상으로 둡니다. MIT Marine Hydrodynamics Lecture 14에는 단위 운동의 잠재함수 기울기를 곱해 적분하는 부가질량과 에너지 관계가 설명되어 있습니다. 따라서 아래 에너지 식 자체를 새 물리 법칙이나 세계 최초 공식으로 부르지 않습니다. 이 글의 제안은 그 관계를 유체 유한요소 연산자, 구조 모드 축소, 체적 호환성 검사, 수렴 확인 및 재사용 규칙으로 연결하는 구현 설계입니다. 이 구성의 신규성·특허성이나 다른 제품 대비 우위는 조사·검증한 결과가 아닙니다.
제안하는 DW 계산 구성
- 01물리·체적 검사
접수면, 법선, 액면, 밀폐 여부를 확인합니다.
- 02유체 연산자
잠재함수 행렬 L과 구조 연결 C를 조립합니다.
- 03모드별 유체 해
구조 모드가 만드는 유체 운동을 풉니다.
- 04에너지 질량
모드 간 교차항을 포함한 질량을 구성합니다.
- 05접수 모드·검증
모드 수와 메시를 늘려 결과를 비교합니다.
DW-NASTRAN에 제안하는 개발 구조입니다. 현재 배포된 기능을 나타내지 않습니다.
용어 풀이·보충 설명2개
- 이차형식·에너지 기반
- 속도를 두 번 곱해 운동에너지를 계산하는 형식입니다. 유체를 움직이는 데 필요한 에너지가 음수가 되지 않아야 한다는 조건을 수치 행렬의 검증 기준으로 쓸 수 있습니다.
- 연산자·모드 축소
- 연산자는 입력 운동을 유체 반력으로 바꾸는 계산 관계입니다. 모드 축소는 구조의 모든 좌표 대신 대표 진동 모양의 조합으로 계산하는 방법입니다. 계산량을 줄일 가능성이 있지만 빠뜨린 운동에 대한 검증이 필요합니다.
제안식 유도: 유체 유한요소와 에너지 일치
유체 잠재함수를 유체 보간함수 N_a와 계수 α_a로 나타냅니다. Laplace 방정식에 시험함수를 곱하고 부분적분하면, 유체 영역의 기울기 적분 L과 접수면에서 구조 속도를 연결하는 C를 얻습니다. 자유수면 등 φ=0 경계의 고정 계수는 먼저 제거합니다. 구조와 유체의 메시가 다르면 접수면 적분에서 일관된 연결과 동일한 수치 적분을 사용해야 합니다. Lα = Cu̇를 유체 운동에너지에 대입하면 아래 부가질량이 나옵니다. 같은 C의 전치로 구조 힘을 되돌리는 것이 핵심입니다. 압력 전달에 별개의 임의 보간을 사용하면 이 에너지 관계가 깨질 수 있습니다. 이 유도는 고정 유체 영역에서의 선형 Galerkin 이산화이며 상용 소스 행렬 χ를 L로 단순 치환하는 작업이 아닙니다.
φ ≈ Σ_a N_a α_a
L_ab = ∫Ω ∇N_a · ∇N_b dΩ
C_ai = ∫S_w N_a (n_f · H_s,i) dS
L α = C u̇
T_f = (ρ/2) ∫Ω |∇φ|² dΩ = (ρ/2) αᵀ L α
= (1/2) u̇ᵀ M_a u̇
M_a = ρ Cᵀ L⁻¹ C
f_fluid = −ρ Cᵀ α̇ = −M_a ü
SI 병진 자유도로 읽는 경우:
L: m, C: m², α: m²/s, M_a: kg
L이 양의 정부호이면 M_a는 대칭·양의 준정부호
회전 자유도를 포함하면 일반화 좌표별 단위를 구분합니다.text · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명3개
- N·H_s·α·L·C의 뜻
- N은 유체 내부 잠재함수 보간, H_s는 구조의 변위를 면 위로 옮기는 보간입니다. α는 잠재함수 계수입니다. L은 유체 내부 공간 기울기 관계, C는 접수면의 구조 운동을 유체에 연결하는 면 적분입니다. 여기의 C는 앞의 구조 감쇠 C_s와 다른 기호입니다.
- 대칭·양의 준정부호
- 대칭은 좌표 둘을 바꿔도 교차항이 같은 성질입니다. 양의 준정부호는 어떤 속도를 넣어도 부가 운동에너지가 음수가 되지 않는 성질입니다. 법선·적분·연결을 검증할 기준이며 모든 질량 고유값이 반드시 양수라는 뜻은 아닙니다.
- 역행렬과 허용 공간
- L⁻¹은 방정식을 풀어 얻는 관계를 나타냅니다. 밀폐 유체처럼 상수 잠재함수 때문에 해가 유일하지 않으면 그대로 사용하지 않고 기준값과 호환 조건을 먼저 정의해야 합니다.
밀폐 유체: 체적 호환 조건과 특이행렬을 따로 처리합니다
자유수면도 압력 기준 경계도 없는 완전 밀폐 비압축 유체에서는 구조가 유체의 순체적을 바꾸는 운동을 할 수 없습니다. 잠재함수에 상수를 더해도 속도는 같으므로 두 조건이 필요합니다. 하나는 순유출입 0의 호환 조건, 다른 하나는 잠재함수 기준값 고정입니다. 작은 진동의 부호 있는 체적 변화율로 호환성을 검사합니다. MSC 매뉴얼은 밀폐 경계에서 소스 행렬의 특이성, 추가 소스·제약을 이용한 별도 처리와 그 한계를 설명합니다. DW 제안은 이를 그대로 모방했다고 주장하지 않고 아래 약형의 허용 운동 공간을 명시합니다. 호환되지 않는 운동을 의사역행렬로 조용히 처리하면 물리적으로 없는 압축성을 넣은 것처럼 보일 수 있습니다. 고무처럼 부풀어 체적이 변하는 밀폐 탱크를 평가해야 하면 유체 압축성을 포함하는 별도 모델을 검토합니다.
접수면 외의 벽이 고정된 경우:
∫S_w n_f · H_s u̇ dS = 0 순체적 변화율 0
유체 잠재함수 기준의 예:
∫Ω φ dΩ = 0
g_a = ∫Ω N_a dΩ
L α + g λ = C u̇
gᵀ α = 0
이 계수 조건은 상수 자유도를 제거합니다.
우변의 체적 호환성 위반을 고치는 수단이 아닙니다.
위반 시 구조 운동을 적합한 구속 공간으로 제한하거나
유체 물리 모델을 바꾸고 이유를 보고합니다.text · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명2개
- 특이행렬·기준값·호환성
- 특이행렬은 해가 하나로 결정되지 않는 행렬입니다. 기준값을 정하면 같은 속도를 만드는 상수 차이를 없앨 수 있습니다. 하지만 체적을 줄이는 벽 운동과 비압축 밀폐 유체의 모순까지 해결되는 것은 아닙니다.
- Neumann 조건
- 경계에서 잠재함수 값 대신 그 법선 방향 변화율, 즉 법선 속도를 지정하는 조건입니다. 모든 경계가 이 조건이면 순유출입과 기준값을 함께 확인해야 합니다.
모드 공간의 제안식: 교차항을 유지하고 역행렬을 만들지 않습니다
구조 변위를 u ≈ Vq로 나타냅니다. V의 열은 선택한 구조 모드이며 q는 모드별 진폭입니다. 처음에는 건식 모드를 사용할 수 있지만 접수 모드가 그 공간 안에 충분히 표현되는지 확인해야 합니다. 유체 문제는 각 모드가 만드는 접수면 운동을 우변으로 풀고 작은 질량 행렬을 구성합니다. 실제 구현에서는 L의 역행렬 대신 분해 또는 검증된 반복해법으로 LY = W를 풉니다. 같은 경계·유체 메시에서 행렬 분해를 재사용할 여지가 있습니다. 모드 간 부가질량의 비대각항을 보존하고, 수치 오차가 크면 강제로 대칭화해 덮기 전에 조립과 해법을 조사합니다. 축소 공간을 사용하는 접근 자체는 기존 수치해석 원리이며 이 글의 새 물리 법칙이 아닙니다.
u ≈ V q
W = C V
L Y = W
M_a,r = ρ Wᵀ Y = ρ Yᵀ L Y
M_r = Vᵀ M_s V + M_a,r
K_r = Vᵀ K_s V
K_r z = ω² M_r z
접수 모드 복원: ψ ≈ V z
밀폐 유체에서는 각 W의 체적 호환성과 기준값을 적용합니다.
대각항만 남기는 근사는 별도 오차 평가 없이 적용하지 않습니다.text · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명2개
- V·q·Y·교차항
- V는 구조 모드 모음, q는 각 모드를 얼마나 섞는지 나타내는 좌표입니다. Y의 열은 모드 하나가 유발하는 유체 잠재함수입니다. Y 열끼리의 에너지 적분이 교차항을 만들며 서로 다른 모드의 유체 결합을 보존합니다.
- 모드 정규화
- 모드의 크기는 임의로 바꿀 수 있습니다. 질량 정규화 여부와 회전·병진 좌표의 단위를 기록하고, V를 바꿨을 때 축소 질량·강성도 같은 정의로 다시 계산해야 합니다.
모드 적응: 빠뜨린 운동을 잔차로 조사합니다
선택한 모드만으로 얻은 접수 해가 전체 구조 방정식을 만족하는지 잔차 r로 검사하는 절차를 제안합니다. 축소 방정식의 잔차가 작다는 사실만으로 충분하지 않습니다. 전체 구조 공간에서 유체 반력을 다시 계산해, 포함하지 않은 방향의 불균형도 확인합니다. 병진과 회전 좌표를 함께 쓰면 힘과 모멘트의 단위가 다릅니다. 잔차의 숫자를 무작정 더하지 않고 대표 길이·강성 등을 이용해 정의한 동일한 무차원 좌표계 또는 일관된 에너지 쌍대 노름으로 평가합니다. 아래 η는 그 좌표계에서만 사용합니다. 허용값은 독립 기준 문제와 요구 정확도를 바탕으로 정하며 임의의 작은 값 하나를 제품 정확도 보증으로 삼지 않습니다. 부족하면 구조 모드를 추가하고 다시 풉니다. 정적 잔차 보정 K_s⁻¹r는 구속된 양의 정부호 강성에서 검토할 수 있습니다. 자유 구조의 강체 모드가 있으면 해당 영공간을 먼저 다뤄야 하므로 그대로 적용하지 않습니다. 잔차 수렴 뒤에도 유체 메시, 구조 메시, 외부 경계 위치 수렴을 따로 확인합니다.
임의의 구조 벡터 x에 대해:
L y = C x
M_a x = ρ Cᵀ y
r = K_s ψ − ω²(M_s ψ + M_a ψ)
일관되게 무차원화한 좌표의 잔차:
η = ||r|| / (||K_s ψ|| + ω² ||(M_s + M_a)ψ||)
분모가 0에 가까운 강체 모드는 별도 판정합니다.
η 감소 → 같은 이산 모델의 방정식 만족도 개선
η 감소 ≠ 실물 정확도 또는 모든 메시 오차의 보증text · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명2개
- 잔차·영공간
- 잔차는 계산한 모드를 방정식에 다시 넣었을 때 남는 불균형입니다. 영공간은 강성이 0인 방향으로, 자유 구조의 전체 이동·회전 등이 해당합니다. 이를 다루지 않고 강성을 역산하면 계산이 실패할 수 있습니다.
- 모드 수렴과 메시 수렴
- 모드를 늘리는 것은 표현 가능한 구조 운동을 늘리는 일입니다. 메시를 세밀하게 만드는 것은 공간 근사를 개선하는 일입니다. 두 오차를 서로 대신하는 것으로 취급하지 않습니다.
경계 소스와 에너지 유한요소: 적용 대안과 비용
접수면 소스 방식은 유체 체적 전체를 메시로 만들지 않는 장점이 있지만 면 사이의 결합으로 촘촘한 행렬이 생길 수 있습니다. 제안한 체적 유한요소 방식은 L을 희소 구조로 구성할 수 있지만 유체 내부까지 메시가 필요합니다. 축소 에너지 방식은 다수 구조 자유도의 질량 전체를 저장하지 않는 선택지이며, 모드 수가 늘면 그 이점도 달라집니다. 어느 방식이 더 빠른지는 유체/구조 크기, 행렬 분해, 메시 품질과 요구 모드에 따라 실행으로 비교해야 합니다. 무한 외부 유체를 체적 유한요소로 다룰 때는 먼 인공 경계에 φ=0 등을 두는 근사부터 검토할 수 있습니다. 경계를 멀리 옮기고 결과 변화를 확인해야 하며 가까운 인공 경계를 실제 고정 벽과 혼동하지 않습니다. 내부 유체, 외부 유체, 밀폐 유체의 결과와 검사 규칙을 분리해 기록합니다. 이 글은 유체 체적 방식을 MFLUID보다 항상 효율적인 방법으로 제시하지 않습니다.
DW 개발에서 비교할 계산 대안
경계 소스 접근
- 유체 체적 메시를 생략 가능
- 면 사이 결합과 적분 처리 필요
- 밀폐 조건·법선·수치 안정성 검증
전체 에너지 유한요소
- 희소 유체 L 구성 가능
- 유체 체적 메시와 외부 경계 비용
- 큰 구조 질량 전체 조립은 별도 부담
모드 에너지 연산자
- 필요한 모드 우변부터 계산
- 교차항 유지와 전체 잔차 확인
- 모드 추가·메시 수렴 비용 포함
공식 이론에서 도출한 개발 대안 비교입니다. 성능 수치는 측정하지 않았고 지원 기능도 확정하지 않았습니다.
용어 풀이·보충 설명2개
- 희소·촘촘한 행렬
- 희소 행렬은 0이 많아 필요한 항만 저장할 수 있습니다. 촘촘한 행렬은 많은 항을 저장합니다. 희소라도 분해 과정의 저장량과 연산이 클 수 있어 행렬 종류만으로 성능을 확정하지 않습니다.
- 인공 외부 경계
- 무한한 물을 유한한 계산 영역으로 잘라 바깥에 둔 계산 경계입니다. 위치와 조건이 결과를 바꿀 수 있으며 실제 수조 벽과 다른 모델입니다.
작은 행렬로 직접 확인한 에너지 식과 모드 결합
아래는 제안식의 대수 관계를 확인하기 위해 Python·NumPy에서 직접 실행한 2자유도 예입니다. L과 C는 임의로 정한 일관된 단위의 행렬이며 실제 형상에서 메시로 조립한 값이 아닙니다. 두 구조 좌표는 병진 좌표이고 구조 질량은 10 kg과 8 kg, 건식 주파수는 100 Hz와 160 Hz입니다. 계산한 부가질량은 대칭이고 고유값은 약 0.297003 kg과 3.636331 kg으로 양수였습니다. ρ CᵀY와 ρ YᵀLY가 수치 정밀도 안에서 일치했습니다. 두 접수 주파수는 약 90.353817 Hz와 146.881115 Hz이고 상대 잔차는 둘 다 1.1×10⁻¹⁶ 미만이었습니다. 이 예는 부호·에너지·교차항의 대수적 검산입니다. 전체 모드 두 개를 사용했으므로 모드 축소 정확도, 유체 FEM, 밀폐 유체, 실물 접수진동 또는 DW 솔버를 검증한 결과로 읽지 않습니다.
ρ = 1,000 kg/m³
L = ((2, −1), (−1, 2)) m
C = ((0.05, 0.02), (0.01, 0.04)) m²
M_s = diag(10, 8) kg
K_s = diag(10(2π100)², 8(2π160)²) N/m
Y = solve(L, C)
M_a = ρ Cᵀ Y
= ((2.066666667, 1.666666667),
(1.666666667, 1.866666667)) kg
K_s ψ = ω²(M_s + M_a)ψ
f_wet ≈ (90.353817, 146.881115) Hz
검산: 대칭성, 비음의 에너지, 두 질량식 일치, 전체 잔차
관찰된 잔차는 부동소수점 연산의 대수 잔차입니다.text · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명1개
- 직접 실행의 범위
- 작은 행렬 연산을 실행한 사실과 실제 솔버로 유체를 계산한 사실은 다릅니다. 이 예의 매우 작은 잔차는 선택한 행렬 방정식을 잘 풀었다는 뜻이며 현실의 형상·물성·경계가 정확하다는 뜻은 아닙니다.
재현용 코드: 명시적 역행렬 없이 작은 문제를 풉니다
아래 코드는 앞의 행렬 검산을 재현하는 Python·NumPy 예입니다. 본 조사에서는 이 연산을 실행해 결과를 확인했습니다. 질량 행렬을 Cholesky 분해해 대칭 고유치 문제로 변환하고, 복원한 모드를 원래 방정식에 다시 넣어 잔차를 계산합니다. 구현된 유체 솔버나 MSC 입력 파일은 아닙니다. Python 환경에 NumPy가 있어야 합니다.
import numpy as np
rho = 1000.0
L = np.array(((2.0, -1.0), (-1.0, 2.0)))
C = np.array(((0.05, 0.02), (0.01, 0.04)))
Ms = np.diag((10.0, 8.0))
fd = np.array((100.0, 160.0))
K = np.diag(np.diag(Ms) * (2*np.pi*fd)**2)
Y = np.linalg.solve(L, C)
Ma = rho * C.T @ Y
assert np.allclose(Ma, rho * Y.T @ L @ Y)
assert np.linalg.eigvalsh(Ma).min() >= -1e-12
M = Ms + Ma
R = np.linalg.cholesky(M)
Ri = np.linalg.solve(R, np.eye(2))
omega2, z = np.linalg.eigh(Ri @ K @ Ri.T)
modes = Ri.T @ z
print("Ma (kg):", Ma)
print("wet frequencies (Hz):", np.sqrt(omega2)/(2*np.pi))
for lam, psi in zip(omega2, modes.T):
r = K @ psi - lam * (M @ psi)
eta = np.linalg.norm(r) / (
np.linalg.norm(K @ psi) + lam*np.linalg.norm(M @ psi))
assert eta < 1e-12
print("relative residual:", eta)python · 실행 전 경로·권한·환경을 확인하세요.용어 풀이·보충 설명1개
- Cholesky 변환
- 양의 정부호 질량 행렬을 삼각 행렬로 분해해 대칭 고유치 문제로 바꾸는 방법입니다. 실제 대규모 구현에서는 삼각 대입을 사용하며 이 작은 코드의 Ri를 큰 행렬로 만들어 저장하는 방식을 그대로 확장하지 않습니다.
검증 계획: 이론해·독립 솔버·실물 비교를 단계별로 합니다
DW-NASTRAN 기능 개발의 완료 기준은 작은 행렬 검산과 별도로 정해야 합니다. 아래 검증은 제안이며 수행 완료 결과가 아닙니다. 사용 권한이 있는 MSC 실행 환경에서 동일한 구조 모델, 밀도, 접수면, 액면과 구속을 기록한 뒤 비교할 계획을 세울 수 있습니다. 상용 결과와 일치하는 것만으로 물리 모델의 적합성이 보장되지는 않으므로 독립 이론해와 실물 시험도 역할을 나눕니다.
- 이론 기준: 무한 유체의 병진 구 부가질량을 먼저 비교합니다. 유체 경계 위치와 메시를 바꿔 2.094395 kg 예시의 조건에 수렴하는지 확인합니다.
- 수치 조건: 대칭성, 음의 부가에너지 여부, 압력 적분과 구조 반력의 일치, 접수면 법선 반전의 처리, 자유수면과 밀폐 조건의 구분을 시험합니다.
- 모드 비교: 주파수 오차, 모드 형상과 부분공간 유사도, 전체 잔차를 함께 확인합니다. 비슷한 모드가 교차하거나 중복되면 모드 번호만 비교하지 않습니다.
- 수렴 분리: 구조 메시, 유체 메시, 모드 개수, 외부 경계 거리를 한 번에 하나씩 바꿉니다. 사전에 정한 허용 오차와 자원 예산을 기록합니다.
- 실물 검증: 재료·수심·고정 조건과 센서 배치가 기록된 접수 진동시험으로 비교합니다. 기본 모델이 제외한 점성·슬로싱·정수압 강성의 영향을 조사합니다.
용어 풀이·보충 설명2개
- 모드 유사도·부분공간
- 진동 모양이 얼마나 같은지 비교하는 지표를 사용합니다. 가까운 고유진동수에서는 모드가 섞일 수 있어 하나의 모양 대신 해당 모드들이 만드는 공간을 비교하는 것이 필요합니다.
- 정수압과 강성 변화
- 물의 정수압이 구조를 미리 변형시키거나 응력 상태를 바꾸면 진동 강성도 달라질 수 있습니다. 이 글의 단순 질량 추가 식은 이러한 변화와 부력에 의한 복원력을 자동으로 포함하지 않습니다.
운영 설계: 재사용 조건과 실패 시 복원
유체 형상·메시·접수면·법선·경계조건·기준값 처리·자료형이 같을 때 L의 분해를 재사용하는 후보를 검토합니다. 구조 모드 V가 바뀌면 W=CV와 Y를 다시 계산해야 합니다. 밀도만 바뀌고 형상과 이론 가정이 같으면 부가질량은 밀도에 비례합니다. 하지만 수위 변화, 접수면 변화 또는 경계 변경은 단순 배율 조정의 대상이 아닙니다. 개발 로그에는 입력 식별값, 모델·구속 검사, 유체/구조 자유도, 모드 수, 조립·분해·해결 시간, 최대 메모리, 잔차와 수렴 이력을 남기는 방식을 제안합니다. 속도 개선이나 메모리 절감 수치는 아직 측정하지 않았습니다. 체적 호환성 실패, 음의 부가에너지, 불안정한 모드 수렴, 압력·반력 불일치가 나타나면 결과를 검증 완료로 내보내지 않습니다. 제안 기능을 중지하고 보관한 이전 입력·엔진 설정으로 복원합니다. 건식 해석은 원인 분리용 비교값으로 표시하며 접수 결과를 대신하는 최종 결과로 반환하지 않습니다. 공개 문서에는 검증한 물리 범위와 미검증 항목을 함께 남깁니다.
용어 풀이·보충 설명1개
- 재사용 키
- 같은 계산 조건인지 확인하는 기록입니다. 모드나 액면이 바뀌었는데 이전 유체 질량을 그대로 쓰는 오류를 막기 위해, 형상뿐 아니라 경계·접수면·구속과 수치 정의도 확인해야 합니다.