19 KiB
5.2 고유치 추출법
고유치의 추출(eigenvalue extraction)은 모드 해석(normal mode analysis)과 선형좌굴 해석의 핵심 알고리즘이며, 모드 해석과 선형 좌굴 해석에서 발생하는 고유치 추출 문제의 형태는 다음과 같다.
\mathbf {K} \phi_ {i} - \lambda_ {i} \mathbf {B} \phi_ {i} = \mathbf {0} (n o s u m m a t i o n) \tag {5.2.1}
K : 강성 행렬
- B : 모드 해석 시 - 질량 행렬 ( )
-
좌굴 해석 시 - 기하강성 행렬 ( )
midas NFX에서는 연립방정식 해법에 따라 고유치 추출방법이 연동하여 바뀌게된다. 연립방정식 해법의 기본값인 다중프런트 해법에서는 Lanczos 반복법을 사용하며, 조밀행렬 해법을 선택하게 되면 고유치 추출 또한 조밀행렬을 이용한직접법을 사용한다. 각각의 방법은 다음과 같은 특징을 가지고 있다.
• Lanczos 반복법
► 대규모 문제에 적합하다.
► 고유치가 누락될 수 있으므로 Sturm sequence check 옵션을 사용하는 것이좋다.
• 조밀행렬을 이용한 직접법
► 자유도 개수가 수준에서 급격히 성능이 저하될 수 있으므로 작은 규모의테스트 모델에 적합하다.
► 고유치가 누락되지 않는다.
Lanczos 반복법은 Krylov 부분공간(subspace) 을 생성하는 과정을 통하여 발생하는 삼중 대각행렬을 이용하여 고유치의 근사값을 구하는 방법2이다. 효과적인 고유치 계산을 위하여 블록 삼중대각행렬3을 이용하기도 하며,
삼중대각행렬의 크기가 구하고자 하는 고유치 개수의 수준과 비슷하게 유지되므로 계산 속도가 매우 빠르고 대규모 문제에 적합하다. 그러나 고유치의 누락이발생할 수 있기 때문에 이를 확인하는 옵션을 사용하는 것이 좋다.
조밀행렬을 이용한 직접법은 강성행렬의 분해, 삼중대각행렬(tridiagonal matrix)생성, 고유치 계산 과정을 거치게 된다. 삼중대각행렬 생성과 고유치 계산을 전체 행렬에 대해 수행하므로 고유치의 누락은 발생하지 않으나, 대규모 문제를푸는 데는 부적합하다.
• 고유치의 계산범위
일반적으로 모드해석 시의 고유치 개수 및 범위는 모드 참여계수(modalparticipation factor) 또는 모드 유효 질량(modal effective mass)을 고려하거나관심 주파수 영역을 기준으로 결정할 수 있다. 좌굴 해석에서는 최소 임계하중이 중요한 결과항목이므로 가장 작은 임계하중 몇 개만을 계산하는 것이 일반적이다. 이와 같이 계산하고자 하는 고유치의 개수와 범위를 결정하게 되면, 다음과 같은 입력을 통하여 이를 설정할 수 있다.
표 5.2.1 고유치 개수와 범위의 설정 방법
| 변수 설정 $(v_{1}, v_{2}, N$ 입력 또는 미입력) | 고유치 범위 | 고유치 개수 |
| $v_{1}, v_{2}, N$ | $v_{1} < v < v_{2}$ | 최대 $N$ 개 |
| $v_{1}, \text{미입력}, N$ | $v_{1} < v$ | 최대 $N$ 개 |
| 미입력, $v_{2}, N$ | $v < v_{2}$ | 최대 $N$ 개 |
| 미입력, 미입력, $N$ | $-\infty < v < \infty$ | 최대 $N$ 개 |
| $v_{1}, v_{2}, \text{미입력}$ | $v_{1} < v < v_{2}$ | 모든 고유치 |
| $v_{1}, \text{미입력}, \text{미입력}$ | $v_{1} < v$ | 모든 고유치 |
| 미입력, $v_{2}, \text{미입력}$ | $v < v_{2}$ | 모든 고유치 |
| 미입력, 미입력, 미입력 | $-\infty < v < \infty$ | 모든 고유치 |
위의 입력에서 \nu _ { 1 } , \nu _ { 2 } \in \Sigma \underline { { \mathsf { E } } } 해석에서는 주파수(Hz)이며, 좌굴 해석 시에는 임계 하중 계수(critical load factor)이다.
- 고유치 계산 결과
고유치 문제의 결과인 고유벡터는 그 크기가 바뀌어도 (5.2.1)을 만족한다.
\begin{array}{l} a \left(\mathbf {K} \phi_ {i} - \lambda_ {i} \mathbf {B} \phi_ {i}\right) = \mathbf {K} \varphi_ {i} - \lambda_ {i} \mathbf {B} \varphi_ {i} = \mathbf {0} \\ a _ {i} = a _ {i} ^ {d} \end{array} \tag {5.2.2}
\varphi_ {i} = a \phi_ {i}
그러므로 계산된 고유벡터의 크기를 일관적으로 표현하는 방법이 필요하게 되며, midas NFX에서는 해석 종류에 따라 다음의 식을 만족하도록 고유벡터의 표준화 (normalization) 과정을 적용하고 있다.
▶ 모드 해석 : \phi_{i}^{T}M\phi_{i}=1
▶ 좌굴 해석 : \max(\phi_{i})=1 (회전 자유도 제외)
고유치 계산 알고리즘은 조밀행렬에 의한 직접법을 사용하더라도 근사해에 불과하기 때문에 그 정확도를 보장할 수 없다. 그러므로 midas NFX에서는 계산된 고유치와 고유벡터의 정확도를 확인할 수 있도록 다음과 같은 값들을 고유치 계산 결과로 채택하였다.
표 5.2.2 고유치와 고유벡터 이외의 계산 결과
| 결과 항목 | 계산 방법 |
| Generalized mass | $b_{i} = \phi_{i}^{T} \mathbf{B} \phi_{i}$ |
| Generalized stiffness | $k_{i} = \phi_{i}^{T} \mathbf{K} \phi_{i}$ |
| Orthogonality loss | $\delta_{i} = \max(\frac{\phi_{i-1}^{T} \mathbf{K} \phi_{i}}{k_{i}}, \frac{\phi_{i-1}^{T} \mathbf{B} \phi_{i}}{b_{i}})$ |
| Error measure | $e_{i} = \frac{\|\mathbf{K} \phi_{i} - \lambda_{i} \mathbf{B} \phi_{i}\|}{\|\mathbf{K} \phi_{i}\|}$ |
5.2.1 모드상관계수
모드상관계수(modal assurance criterion)은 고유치 해석에서 얻은 고유벡터와 실험모드해석에서 구한 고유벡터를 비교하여 유한요소 모델이 실재 구조물과 얼마나 일치하는지 평가하며 모드직교성(modal cross orthogonality) 또는 모드상관계수(modal assurance criterion)를 그 지표로서 사용한다.
- 모달축소법
실험모드해석에서 사용된 제한된 수의 자유도와 유한요소 모델의 자유도의 크기가 같지 않으므로 유한요소 모델과 등가의 축소모델을 만들어서 실험모델과 비교한다. 이를 위하여 실험모드해석에서 사용된 측정점의 좌표를 입력받아 유한요소 모델에서 이와 가장 가까운 절점들을 선택하여 모달축소법(modal reduction method)을 사용한다. 모달축소법의 변환행렬은 (5.2.3)과 같다.
\mathbf {T} = \left[ \begin{array}{c} \boldsymbol {\Phi} _ {d} \left(\boldsymbol {\Phi} _ {a} ^ {T} \boldsymbol {\Phi} _ {a}\right) ^ {- 1} \boldsymbol {\Phi} _ {a} ^ {T} \\ \mathbf {I} _ {a a} \end{array} \right], \quad \boldsymbol {\Phi} _ {A} = \left[ \begin{array}{c} \boldsymbol {\Phi} _ {d} \\ \boldsymbol {\Phi} _ {a} \end{array} \right] \tag {5.2.3}
- 모드직교성
해석모드와 실험모드에서 얻은 고유벡터 사이의 독립성 또는 직교성을 나타낸다.
M X O _ {i j} = \phi_ {i} ^ {T} M \phi_ {j} \tag {5.2.4}
- 모드상관계수
해석모드와 실험모드에서 얻은 고유벡터 사이의 일관성 또는 선형성을 나타낸다.
M A C _ {i j} = \frac {\left(\phi_ {i} ^ {T} \phi_ {j}\right) ^ {2}}{\left(\phi_ {i} ^ {T} \phi_ {i}\right) \left(\phi_ {j} ^ {T} \phi_ {j}\right)} \tag {5.2.5}
5.3 유효질량과 모드중첩법
5.3.1 유효질량
모드 해석을 통하여 고유진동수(natural frequency), 고유주기(natural period) 그리고 모드 형상을 계산하고 나면 이들을 이용하여 모드 유효질량 또는 모드 참여계수 등의 유용한 정보를 산출할 수 있다. i 번째 모드의 방향별 참여계수는 \Gamma_{i\alpha} 로 표기하며 다음과 같이 계산한다.
\Gamma_ {i \alpha} = \frac {1}{m _ {i}} \phi_ {i} ^ {T} \mathbf {M T} _ {\alpha}, \alpha = 1, 2, 3, 4, 5, 6 \quad (\text {no summation}) \tag {5.3.1}
m _ {i} = \phi_ {i} ^ {T} \mathbf {M} \phi_ {i} \quad (\text { generalized mass })
α : 자유도 방향 (1~3 : 변위, 4~6 : 회전)
여기서 T_{\alpha} 는 방향별 강체 거동의 크기를 나타내는 행렬이며, 각각의 절점에 대해 다음과 같은 성질을 가지도록 정의한다.
\left[ \begin{array}{c c c c c c} 1 & 0 & 0 & 0 & z - z _ {0} & y _ {0} - y \\ 0 & 1 & 0 & z _ {0} - z & 0 & x - x _ {0} \\ 0 & 0 & 1 & y - y _ {0} & x _ {0} - x & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{array} \right] \left\{ \begin{array}{l} e _ {1} \\ e _ {2} \\ e _ {3} \\ e _ {4} \\ e _ {5} \\ e _ {6} \end{array} \right\}, \quad e _ {\beta} = \delta_ {\alpha \beta} \tag {5.3.2}
x_{0}, y_{0}, z_{0} 는 회전 중심을 의미하는데, midas NFX에서는 회전 중심을 임의의 절점 또는 전체 모델의 질량 중심으로 설정할 수 있다.
모드 유효질량 역시 방향별 값으로 정의되며 모드 참여계수를 이용하여 다음과 같이 간단하게 계산할 수 있다.
m _ {i \alpha} ^ {e f f} = (\Gamma_ {i \alpha}) ^ {2} m _ {i} \tag {5.3.3}
모든 모드에 대한 유효질량을 더하면 구속조건이 부여된 절점을 제외한 모델 전체의 질량과 같아지게 된다.
5.3.2 모드 중첩법
midas NFX에서는 동적응답의 해석에 모드 중첩법(mode superposition)을 적용할 수 있다. 모드 중첩법은 다음 식과 같이 주어지는 선형 동적 평형방정식을직접 푸는 대신 고유치 해석을 통해 구한 고유모드 형상을 이용하여 문제의 크기를 축소시킨 모드 평형방정식을 푸는 방법이다.
\mathbf {M} \ddot {\mathbf {u}} (t) + \mathbf {C} \dot {\mathbf {u}} (t) + \mathbf {K} \mathbf {u} (t) = \mathbf {f} (t) \tag {5.3.4}
고유모드 형상 를 이용하여 공간 좌표계의 변위 를 모드 변위 의 조합으로 나타내면 다음과 같다.
\mathbf {u} (t) = \boldsymbol {\Phi} \boldsymbol {\xi} (t), \boldsymbol {\Phi} = \left[ \begin{array}{l l l l} \phi_ {1} & \phi_ {2} & \dots & \phi_ {N} \end{array} \right] \tag {5.3.5}
이를 이용하여 동적 평형방정식 (5.3.4)를 모드 좌표계에 대해 다음과 같이 나타낼 수 있다.
[ \boldsymbol {\Phi} ^ {T} \mathbf {M} \boldsymbol {\Phi} ] \ddot {\boldsymbol {\xi}} (t) + [ \boldsymbol {\Phi} ^ {T} \mathbf {C} \boldsymbol {\Phi} ] \dot {\boldsymbol {\xi}} (t) + [ \boldsymbol {\Phi} ^ {T} \mathbf {K} \boldsymbol {\Phi} ] \boldsymbol {\xi} (t) = \boldsymbol {\Phi} ^ {T} \mathbf {f} (t) \tag {5.3.6}
일반적으로 모드 중첩법을 적용하는 경우, 고유모드 형상 를 구성하기 위해고차 모드를 제외한 주요 저차 모드 일부만을 사용하기 때문에 (5.3.6)은 식(5.3.4)에 대한 근사식에 해당된다. 따라서 실제 물리적인 변위를 잘 표현할 수있을 정도의 충분한 개수의 고유모드를 포함하여 계산하지 않으면 계산 결과의정확도가 많이 떨어질 수 있음에 주의해야 한다.
모드 평형방정식 (5.3.6)은 모드 감쇠행렬 이 0인 경우 다음과 같이 각각의 모드에 대해 독립적으로 표현된다.
m _ {i} \ddot {\xi} _ {i} (t) + k _ {i} \xi_ {i} (t) = p _ {i} (t) \tag {5.3.7}
mi : i 번째 모드 질량
ki : i 번째 모드 강성
- Pi : i 번째 모드 하중
-
i 번째 모드 변위
이와 같이 모드 중첩법을 이용하면 평형방정식을 계산된 고유모드 개수만큼의미지수를 가지도록 축소시킬 수 있으며, 특히 모드 평형방정식이 모드간에 완전히 분리되는 경우 매우 효율적으로 해석을 수행할 수 있다.
• 감쇠항의 처리
고유모드를 이용해 축소된 모드 평형방정식 (5.3.6)은 모드 감쇠행렬 이대각화되어 연성(coupling)이 제거되면 식 (5.3.7)의 경우와 마찬가지로 각각의모드에 대해 분리하여 표현할 수 있다.
m _ {i} \ddot {\xi} _ {i} (t) + b _ {i} \dot {\xi} _ {i} (t) + k _ {i} \xi_ {i} (t) = p _ {i} (t) \tag {5.3.8}
bi : i 번째 모드 감쇠
또는 다음과 같이 표현하기도 한다.
\ddot {\xi} _ {i} (t) + 2 \zeta_ {i} \omega_ {i} \dot {\xi} _ {i} (t) + \omega_ {i} ^ {2} \xi_ {i} (t) = \frac {1}{m _ {i}} p _ {i} (t) \tag {5.3.9}
\zeta _ { i } = b _ { i } \big / \big ( 2 m _ { i } \omega _ { i } \big ) : 모드 감쇠비
\omega _ { i } ^ { 2 } = k _ { i } / m _ { i } : 모드 주파수
midas NFX에서는 모드별 감쇠값을 주파수에 따라 다르게 입력할 수 있는데, 이경우 모드 감쇠(modal damping)값은 질량비례감쇠(mass-proportional damping),강성비례감쇠(stiffness-proportional damping) 및 구조감쇠(structural damping)등 다른 일반적인 감쇠값들로부터 구성된 모드 감쇠행렬 에 더해진다. 따라서 모드 평형방정식의 모드별 분리가 가능한 경우는 모드감쇠행렬 가대각행렬인 경우이며, 이는 각 비례감쇠계수와 구조감쇠가 모든 요소에서 일정
하고 감쇠요소(bush, damper)가 없는 경우에 해당한다. 그렇지 않은 경우는 대 각화되지 않은 모드 감쇠항으로 인한 각 모드별 평형방정식 간의 연성 (coupling)을 고려하여 계산해야 한다.
- 강제 운동(Enforced motion)
모드 중첩법에서 강제 운동이 주어지는 경우, 이를 직접적으로 모드 평형방정식에 적용할 수 없으므로 midas NFX에서는 다음과 같은 과정을 통해 강제 운동을 적용한다.
먼저 평형방정식 (5.3.4)를 강제 운동이 주어진 자유도와 그렇지 않은 자유도로 분리한다.
\left[ \begin{array}{l l} \mathbf {M} _ {1 1} & \mathbf {M} _ {1 2} \\ \mathbf {M} _ {2 1} & \mathbf {M} _ {2 2} \end{array} \right] \left\{ \begin{array}{l} \ddot {\mathbf {u}} _ {1} \\ \ddot {\mathbf {u}} _ {2} \end{array} \right\} + \left[ \begin{array}{l l} \mathbf {C} _ {1 1} & \mathbf {C} _ {1 2} \\ \mathbf {C} _ {2 1} & \mathbf {C} _ {2 2} \end{array} \right] \left\{ \begin{array}{l} \dot {\mathbf {u}} _ {1} \\ \dot {\mathbf {u}} _ {2} \end{array} \right\} + \left[ \begin{array}{l l} \mathbf {K} _ {1 1} & \mathbf {K} _ {1 2} \\ \mathbf {K} _ {2 1} & \mathbf {K} _ {2 2} \end{array} \right] \left\{ \begin{array}{l} \mathbf {u} _ {1} \\ \mathbf {u} _ {2} \end{array} \right\} = \left\{ \begin{array}{l} \mathbf {f} _ {1} \\ \mathbf {f} _ {2} \end{array} \right\} \tag {5.3.10}
u_{1} : 구속되지 않은 자유도의 변위
u_{2} : 강제 운동으로 구속된 자유도의 변위
f_{1} : 구속되지 않은 자유도에 작용하는 하중
f_{2} : 강제 운동으로 구속된 자유도에 작용하는 구속력
이 식에서 강제 운동으로 구속되지 않은 변위 u_{1} 을 다음과 같이 준정적(quasi-static) 변위 u_{1}^{gs} 와 동적 상대변위 y 로 분리한 다음
\mathbf {u} _ {1} = \mathbf {u} _ {1} ^ {q s} + \mathbf {y} \tag {5.3.11}
\mathbf {u} _ {1} ^ {q s} = - \mathbf {K} _ {1 1} ^ {- 1} \mathbf {K} _ {1 2} \mathbf {u} _ {2}
동적 상대변위 y 에 대해서 정리하면 다음과 같이 표현된다.
\mathbf {M} _ {1 1} \ddot {\mathbf {y}} + \mathbf {C} _ {1 1} \dot {\mathbf {y}} + \mathbf {K} _ {1 1} \mathbf {y} = \mathbf {f} _ {1} + \left(\mathbf {M} _ {1 1} \mathbf {K} _ {1 1} ^ {- 1} \mathbf {K} _ {1 2} - \mathbf {M} _ {1 2}\right) \ddot {\mathbf {u}} _ {2} \tag {5.3.12}
이 식에서 우변의 감쇠 관련 항은 무시하였다. 모드 중첩법을 적용하여 \mathbf{y}(t)=\mathbf{\Phi}_{11}\mathbf{x}(t) 인 모드 상대변위 x로 방정식을 표현하면 다음과 같다.
[ \boldsymbol {\Phi} _ {1 1} ^ {T} \mathbf {M} _ {1 1} \boldsymbol {\Phi} _ {1 1} ] \ddot {\mathbf {x}} + [ \boldsymbol {\Phi} _ {1 1} ^ {T} \mathbf {C} _ {1 1} \boldsymbol {\Phi} _ {1 1} ] \dot {\mathbf {x}} + [ \boldsymbol {\Phi} _ {1 1} ^ {T} \mathbf {K} _ {1 1} \boldsymbol {\Phi} _ {1 1} ] \mathbf {x} = \boldsymbol {\Phi} _ {1 1} ^ {T} \left[ \mathbf {f} _ {1} + \left(\mathbf {M} _ {1 1} \mathbf {K} _ {1 1} ^ {- 1} \mathbf {K} _ {1 2} - \mathbf {M} _ {1 2}\right) \ddot {\mathbf {u}} _ {2} \right]
\mathbf {u} _ {1} = \mathbf {u} _ {1} ^ {q s} + \mathbf {y} = - \mathbf {K} _ {1 1} ^ {- 1} \mathbf {K} _ {1 2} \mathbf {u} _ {2} + \boldsymbol {\Phi} _ {1 1} \mathbf {x} \tag {5.3.13}
구조물에 강체운동 모드(rigid-body mode)가 존재함으로 인하여 이 특이성을 가지는 경우에는 강성행렬 \mathbf { K } _ { 1 1 } 을 질량행렬 \mathbf { M } _ { 1 1 } 을 이용하여 적절히 이동(shift)시켜 줌으로써 특이성을 제거할 수 있다.
• 잔차 벡터 (Residual vector)
모드 중첩법을 사용하는 경우 앞서 언급한 바와 같이 고유모드 형상 에 포함되지 않은 고차 모드로 인해 오차가 발생하게 되는데 midas NFX에서는 이러한오차를 줄이기 위해 다음과 같이 질량행렬 M 및 강성행렬 K에 대해 기존 고유모드와 수직이 되게 구성되는 잔차 벡터 R를 사용한다.
\mathbf {R} = \mathbf {K} ^ {- 1} (\mathbf {I} - \mathbf {M} \boldsymbol {\Phi} \boldsymbol {\Phi} ^ {T}) \mathbf {F} \tag {5.3.14}
여기서 F는 일반적으로 하중벡터로 구성되며, 감쇠요소가 있는 경우 감쇠력을포함한다.
midas NFX에서는 Dickens4 등이 제안한 방법을 이용하여 잔차 벡터 R로부터 서로 수직이 되는 부가 모드 형상(augmented mode shape)들을 구한 다음 이를기존의 고유모드 형상 에 추가하여 모드 중첩법을 적용한다.
5.4 동적응답 해법
5.4.1 시간 적분법
midas NFX에서는 (5.3.4)와 같이 주어지는 선형 운동방정식에 대한 과도응답을얻기 위해 직접 시간적분법(direct time integration)과 모드 중첩법(modesuperposition)을 사용할 수 있다. 선형문제에 대한 직접 시간적분법은 내연적(implicit) 방법을 사용한다.
• 내연적 직접 시간적분법
midas NFX에서는 내연적 직접 시간적분법으로 Hilber, Hughes, Taylor가 제안한방법(HHT- ) 5을 사용한다. HHT- 는 Newmark 방법6의 일반화된 형태이며, 조절가능한 수치적 감쇠효과를 갖는다. 이를 통해 고주파 노이즈를 제어할수 있으며, Newmark 방법과 동일하게 시간스텝에 대하여 2차 정확도를 갖는다.HHT- 방법은 다음과 같은 수정된 형태의 동적 평형방정식을 사용한다.
\mathbf {M} \mathbf {a} ^ {n + 1} + (1 + \alpha_ {H}) \left[ \mathbf {C} \mathbf {v} ^ {n + 1} + \mathbf {f} ^ {\text { int }, n + 1} - \mathbf {f} ^ {\text { ext }, n + 1} \right] - \alpha_ {H} \left[ \mathbf {C} \mathbf {v} ^ {n} + \mathbf {f} ^ {\text { int }, n} - \mathbf {f} ^ {\text { ext }, n} \right] = \mathbf {0} \tag {5.4.1}
여기서 \mathbf { a } ^ { n + 1 } 과 n1v 는 각각 n1번째 시간스텝에서의 가속도와 속도 벡터를 의미하며, \alpha _ { H } [ 1 3 0] 는 수치적 감쇠효과를 결정짓는 계수이다. 재료의 열팽창과같은 비역학적(non-mechanical) 변형률에 의한 효과, 그리고 초기응력을 고려했을 때, 선형해석의 내력은 강성행렬과 자유도의 곱을 포함한 다음의 식으로 표현된다.
\mathbf {f} ^ {\text { int }, n + 1} = \mathbf {K} \mathbf {u} ^ {n + 1} - \mathbf {f} ^ {\text { nonmech }, n + 1} + \mathbf {f} ^ {\text { int }, 0} \tag {5.4.2}