curry 씨 안녕하세요~!
음, SHM의 과정에 대해서 궁금해 하시니 간단하게 요약해드리겠습니다.
일단, OpenFOAM에서 Mesh Generation 과정은 보통 blockMesh / SurfaceFeatureExtracting / Refining 의 세가지로 나뉘게 됩니다.
먼저, 전체 적인 바탕이 되는 blockMesh를 만들어주고, STL 형상 파일의 정보를 SurfaceFeatureExtracting을 통해 가져옵니다. 이후에 이를 바탕으로 Refining 하여 최종 격자를 생성하게 됩니다. 여기서, Refining을 할 때 사용하는 utility가 바로 SHM입니다. (Refining은 형상 파일에 맞게 격자를 가공하는 것을 의미합니다.)
여기서, SHM은 또 세가지 단계로 나뉘어지게 되는데, Castellizing / Snapping / Add layers 입니다.
Castellizing은 BlockMesh의 격자를 STL 내부와 외부로 나누고, 특정 지역의 격자를 더욱 refine하는 역할을 합니다. 이렇게 생성된 격자들은 최초에 blockMesh 처럼 직육면체 형상을 가지게 됩니다. 이 과정에서 우리는 refining level을 정하여 격자의 수를 조절할 수 있고, 전반적인 격자의 형태를 결정하게 됩니다. 또한, 내부 격자 또는 외부 격자를 선택하여 내부 유동 또는 외부 유동을 볼 수 있도록 할 수 있습니다.
Snapping은 앞서 직육면체 모양으로 잘린 격자들을 STL 파일에 맞게 곡면으로 가공해주는 역할을 합니다. resolveAngle, number of Iteration 등을 조절할 수 있습니다.
Add layers는 형상파일 외부와 내부를 구분 짓기 위하여 몇 층의 경계면을 생성해주는 역할을 합니다. 각 geometry 별로 layer의 수를 조절할 수 있고, layer의 최소 두께, expansion ratio 등을 조절할 수 있습니다.
위 세 가지 과정을 통하여 격자가 생성되고 나면, paraview를 통해 완성된 격자를 확인 할 수 있고, checkMesh를 통해 격자의 문제점을 확인할 수 있습니다.
SHM에 대해서 큰 틀에서 간단하게 요약해보았는데, 혹시나 더 궁금하신 점이 있다면 언제든 물어보세요~!