NOMO.asia

DAFUL Chained system 내용 정리

Posted 2017. 12. 3. 17:15, Filed under: 엔지니어링

DAFUL Chained system

DAFUL의 Chained system 툴킷은 (구조)동역학 해석 소프트웨어인 DAFUL 에서, 풀리-체인, 풀리-벨트 시스템이나 굴삭기, 궤도 차량등의 하부궤도(서스펜션 부)를 쉽게 모델링 할 수 있도록 도와주는 툴킷이다.


일반적인 체인 시스템의 모델링 과정

별도의 툴킷이 없는 경우 일반적으로 체인 시스템을 모델링 하는 과정은 아래와 같다.

  1. 모든 풀리와 스프로킷을 배치
  2. 체인 위치 계산 - 풀리 주위에 위치하는 체인 위치에 대한 계산
  3. 계산된 결과에 따라 벨트를 어셈블리(배치)
  4. 접촉 모델링 - 체인과 풀리는 서로 접촉하므로 접촉 모델링 필요함
  5. 부싱 모델링 - 체인과 체인 간에는 장력 모델링을 위한 부싱 요소 필요함
  6. 텐셔너 존재 시 동작 조건, 입력되는 스프로킷의 회전 조건 등 추가적인 모델링 진행

실제 궤도나 체인 요소를 고려하지 않는 방법도 있지만 해당 경우는 생략하였다.

위 과정에서 가장 시간이 많이 소요되는 부분은 4번과 5번이다. 만약 체인 위치를 계산하는 알고리즘과 코드를 본인이 가지고 있다고 하더라도, 기본적으로 (벨트)X(풀리 개수) 만큼의 접촉 모델링을 필요로하며, (벨트 개수) 만큼의 부싱 요소 모델링 시간을 필요로하기 때문이다.


기존 모델링 방법과 시간을 비교해보면 아래와 같다.


 

 Chained System 사용

 Chained System 미사용

 벨트 위치 모델링

 0s - 자동 위치 계산 및 생성

 (30s)x(벨트 수) - 풀리 위치 변경 시 재 모델링 필요

 접촉 요소 모델링

 10s

 (20s)x(벨트 수)x(풀리 수)

 부싱 요소 모델링

 10s

 (20s)x(벨트 수)

 기타

 Chained System 모델 구성 : 1h

 벨트 위치 및 자세 계산, 

 모델 수정 등 (𝑎) : 수시간~수일

 총 소요 시간 추정

 약 1h

 하루 이상


사람 손으로 직접 모델링 하는 경우와 비교할 때 대략 20배 정도의 모델링 시간이 절감되며, 모델 수정이 있을 때마다 모든 벨트 위치를 다시 계산하고 갱신해야 하므로 이 차이는 더 커진다.


또한 Chained system으로 모델링 시 벨트 장력 contour, 벨트 진동에 대한 손실 contour 등 유용한 많은 정보를 별도의 후처리 없이 쉽게 볼 수 있다는 장점이 있다.


Chained system 을 이용한 모델링 과정

1. 스프로킷 모델링

1. 각 풀리에 대한 파트 파일 생성

2. 어셈블리를 위한 반지름 조건 입력 - 피치원 반지름(Pitch Circle Diameter/2)
3. 벨트와 접촉하는 위치에 Faceset 만들기
참고로 Faceset을 설정하는 것은 해석 시간을 줄이기 위해 매우 중요한 부분이며, 아래에서 별도로 설명하기로 한다.


만약 PCD 를 모른다면?

1. 직접 계산하여 구한다. 예) PCD=M(모듈)*Z(잇수) 등…
2. 서브시스템을 하나 새로 생성한 뒤 스프로킷과 체인 하나를 불러온 후, Object control 로 잘 어셈블리 한다. 이후 Measure 툴로 PCD를 잰다.
3. 기초원(Dedendum circle) 반지름과 체인의 h1(아래에서 설명) 을 더한 값을 설정한다.

이도 저도 모르겠다면 기초원 크기보다 조금 더 크게 설정한 뒤 chained system을 한 번 적용한다.
이후 Measure 툴로 어셈블리 위치와 차이나는 만큼의 길이를 잰다.
해당 값만큼 빼서 재설정 후 다시 chained system 을 적용한다.
반복하여 PCD 값을 결정한다.


2. 풀리 모델링

1. 각 풀리에 대한 파트 파일 생성

