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 }}

RecurDyn은 Simulation과 관련된 다양한 옵션을 제공합니다. [Home]-[Setting]-[Simulation]

Simulation_Parameter-Option


상당수는 기본값을 그대로 사용해도 지장이 없지만, 일부 옵션은 기억해두면 때때로 유용할 수 있습니다.

여기서는 간단한 설명을 제공하며 좀 더 자세한 설명은 매뉴얼을 참고하시기 바랍니다.

노란 색 옵션이 자주 활용되는 파라미터입니다.


SimulationParameter_2


기본적인 솔버 파라미터와 관련해서는 솔버 초보탈출 1탄~3탄을 참고하시기 바랍니다.


1. Check Tolerance

  • 대부분의 경우, 신경쓰지 않으셔도 됩니다.
  • 이 값은 솔버가 내부적으로 redundant constraint 등을 판단할 때, numerical tolerance로 사용됩니다.
  • 이 값을 변경하면, redundant constraint에 대한 처리가 달라질 수 있습니다. (redundant constraint로 처리되었던 DOF가 redundant 가 아니게 처리될 수도 있습니다.)


2. Redundant violation

  • 이를 체크해서 사용하는 것을 권장하며, 수치는 기본값을 써도 대부분 무방합니다.
  • RecurDyn은 자동으로 Redundant constraint를 판별하여, 과구속된 모델도 문제없이 해석이 되게끔 하여, 손쉬운 시뮬레이션이 가능합니다. 하지만 간혹, 사용자의 실수로 과구속이 되어 의도하지 않은 거동을 하게 될 때가 있습니다.
  • 예를 들어, revolute joint가 redundant constraint로 처리되어, action marker와 base marker가 서로 벌어질 수 있습니다.하지만, 사용자가 revolute joint를 정의했다는 것은 두 marker가 서로 떨어지지 않기를 바란 것이라고 이해할 수 있습니다.
  • Redundant violation을 사용하게 되면, Redundant constraint로 처리된 DOF가 해당값 이상으로 떨어지거나 회전하게 되면 에러로 간주하고 솔버가 멈추도록 합니다.
  • 말로는 복잡하므로, 아래의 예제 영상을 보시죠.


  • 의도적으로 4-bar linkage에 모션을 2개 달았습니다. 이로 인해, 좌측 상단의 revolute joint는 redundant constraint로 처리가 되어, 두 바디가 서로 분리됩니다. 하지만 사용자가 이를 의도하진 않았을 수 있겠죠.
  • 이 때, redundant violation 옵션을 체크해두면, redundant constraint로 처리된 구속조건이 병진 혹은 회전 방향으로 지정된 값 이상으로 움직이게 되면, 에러 처리가 되어 솔버가 멈춥니다.
  • 이를 통해 의도하지 않은 실수를 쉽게 발견할 수 있습니다.
  • 만일 해석이 오래 걸리는 모델이었다면 그만큼 시간도 절약할 수 있겠지요!

 

3. Limit of Angle in each Solving Step (deg)

  • 이 값의 기본값은 체크되어 있는 (ON) 상태이며 그대로 사용하시면 됩니다.
  • 다만 ~V8에서 저장된 모델은 OFF인 상태로 로드되므로, 체크해서 사용하시기를 권합니다.
  • 빠르게 회전하는 모델을 해석할 때 유용한 옵션입니다.
  • 너무 빠르게 회전할 경우 계산 결과가 부정확할 수 있는데, 한 스텝동안 지정한 각도(degree)보다 크게 회전하는 경우, 스텝사이를 억제하여 스텝당 회전량을 줄임으로써 보다 정확하게 해석을 수행할 수 있게 해주는 옵션입니다.
  • 따라서 max. step size를 다소 크게 주더라도 회전량에 따라 솔버가 알아서 step size를 조절할 수 있으므로, 속도 향상에 긍정적인 영향을 줍니다.


