• jmkim0110

[Rocky DEM Vol4] Rocky DEM 빠른 해석을 위한 방법

Rocky DEM은 입자 거동 해석을 위한 소프트웨어이다. 지난 Vol1을 통해서 Rocky DEM은 아래 동영상과 같이 Solid, Shell, Fiber 입자를 사용하여 정확한 해석이 가능함을 알아보았다.



입자를 다양하게 사용할 수 있어 더 정확한 해석이 가능하다는 큰 장점이 있지만 반대로 다양한 입자를 해석하기 위해서는 많은 시간이 필요하다. Rocky DEM 뿐만 아니라 모든 DEM 소프트웨어는 모든 입자 하나하나 모두를 계산한다. 이때 구형일 경우 입자와 입자 사이의 Point만 계산을 하게 되지만 비구형 입자의 경우 Point, Edge, Face를 계산하기 때문에 해석 시간이 구형일 때보다 기하급수적으로 늘어나게 된다.


그래서 이번 Vol4에서는 Rocky DEM의 계산시간 단축 방법에 대해 이야기해보고자 한다.


1. CPU보다는 GPU, GPU보다는 Multi-GPU!

Rocky DEM의 계산을 위한 장비는 CPU와 GPU 중에 선택할 수 있다. 이 중 Rocky DEM에서는 GPU로 해석하는것이 효율적이고 CPU에 비해 계산 시간이 매우 빠르다. 이유는 CPU의 경우 높은 클럭으로 작동하지만 코어 갯수가 적다. GPU의 경우는 낮은 클럭으로 작동하지만 코어 개수가 매우 많다. CPU의 경우 한 CPU에 많아야 20개정도의 코어를 가지지만 GPU의 경우 1500개 이상의 코어를 가지고 있다. 아래 동영상은 알약을 코팅하는 시뮬레이션인데 그림1과 같이 결과를 보면 CPU보다 GPU를 사용하였을 경우 해석 시간이 매우 크게 차이나는 것을 확인할 수 있다.



그림1, CPU vs GPU

2. Coarse-Grain Model 사용

CGM(Coarse-Grain Model)을 사용하면 전체 입자 개수를 줄여 해석 시간을 줄일 수 있다. 아래 그림2와 같이 CGM을 사용하면 원래 입자 크기에서 사용자가 지정하는만큼 입자의 크기가 커지게 되고 입자의 수도 줄게 된다. 입자의 수가 줄어 그만큼 해석 시간도 줄어 들게 된다. 또한 그림 3과 같이 CGM을 적용하여 해석 하였을 때 결과도 차이가 없다.

그림2. Coarse-Grain Model

그림3. CGM 적용 해석 결과


3. Young`s Modulus 값 조정

Rocky DEM에서 입자의 탄성 계수값은 기본적으로 1*10^8 설정되어 있다. 이 탄성 계수값을 1*10^6 ~ 1*10^7 으로 낮춰 사용하게 되면 Timestep이 3~10배까지 늘어나서 해석 시간을 크게 줄일 수 있다. 뿐만 아니라 해석 결과도 크게 달라지지 않는다. 하지만 해석 시간을 더 줄이겠다고 탄성 계수 값을 더 줄이게 되면 말도 안되는 결과가 나올 수 있으니 이는 꼭 결과를 확인해보고 설정해야 한다.


4. Numerical Softening Factor 사용

Rocky DEM에서는 Numerical Softening Factor 기능을 지원한다. 이 기능을 사용하면 입자의 Stiffness 값을 변경하지 않고 Timestep을 바로 변경할 수 있다. 하지만 이 기능도 탄성계수 조 정 방법과 마찬가지로 크게 변경하면 결과도 크게 달라지므로 주의하여 사용하여야 한다.


5. Geometry triangles size 크기 증가

각 Geometry에서는 Triangles size를 정할 수 있다. Triangle size의 경우 입자가 Geometry에 미치는 영향을 확인하기 위해 필요로 한다. (예를 들어 입자가 Geometry에 미치는 Force, stress등등) 이때 Triangles size가 너무 크면 영향들을 제대로 확인할 수 없다. 반대로 Triangle size가 너무 작으면 자세하게 원하는 값들을 확인 할 수 있으나 계산 시간이 오래 걸리게 된다. 따라서 Triangle size 조정함으로써 해석 시간이 너무 길어지지 않도록 해야한다.


- 맺음말 -

이번 호에서는 Rocky DEM의 해석 시간을 단축하는 방법에 대해 몇가지를 이야기하였다. 해석 시간을 단축하는 것은 매우 중요한 일이나 해석 시간을 단축하기 위해 해석 결과가 정확하지 않다면 시간을 단축하나마나한 일이다. 위와 같은 기능들을 사용하기 전에 꼭 테스트를 거쳐 해석 결과에 영향을 미치지 않는지를 확인하고 진행하길 바란다.



조회수 11회댓글 0개

최근 게시물

전체 보기