질문
고유치 해석시 Could not build an Arnoldi factorization! 이라는 메시지가 출력되고 해석이 중단됩니다. Sturm sequence check를 On으로 하면 메시지가 출력되지 않는 경우도 있습니다. 어떤 상황에서 이런 메시지가 출력되며, 어떻게 해결해야 하나요?
답변
고유치해석시 Lanczos법으로 해석할 때, Lanczos vector를 늘려가면서 고유치를 수렴시키는 알고리즘과정에서 수치오류가 발생했다는 의미이며, 대부분 아래의 경우에 해당합니다.
-
구조물이 가지고 있는 모드의 개수가 m개이고, 사용자가 구하려고 하는 모드의 개수가 n개일 때, m<n인 경우에는 m개 이상의 모드를 구할 수 없습니다.
-
강성행렬과 질량행렬의 rank값이 행렬의 size보다 작은 경우에는 미지수의 개수가 연립방정식보다 더 많아서 행렬의 size만큼의 해를 구할 수 없습니다.
고유치해석을 Lanczos법으로 진행할 때 sturm sequence check on/off에 따라 서로 다른 방법으로 lanczos 알고리즘을 사용하게 되는데, 큰 차이가 있는 것은 아니고, lanczos vector 를 계속 늘려가면서 고유치를 수렴시키는 방식은 공통적입니다. lanczos vector 를 늘려가는 과정 중에 문제가 발생한 것인데, 질량이나 강성 값이 특이할 때 주로 발생합니다. 즉 Lanczos vector 를 상당히 많이 계산했는데도 고유치가 원하는 개수만큼 수렴하지 않았다는 뜻인데, sturm sequence check on/off에 따라 어느 쪽에서든 발생할 수 있는 것입니다.
아래와 같은 부분에 대해 확인을 해 보시기 바랍니다.
-
절점질량의 개수가 구하는 모드 개수와 비교해 보고, 구하려는 모드 개수를 줄여 보기
-
Menu à Structure à Structure Type à Mass Parameter Control à Convert Self-weight into Masses 체크 여부 확인
Lumped Mass를 적용하는 경우에는 구조물이 가지는 모드의 개수는 구조물의 전체 질량행렬 주대각항 중에서 0이 아닌 값이 있는 자유도 개수와 같습니다. Z방향으로도 질량을 추가하게 되면 구조물이 가지는 모드의 개수가 증가할 수 있습니다.
-
Menu à Structure à Structure Type à Mass Parameter Control à Consistent Mass 변경해 보기
Consistent Mass를 사용하게 되면, 질량이 분포된 것으로 가정하여 적분을 통해 X, Y, Z, RX, RY, RZ의 주대각항 외에도 off-diagonal에도 값이 있는 질량행렬이 구성됩니다.
-
Menu à Query à Mass Summary Table à X, Y, Z방향 절점질량 정보 확인(Rigid Link로 연결된 경우 Slave Node에서의 절점질량은 Master Node로 옮겨지므로 Slave Node의 절점질량 개수는 제외)
[참고] 행렬의 Rank: 행렬의 열 또는 행 중에서 선형 독립인 벡터의 최대 개수
à
à
à
à
è Rand=2