4. Advanced Angle Measure for 3D Rotation

  • 이 값의 기본값은 체크되어 있는 (ON) 상태이며 그대로 사용하시면 됩니다.
  • 다만 ~V8에서 저장된 모델은 OFF인 상태로 로드 되므로, 체크해서 사용하시기를 권합니다.
  • RecurDyn V9R1부터 Bushing force 및 matrix force의 회전에 대한 알고리즘이 개선되었는데, 이 옵션이 ON일 경우, 개선된 알고리즘을 사용합니다.
  • Bushing force의 경우, 이 옵션을 쓰지 않을 경우 X, Y 축에 대해서는 90보다 작은 회전만 계산이 가능했는데, 이 옵션을 사용하면 X, Y, Z축 모두 얼마든지 회전이 가능합니다. (관련 글)
  • 이를 통해 redundant constraint를 제거하거나 여러 조인트에 분산된 반력을 얻고자 할 때 자주 사용되는 bushing force의 사용성이 향상되었습니다. 


5. Maximum Convergence Count

  • RecurDyn은 수렴이 잘 되는 경우, step size의 크기를 증가시켜 해석 속도를 빠르게 합니다.
  • 이 옵션은 step size를 증가시켜도 된다고 하는 기준으로 사용되는 수렴의 횟수를 의미합니다. 즉, 이 값이 5라면, 5번 수렴하면 step size를 증가시키는 것이죠.
  • 이 값을 1로 하면 1번만 수렴하면 step size를 증가시키기때문에 해석시간이 빨라질 수 있습니다. 대신에 그만큼, 해석이 불안정해질 수 있으므로, 조심스럽게 사용하시기를 권합니다.
  • 예를 들어, DOE 등의 반복계산을 해야할 때, 충분히 안정적인 모델을 만든 후 이 값을 조금씩 줄여보고, 그래도 해석결과에 큰 변화가 없으면서 해석시간이 충분히 감소한다면 작은 count수를 사용하여 해석을 해도 된다는 의미입니다.

Maximum Convergence Count


6. Message Output Factor

  • 시뮬레이션 시, TIME, STEPSIZE, A_DELNRM 등의 정보가 메세지창에 찍힙니다.
  • 이 옵션은 이를 얼마나 자주 찍어줄 지에 대한 것으로 대부분은 기본값을 쓰셔도 됩니다.
  • 다만, 간혹 step size가 너무 작은 경우 너무 많은 값이 찍혀 불편할 수도 있는데, 이럴 때, 1000이상의 값을 사용하여 가독성을 높일 수 있습니다. (해석결과에는 아무런 영향을 주지 않습니다.)


7. Jacobian Evaluation Interval

  • 이 옵션을 사용하게 되면, Jacobian을 계산하는 빈도를 조절할 수 있습니다.
  • 모델 거동의 변화가 크지 않은 모델의 경우, 이 빈도를 조절함으로써 속도 개선의 효과가 있습니다. (1보다 큰 값을 사용)
  • 시뮬레이션 시, 메세지창에 찍히는 NJAC는 Jacobian evaluation의 누적횟수를 의미합니다.
  • 아래의 경우, 100 -> 199는 그 사이 구간에서 99번 계산을 했다는 의미인데, 이 변화량이 Message Output Factor 값과 큰 차이가 없을 경우, 해석 중에 Jacobian이 크게 변화하지 않는다고 볼 수 있습니다. 이 때, Jacobian Evaluation Interval을 키우면 해석 시간이 빨리질 수 있습니다. (다만 정확도에 영향을 줄 수 있으니, 어느 정도 검증된 모델에 대해서 속도를 개선하고 싶을 때 사용하시기 바랍니다.)
  • 예를 들어, DOE 등의 반복계산을 해야 할 때, 충분히 안정적인 모델을 만든 후, 이 값을 조금씩 키워보고 (NJAC도 확인), 그래도 해석결과에 큰 변화가 없으면서 해석시간이 충분히 감소한다면 큰 interval을 사용하여 해석을 해도 된다는 의미입니다.

NJAC_Parameter