Cyclic simulation test with PERFORM3D/ 변위 기반 vs 힘(응력) 기반에 대한 기초 개념

2022. 5. 5. 10:56건축,건설 관련

반응형

----21년도 7월의 글에 추가된 내용이 많아 22년 5월 5일 게시물로 갱신합니다.----

 

 최근에 진행 중인 프로젝트에서 신규 제진 장치를 만들고 이를 실무에 적용할 수 있게 설계 변수를 제안하고 검토하는 과정을 밟고 있다.

 이를 위해서 변위기반 설계법에 기반한 Perform 3d 프로그램을 이용하여 작업 중인데 나는 해당 프로그램에 대한 의구심이 자꾸 든다. 해당 프로그램의 해석 신뢰도가 높은편인것을 제외하면 UI가 구식 프로그램인 느낌이 들고 타사 프로그램과의 연동성이나 output 데이터가 숫자 raw data로 제공 되는 등 여러모로 불편하다. 내 입장에서는 차라리 Opensees를 다루는게 더 편하다는 느낌도 있는데(최소한 입력 속도에서 perform3D 의 불편한 UI를 사용하는 것보단 opensees에서 데이터를 입력하는게 훨씬 빠르다.) perform3d를 실무에서 다루기 위해서는 매크로 프로그램이 필수인 것으로 인식되는 이유도 그런 이유이다. 해당 프로그램이 변위기반 해석을 염두해두고 개발되었기에 힘기반(응력 기반)을 염두한 해석과 비교할 때 성능설계를 전용으로 만들어진 느낌이 있긴하다.

[그런데 해석 진행 방식으로만 비교한다면 변위기반설계가 오차가 크게 나오는 경우가 있고 하중기반설계가 오차가 크게 나오는 경우가 있는데 이에 대해 공부했던게 가물가물하니 추가로 공부를 해둬야겠다], [파란글로 추가됨]

------------------------------------------------------------------------

 위에서 언급한 주기나 반응수정계수 등의 활용과 별개로 기본적으로 일반적인 모델링에서 입력시키는 외부 조건은 하중이기 때문에 고려되는 하중이 명확하다면 설계 프로그램에서 부재요소를 계산하는 방식은 하중기반 설계가 더 정확하게 계산이 된다. 다만 하중 값 자체가 이상화 시킨 값이기 때문에 강성분포에 따라서 변위기반 해석을 고려하는 부재요소가 더 유리한 경우가 생긴다. 이것은 강성분포에 따라 변위 민감형 요소와 가속도 민감형(하중에 민감) 요소가 구분되는 것과 대응하는 내용이다. F=kx 라는 수식을 고려할때 강성값 k가 큰값을 가질수록 작은 변위에도 부재력 차이가 매우 크게 발생하는 경우가 생기고 k값이 작아질수록 작은 하중 변화에도 매우 큰 변위가 발생하는 경우가 생긴다. 따라서 하중기반 해석을 진행하면 연결 요소 등에 상대적으로 지나치게 작은 강성을 넣을 경우 에러가 발생하는 경우가 생기며 변위기반의 해석을 진행하면 반대의 경우가 발생 가능하다. 이러한 이유 때문에 자신이 사용하는 해석프로그램의 해석 방식을 인지하고 있으면 특수한 경우의 연결요소등을 구현하는데 도움이 되는 경우가 많다. 

 이론적으로는 수치해석적인 방법에서 기인하는 해석 오차 이외에는 오차가 생기면 안되므로, 강성 매트릭스를 활용하거나 유연도 매트릭스를 활용하거나 동일한 계산 값이 나와야 한다. 그러나 기본적으로 컴퓨터 혹은 해석 프로그램이 인식하는 유효숫자는 결정되어 있고 이에 따라 계산 결과값의 크기의 범위가 일정 수준 이상으로 분포하게 되면 계산과정에서 누적오차가 발생된다.  또한 계산 과정의 내부 입출력 시간을 줄이고 기억용량과 연산속도를 개선하기 위해 우리가 기본적으로 생각 가능한 full matrix나 half band matrix 이외에도 다양하고 복잡한 수학적 스킬을 활용하여 매트릭스 요소를 배열하는 방식이 개발되어 있는데, 이러한 알고리즘 종류에 따라서 계산 순서가 바뀌기 때문에 오차가 달라지기도 한다. 

 위의 그래프에서 소산에너지값의 차이가 어디에 기인하는지 공부를 추가로 하게되면 추후에 내용을 추가하겠다.

 

