NOMO.asia

DAFUL의 Numerical Damping 효과 줄이기

Posted 2020. 1. 7. 10:49, Filed under: 엔지니어링

얼마 전 지인으로부터 DAFUL 로 구성한 동역학 모델의 해석 결과와 MATLAB 수식으로 작성한 모델의 결과에 차이가 있어 이유를 분석해달라는 부탁을 받았다. 결과적으로 말하자면 DAFUL 의 Numerical Damping 때문에 차이가 발생한 것이었다.

본 문서에서는 Numerical Damping 이 무엇인지, 그리고 이 효과를 어떻게 줄이는지에 대해 설명하고자 한다.

Numerical Damping 이란 무엇인가?

Numerical Damping 이란 우리나라 말로 수치 감쇠라고 불린다. 이것은 시간 영역에서의 동역학 해석, 즉 시간 적분 시 고주파 성분의 영향을 줄이고 시스템의 안정성을 높여 해석 속도 향상을 도모하기 위해 사용된다. 더 쉬운 표현으로는 고주파 응답에만 감쇠를 적용하는 high-frequency damping 이라고 설명할 수 있을 듯하다. 아래에서는 이러한 감쇠가 동역학 해석에 도입된 배경에 대해 설명하고, 이 감쇠 효과를 어떻게 줄일 수 있는지와 어떤 경우에 고려해야 하는지에 대해 설명하고자 한다.


[빠른 해석 속도를 좌우하는 요인: Step size]

해석 속도를 좌우하는 요인은 다양하지만, 큰 요인 중 하나는 step size 이다. 예를 들어, 0초부터 1초까지 문제를 풀 때 step size 가 0.01 이라면, 0.01초 간격으로 0초일 때, 0.01초일 때, 0.02초일때..., 0.99초일 때, 1초일 때 각 순간에서 운동방정식을 풀어 응답을 계산하게 된다. 따라서 step size 가 작으면 작을 수록 계산량이 많아지게 된다. time step size 가 0.01 일 때와 0.0001 일 때의 총 해석 시간은 단순 계산으로 100배나 차이난다. 따라서 스텝 사이즈를 키우는 것은 빠른 해석을 위해 중요하다.

스텝 사이즈가 고정된 fixed step 방식으로 문제를 푸는 경우도 있지만, 대부분의 툴은 시스템의 안정성을 평가해 time step size 를 자동으로 조절하도록 하는 variable step(or adaptive step) 방식의 솔버를 채용하고 있다. 시스템이 안정하면 큰 스텝사이즈로 풀어도 잘 풀리고, 시스템이 불안정하면 작은 스텝 사이즈로 풀어야지만 발산하지 않고 잘 풀리기 때문에, 시스템의 안정성에 따라 자동으로 스텝사이즈를 조절하여 "에러가 지정된 수준 미만인 가장 큰 스텝 사이즈"를 찾아 문제를 풀어 해석 시간 단축을 도모하는 것이다.

시스템이 안정하다는 것은 시스템에 작용하는 하중이 일정하고, 접촉이 불연속적이지 않으며, 움직임의 방향이 짧은 시간에 바뀌지 않고, 선형에 가까운 것을 의미한다. 시스템이 불안정하다는 것은 시스템에 갑작스럽게 큰 하중이 작용하거나, 접촉이 됐다 안 됐다 하거나, 움직임의 방향이 짧은 시간에 바뀌고 마구 진동하거나, 비선형에 가까운 것을 의미한다. 따라서 고주파 성분이 많을 수록 시스템의 안정성은 떨어지고, 수치 적분 시 큰 스텝사이즈에서 해가 잘 수렴하지 않아 스텝 사이즈를 더욱 낮추도록 하여 해석 속도는 느려지게 된다. 따라서 필요없는 고주파 응답을 제거하는 것은 빠른 해석을 위해 고려되어야 할 요소이다.


[동역학 해석자의 주관심 영역: 저주파 응답]

동역학 해석 시 해석자의 관심 영역은 저주파 대역의 응답에 주로 포커스가 맞춰져있다. 실제 기계시스템의 응답은 여러 주파수가 중첩된 형태로 나타나지만, 주파수 분석을 해보면 "주된" 거동은 100Hz 를 넘는 경우가 많지 않다. (물론 시스템에 따라 다르고, 동역학 기반 진동해석을 하는 경우라면 수백, 수천Hz 대의 주파수 응답에 포커스를 맞출 수도 있겠지만 이런 경우는 제외한다.) 따라서 이 경우 고주파 응답에 관심을 가질 필요가 없을 것이다.

