Technical Support

{{ post.title }} 글 편집 작성자 {{ post.author.name }} 작성일

Version {{ post.target_version }} Product
{{ product.name }}
Tutorial/Manual {{ post.manual_title }} Attached File {{ post.file.upload_filename }}

다물체 동역학 해석에서 접촉 해석은 대단히 중요합니다.

접촉이 포함되지 않은 기계 시스템은 거의 없지요.한편 CAE에서 접촉 알고리즘은 계산량의 대부분을 차지할 정도로 해석 시간과 결과의 정확도에 큰 영향을 끼칩니다. 따라서 접촉의 원리와 접촉 파라미터를 잘 알고 사용하는 것이 중요합니다.

CAE에서 사용되는 접촉 알고리즘은 대부분 Penalty Method 인데, RecurDyn 역시 이 방법을 기반으로 접촉 계산을 합니다. (동일한 Penalty Method라도 세부적인 알고리즘은 전혀 다르기 때문에 소프트웨어 별로 접촉 성능은 대단히 큰 차이를 보입니다.)

이 Penalty Method의 특징은 ‘penetration’을 이용하여 접촉을 계산한다는 점입니다.

많은 RecurDyn 초보자들이 이 부분을 모른 채 접촉을 사용하고 있는데, 이와 관련된 간단한 내용만 이해하면 앞으로 접촉을 정의하고, 파라미터를 설정하는 데 큰 도움이 될 것입니다.


아래와 같이 2개의 바디가 서로 접촉을 한다고 합시다. 

contact formulation of multibody dynamics

실제로는 두 바디가 겹치지 않겠지만, Penalty Method는 두 바디가 겹칠 수 있다고 가정하고 이를 이용하여 접촉력을 계산합니다.

즉, 아래와 같이 두 바디가 겹칠 수 있는 셈이죠. 이 때, 두 바디 간의 겹쳐진 양을 penetration, 혹은 penetration depth라고 합니다. (penetration은 침투, 침투량이라는 의미죠)

penetration which is used in contact formulation of multibody dynamics

지금부터 하는 설명이 중요합니다.

(여기서 설명하는 내용은 이해를 돕기 위한 설명이므로 Penalty Method의 정확한 이론적인 내용에 대해서는 별도의 논문 등을 찾아보시기 바랍니다.)



Penetration


Penalty Method에서는 이렇게 두 바디가 겹쳐졌을 때, 마치 두 바디 사이에 스프링이 달려 있고, 그 스프링이 penetration만큼 압축이 되었다고 생각하고 접촉력을 계산합니다.

즉, Penetration의 양을 δ라고 할 때, 접촉력 f는 f = kδ와 같이 계산됩니다.

(이 때, k는 접촉 파라미터 중 하나인 Stiffness Coefficient입니다.)

Penetration used by Penalty method

물론 정확한 접촉 계산식은 아래와 같지만, 개념적으로는 f = kδ 라고 이해하시면 쉽습니다.

Contact formulation of RecurDyn

(위 식의 각 변수에 대한 설명은 생략합니다.)


따라서 Contact 파라미터에 있는 Stiffness/Damping Coefficient는 스프링의 Stiffness/Damping Coefficient와 개념적으로는 동일하다고 여기면 됩니다.

contact stiffness and spring coefficient



예를 들면...

아래와 같은 경우에서, 외력과 f=kδ를 통해 계산되는 접촉력이 평형을 이룰 때까지 penetration이 증가하게 됩니다. (편의상 단위는 생략하였습니다.)

1번의 경우 , 위의 박스의 무게로 인해, 30이라는 힘이 아래로 가해지지만, δ=0 이므로, 접촉력은 발생하지 않습니다. 따라서 박스는 아래로 내려가겠죠.

2번의 경우 , δ=1이 되어 접촉력이 발생하지만 30 > 10 이므로, 여전히 박스는 아래로 내려갑니다.

3번의 경우에도 30 > 20 이므로, 박스는 아래로 내려가죠.

4번에서 비로소 30 = 30 이 되어 힘의 평형을 이루게 됩니다. (여기서는 설명의 편의를 위해 δ가 비교적 큰 것처럼 설명했지만, 실제로는 대단히 작을 것입니다.)


Procedure to calculate the contact force equilibrium in multibody dynamics


f = kδ이기에, K (stiffness coefficient)를 너무 작게 설정할 경우, δ가 매우 커야만 평형을 이룰 수 있게 됩니다. 하지만 penetration (δ)은 실제로는 존재하지 않아야 하는 값이기에 충분히 작아야 합리적이겠죠. 따라서 K는 충분히 큰 값을 써주는 것이 좋습니다. (RecurDyn의 Geo Surface Contact이나 Solid Contact에서 K의 기본값은 100,000 N/mm입니다.)


실제로 아래는 1Kg짜리 박스가 큰 상자 위에 놓여 있을 때, 접촉력이 10N으로 계산되었고 (중력가속도를 10m/s^2으로 계산) 이 때, penetration = 0.0001 인 것을 확인할 수 있습니다. (K= 100,000 인 경우)

contact result of multibody dynamics using RecurDyn


다만 K가 너무 클 경우, f = kδ 이기에 penetration (δ)이 조금만 변화해도 발생하는 힘의 크기가 급격하게 변화하겠죠. 이렇게 힘이 급격하게 변화하게 되면, 솔버의 해석 안정성에 악영향을 미칠 수 있습니다. 따라서, 원하는 문제의 상황에 맞게 적절한 K를 사용하는 것이 중요합니다. (너무 작으면 penetration이 크게 발생하여 정확도가 떨어지고, 너무 크면 솔버의 해석 안정성에 영향을 미치니까요)


따라서 적절한 범위에서 K를 조절해주는 것이 좋습니다.

(참고로, K를 키우거나 줄일 때는 보통 10배, 100배, 혹은 0.1배, 0.01배씩 조절합니다.)


이 글은  RecurDyn 접촉 요소 (Contact) 초보 탈출 5탄 - 접촉 알고리즘의 기본 원리 - 응용편  으로 이어집니다.


접촉에 대해서 좀 더 자세히 알고 싶은 분은 아래의 팁들을 추가로 참고하시기 바랍니다.