2. 어셈블리를 위한 반지름 조건 입력 - 풀리의 경우 접촉하는 곳 까지의 풀리 반지름 입력하면 됨

3. 벨트와 접촉하는 위치에 Faceset 만들기


3. 세그먼트 모델링

1. 세그먼트에 대한 파트 파일 생성

2. 어셈블리를 위한 치수 조건 입력

3. Assembly 센터가 될 위치에 디자인 프레임 생성

4. Bushing 이 연결될 위치에 디자인 프레임 생성

디자인 프레임 생성 시 체인이 풀리 또는 스프라켓과 접촉하는 곳이 +y 방향이 되도록 모델링 하여야 한다.

회전축은 z 방향이어야 한다. 따라서 x축은 자동으로 결정된다.

이 부분이 안정적인 모델링을 위하여 굉장히 중요하다.


4. 접촉에 대한 고려 - 풀리와 스프라켓과 접촉되는 위치에 각각 Faceset 만들기

체인 시스템 모델링 시 해석 시간을 줄이기 위해 가장 중요한 모델링 요소는 접촉이다.

해석 후 생기는 msg 파일의 가장 아래를 보면 어떤 부분에 해석 시간이 가장 많이 소요되었는지를 확인할 수 있는데, 체인 시스템에서 해석 시간의 대부분을 차지하는 것이 바로 접촉 여부를 판단하기 위한 계산 시간이다.


Chained system 에서 RTR, RTF, FTF, General contact 등 여러 접촉 요소들을 설정할 수 있다. 

파라미터만 설정하면 자동으로 접촉 요소가 생성되는데 체인이 Action body, Path가 Base body 가 된다.

Contact 여부를 판단 시 Action body의 Node가 Base body의 Patch내에 있는지(침투하였는지)를 판단하여 contact 여부를 결정한다.


따라서 Action body에 해당하는 체인의 faceset은 최소한의 수준 이상으로 해줄 필요가 있다. 

예를 들면 접촉면이 직사각형 형상이라고 하여 직육면체를 삼각형 두개로 나눠서 노드를 직육면체 가장 바깥쪽에만 설정하게 되면 한 쪽 모서리가 접촉 안 될 때와 접촉 될 때의 접촉력 편차가 매우 커진다. 따라서 면의 중간부분에도 적절히 노드가 생성될 수 있도록 해주어야한다. 기어 이빨 형상일 때도 마찬가지이다.

Base body는 Patch이므로 Patch만 잘 만들어주면 된다. 다만 스프로킷 이빨같이 복잡한 형상의 경우 넙스를 사용하거나 Faceset을 잘게 나눠 곡면을 잘 표현해줄 필요가 있다.


General contact 의 경우 Base body의 면을 탐색할 때 무조건 넙스를 사용한다고 하는데, 테스트를 해보니 넙스를 쓴다고 faceset 이 아무런 영향을 주지 않는 것은 아니었다(오랜만에 정리하다보니 가물가물... 확실히 체크해보지는 않았다...ㅜㅜ).

다시 한번 강조하자면 체인 시스템에서 해석 시간의 대부분을 차지하는 것이 바로 접촉 여부를 판단하기 위한 계산 시간이다. 따라서 Faceset 을 잘게 나누면 나눌수록 해석 시간은 길어지게 된다.


해석 시간 개선을 위해 Faceset을 너무 느슨하게 만든 경우, 접촉이 아예 되지 않고 두 물체가 겹쳐버리거나, 접촉이 안정적으로 되지 않고 진동하는 현상이 발생할 수 있다. 예) 접촉이 한 쪽에서 치우쳐서 발생하여 튀며 진동하는 현상

불안정한 시스템일수록 Newton-Raphson 에 Fail 은 많이 발생하고 해석 시간은 길어지게 된다. 따라서 오히려 Faceset 개수를 늘렸는데 해석 시간이 더 빨라지는 경우도 발생할 수 있다.

따라서 Faceset을 적절히 설정하는 것은 매우 중요하다.


접촉 설정 중 Node cross check 라는 옵션이 있다. 원래 접촉 여부 판단을 위해 Action body의 Node, Base body의 Patch를 서로 비교하는데 이걸 바꿔서 Action body의 Patch, Base body의 Node를 한 번 더 비교하는 기능이다. 당연히 접촉 여부에 대한 판단은 더 안정적으로 되겠지만 해석 시간은 길어지게 되니, 적절히 Faceset을 설정하였다면 이 옵션은 꺼주는 것이 좋다.