-----------------------------------------------------------------------------------------------------

2022-05-05 추가 사항:

 

 위의 사진에서 서술한것처럼 변위기반 설계에서는 초기 강성에서 변위를 구하고 그것으로 하중값을 역으로 계산하고 그 값이 비선형 물성치에 대응할때 강성이 변하는 하중 값이면 해당 부재의 강성을 수정하고 재계산 하는 식으로 프로그램이 돌아간다. 반대로 하중기반 설계에서는 부재내력이 먼저 구해지고 그것에 대해 비선형 부재의 강성이 확인되고 변위가 계산된다.

 일반적으로 탄성해석에서는 앞서 서술한 것처럼 극단적인 강성 차이가 있지 않는 이상 힘 기반 해석과 변위기반 해석의 정확도의 차이가 거의 발생하지 않지만, 비선형해석시에는 경우가 달라진다. 비선형 물성치의 모양을 생각해보면 이해하기 쉽겠지만, 비선형 해석 중 정확도는 변위기반 해석시에는 각 해석 스텝에서 변위의 증가가 얼마나 촘촘한지와 모델 상에서 정확한 곡률과 변형률 계산에 기인하고, 응력 기반 설계라면 각 해석 스텝에서 하중의 증가가 얼마나 촘촘한지와 모델에서 응력을 확인하는 적분점이 몇개가 존재하는가에 기인한다. 

 결과적으로는 위의 사진에서 서술한 내용처럼 질량점을 기준으로 형성하는 일반적인 구조 모델에서 수학적으로 곡률 및 변형률의 정밀성은 국소적인 구간에서 유리하게 계산되는 한계가 분명하게 발생하며, 동일한 모델에서 해석 스텝을 촘촘하게 나누고 해석시간을 늘릴수록 정확도가 오르는것은 응력기반 해석이다. 하지만, 강도 저감이 있는 비선형 해석에서 응력 기반 해석을 하면 수렴성이 떨어지는 경향이 있기에(해석 스텝에서 존재 불가능한 응력이 나오면 이전 스텝으로 돌아가서 다시 잘게 쪼갠 서브 스텝으로 반복하는 것은 변위기반이나 응력기반이나 동일하지만, 강도 저감 구간에서 강성 변화가 매우 급격하기 때문에 하중을 제어해서 수렴시키는 것은 변위를 기준으로 하는것보다 훨씬 어렵게 된다.) 적당한 수준에서 일정 수준 이상의 정확도를 얻을 수 있는 변위 기반 해석이 성능해석에서는 과거부터 많이 사용되는 듯하다. 

 그러나 이러한 해석의 결과값 차이를 인지하고서 기대치 이상의 오차가 발생하지 않도록 비선형 해석시 부재의 내부 분할을 적절하게 할 필요성이 있다. 

-----------------------------------------------------------------------------------------------------------------------------

요새는 다른 해석 프로그램들도 변위기반 설계가 가능토록 기능이 개선되고 있고, 순수하게 컴퓨팅 파워가 꾸준히 올라가고 있는 와중에 perform을 고집할 명확한 이유가 있는지 개인적으로 의문이 있기는하다.

 특히 perform3D 코드가 호환성이 좋지가 않았던 것을 올해에 ETABs에 적용된 코드를 바탕으로 처음부터 다시 프로그래밍하여 ver.8 을 출시하였다는 소개를 받았는데 이를 통해 호환성이 많이 개선되었기는 하지만 아직도 UI의 개선이 많이 필요해 보인다.

 

 

 

 

 

 

 

이번에 cyclic simulation을 구현해 보면서 스텝별로 변위제어를 하여 전체 스텝의 해석값을 구할때 전체 골조에서 control node를 기준으로 한 hysteric graph는 전체 스텝을 한번에 출력할 수 있지만 변위 개형이나 각 요소별 그래프는 전체 스탭에서 한번에 뽑는게 불가능하여(단면 내부 응력을 구하기 위해 section 설정을 개별적으로 하면 되긴 할 것이지만...) 각 스텝별 부재내력 그래프를 결과값 합성 과정을 매크로 코딩하여 필요로 하는 그래프를 따로 구하였다.

 위의 영상은 그러한 과정을 간략하게 담은 영상이다.

반응형