주 콘텐츠로 건너뛰기
CIVIL 생성 편집

[CIVIL] General/Elastic Link의 강성이 너무 크다고 경고메시지가 출력되는 이유는 무엇인가요?

질문

아래와 같은 메시지가 출력되는 경우가 있습니다. 어떻게 해야 하나요?

WARNING : ELASTIC LINK STIFFNESS [NO. XXX] HAS TOO HIGH VALUE.

WARNING : GENERAL LINK STIFFNESS [NO. XXX] HAS TOO HIGH VALUE.

 

답변

아래와 같이 사용자가 직접 스프링의 강성을 입력하는 방식에서 너무 큰 값을 입력할 경우에 출력되는 메시지입니다.

컴퓨터 메모리에 데이터의 저장은 유효숫자와 지수부로 구분하여 저장하는 부동소수점방식이 적용됩니다. 이 방식의 장점은 8바이트의 메모리구조에서 처리할 수 있는 수의 범위가 폭 넓어 질 수 있다는 점입니다. 그리고 단점으로는 아주 큰 숫자에서 낮은 자리수의 숫자들은 무시될 수 있다는 점입니다. 만약 2.0/(1.0/1.0E+25)의 계산을 하게 된다면 2.0/0.0으로 계산될 수 있어서 수치연산과정에서 오류가 발생할 가능성이 있습니다. 사용자가 나머지 구조요소들의 강성에 비해 너무 큰 값을 입력하였을 때, 이러한 수치오류가 발생하는 것을 방지하기 위해 강성행렬을 구성하는 과정에서 경고메시지로 출력하고 있습니다. Elastic Link, General Link외에도 Spring Support에 대해서도 유사한 메시지가 출력되고 있습니다.

 

한편, 강성행렬을 구성할 때에는 판별조건에서 통과하였다고 하더라도 연산과정에서 Singular error가 발생하는 원인이 될 수도 있으니 주의가 필요합니다.

 

▣ 해결방안

(1)숫자의 크기를 줄이는 방법과 (2)Fixed/Rigid 옵션을 적용하는 방법이 있습니다. 

보통 강체거동을 모사하기 위해 큰 숫자의 스프링강성을 입력하는데, 임의의 값을 입력하는 것 보다는 Fixed 또는 Rigid 옵션을 적용하는 것을 추천합니다. Fixed/Rigid 옵션은 전체 구조물의 강성행렬 주대각성분들 중에서 제일 큰 값을 찾아 그 값에 1.0E+5을 곱한 값으로 내부적으로 반영되도록 되어 있습니다. 

만약 연산과정에서 Singular error메시지가 출력되었다고 한다면, 사용자가 입력한 스프링 강성이 너무 커서 발생한 것은 아닌지 확인을 해 보시는 것이 필요합니다.

 

0
컨텐츠가 도움이 되셨나요?