또는 다자유도 시스템의 각 고유진동수가 서로 매우 큰 차이를 보이게 되는 경우(예:w1=1, w2=3000 처럼 수천배 이상 차이가 나는 경우) 실제 응답은 저주파 응답 위주로, 즉 저차 모드 위주로 나타나게 된다. 따라서 이 경우 특별히 아주 미소한 수준의 고주파 진동에 대한 관심이 있는 것이 아니라면 고주파 응답에 아예 관심을 가지지 않아도 될 것이다. 하지만 적분 방법에 따라 실제 이론적인 해와 달리 적분 결과에 매우 큰 수준의 고주파 노이즈가 발생하게 되는 경우가 있다. 동역학 해석에서는 disp.에 노이즈가 없더라도 velo. 와 acc. 가 +- 변화를 반복하는 형태의 노이즈로 나타나게 된다. 이것은 모델링 변경, post-processing 에서 결과를 후처리 하는 방법 등 다양한 방법으로 해결할 수 있으나, 본 문서에서 설명하는 수치감쇠 또한 이러한 문제를 해결할 수 있는 것 중 하나이다.


[결론: 고주파 응답은 필요 없다. 따라서 인위적으로 감쇠를 넣어 저주파 대역만 관찰하자.]

해석자의 관심이 저주파수 대역에 국한되어 있다면, 관찰하지도 않을 고주파 성분까지 자세하게 해석하느라 계산 능력과 시간을 낭비할 필요는 없을 것이다. 따라서 이러한 목적에서 저주파 응답은 살리고 고주파 성분 만을 제거하기 위한 많은 시간 적분 알고리즘이 개발되었다. 이러한 알고리즘으로는 Newmark-β method(뉴마크 베타법), WBZ-θ method(세타법), generalized-α method(일반화 알파법) 등이 있다. 그리고 이러한 알고리즘에서 고주파 성분 제거의 수준을 결정하는 파라미터가 Numerical Damping 이다.

Numerical Damping 의 장단점

장점

  1. 큰 step size 로 계산하여도 안정적 풀이가 가능하여, 결과적으로 해석 속도가 빨라진다.
  2. 고주파 성분이 사라지므로 결과 그래프가 깔끔해져 별도의 후처리를 하지 않아도 된다.

단점

  1. 고주파 성분에만 주로 작용하는 감쇠지만 그렇다고 저주파 성분에 감쇠가 작용하지 않는 것은 아니다. 따라서 Damping 이 없는 낮은 고유진동수를 가지는 시스템에도 Damping 이 작용한다. 예를 들어, 간단한 진자 운동의 경우를 시뮬레이션 하더라도 시간이 지날 수록 점차 응답의 크기가 감소하는 것을 볼 수 있다.
  2. 기계진동 수업을 들었다면 떠올릴 수 있겠지만, Damping 은 진폭의 크기를 점차 줄이는 것 외에도 위상을 변화시키는 역할도 한다. 따라서 저주파에서도 (무시 가능한 수준의) 위상 차이나 주기 변화가 발생하게 된다.
  3. 고주파 응답이 사라진다. 만약 고주파 응답에 관심을 갖고 있다면 이것은 큰 단점이 될 것이다.

처음 동역학 해석에 대한 지식이 없고, Numerical Damping 에 대해 접했을 때는 이것이 해석자가 의도하지 않은 감쇠를 인위적으로 부여한 것이므로 되게 이상한 것이라 생각했었다. 하지만 많은 동역학 해석을 수행하며 특별한 경우를 제외하고는 Numerical Damping 이 크게 신경쓰지 않아도 되는 것임을 알게되었다. 이유는 아래와 같다.

  1. 실제 시스템에는 모델링에 반영하기 어려운 많은 감쇠 요소들이 이미 존재한다.
  2. 동역학 해석 시 절대적인 변위보다 상대적인 변위가 더욱 중요한 경우가 많다. 동역학 해석 시 변위, 속도, 가속도 등의 크기를 아주 정확하게 맞추는 것은 쉽지 않다. 왜냐하면 시스템에 포함된 많은 감쇠 요소들의 댐핑 계수를 알아내는 것은 쉽지 않기 때문에, 결국 댐핑 계수 값은 값 튜닝과 많은 경험에 의한 누적된 데이터에 의존하게 된다. 따라서 내가 기업체 과제등을 통해 수행한 대부분의 해석에서 응답의 절대적인 크기는 그리 중요한 것이 아니었고, 기준 모델을 변화시켜가며 상대적인 변위 크기를 평가하는 것이 더욱 중요했다. 따라서 애초에 댐핑이 존재하는 시스템의 변위, 속도, 가속도 등의 절대적인 크기를 정확하게 맞추는 것은 어렵기 때문에, 모든 모델에 공통적으로 적용되는 Numerical Damping 의 중요성도 줄어들게 된다.
  3. 실제 시스템에 입력으로 작용하는 가진이나 하중이 1회로 끝나지 않고 지속적으로 작용하게 되는 경우 Numerical Damping 의 영향은 줄어들게된다.
  4. 뒤에서 설명하겠지만 step size 를 낮추면 Numerical Damping 의 효과는 줄어들게된다. 복잡한 모델이나 시스템이 불안정한 거등을 하는 상황을 시뮬레이션 하는 경우, 자연스럽게 step size 가 낮아지게 되어 Numerical Damping 의 효과가 감소한다.

Numerical Damping 의 영향을 조절해야 하는 경우

Numerical Damping 을 신경써야 하는 경우는 아래와 같은 경우들이다.

  1. 수식을 기반으로 한 모델과 Numerical Damping 이 적용된 해석 (DAFUL 등) 의 결과를 직접 비교하고 싶은 경우
    예를들어 MATLAB 으로 수식을 기반으로 한 저자유도 모델을 구성하고, 내가 구성한 모델이 맞는지 확인하고 싶을 때 DAFUL과 같은 동역학 해석 프로그램을 사용하여 reference 모델을 구성할 수 있다 (또는 반대). 이 때 이론 값에는 Damping 이 없고, DAFUL 에는 Numerical Damping 이 있으므로 결과에 차이가 발생하게 된다.
  2. 공진 시뮬레이션을 하고싶은 경우
    공진주파수가 높냐, 낮냐에 따라 다르지만, Numerical Damping 이 있으면 공진 시뮬레이션이 잘 안 되는 경우가 있다.
  3. 고주파 응답에 관심이 있는 경우
    Numerical Damping 은 고주파 응답을 없애는 역할을 하기 때문에, 당연히 고주파 응답에 관심이 있는 경우에는 Numerical Damping 의 영향을 줄여야만 한다.

Numerical Damping 의 영향을 줄이는 법

Numerical Damping 의 영향을 줄이고 싶은 경우, 크게 두 가지 방법을 선택할 수 있다.

1. Numerical Damping 파라미터를 조절하기

시뮬레이션 설정의 Dynamic 탭에서 값을 수정할 수 있다.

위 그림에서 Numerical Damping 으로 표시된 부분의 기본값은 1이다. 이 값을 하한값(0.2로 기억한다)까지 줄여주고 설정을 저장 후 시뮬레이션 하면 된다.

위 값의 변화는 위 수식에서 alpha, beta 값의 변화로 나타난다.

다만 이 값을 줄이면 시스템의 불안정성이 높아지게 된다. 따라서 Numerical Damping 값을 조절하기 전과 동일한 step size 에서 error 가 커질 수 있수 있고, 이것은 step size 를 낮추도록 하여 해석 시간을 증가시킬 수 있다. 심한 경우 Minimum stepsize 에 도달해 해석이 실패할 수 있다.

2. step size 를 줄이기

step size를 줄이는 것은 Numerical Damping 의 영향을 줄이는 역할을 한다. Solver 에서 Max step size 값이 0.01 로 되어있는 것을 0.001, 0.0001, 0.00001 로 줄여나가며 해석해보면 점차 감쇠가 줄어드는 것을 볼 수 있다. 다만 step size 가 줄어듦에 따라 해석 시간은 증가하게 된다.

아래 그림은 DAFUL 설치 시 포함된 manual 인 verification manual 에서 가져온 것으로, 스텝사이즈에 따라 Displacement 가 어떻게 변하는지를 확인한 것이다.

step size 를 얼마나 줄여야 Numerical Damping 의 효과가 사라지는지는 시스템의 특성과 해석자의 목적에 따라 다르다. step size 를 변경해가며 수차례 파라미터 테스트를 해야하며, 다만 대게 관찰하고 싶은 진동 주기의 1/100 수준으로 step size 를 설정하면 된다.

참고로 report step 의 개수를 늘리면 자연스럽게 max step size 가 따라 조절되므로 같은 효과를 볼 수 있다. 다만 이 경우 결과 파일의 사이즈가 커지게 되므로, solver 설정에서 max step size 를 조절하는 것이 더 효과적인 방법이다.

그 외 읽어볼만한 자료

Newmark, N. M. A method of computation for structural dynamics. Journal of Engineering Mechanics, ASCE, 85 (EM3) 67-94, 1959.

Chung, J., and Hulbert, G. M. (June 1, 1993). "A Time Integration Algorithm for Structural Dynamics With Improved Numerical Dissipation: The Generalized-α Method." ASME. J. Appl. Mech. June 1993; 60(2): 371?375. https://doi.org/10.1115/1.2900803