Snap

Snap에서는 surface 근처의 점들을 surface 표면으로 이동해서 형상을 구현한다.

설정 항목은 다음과 같다.

  • Iteration Count : 반복 계산 회수에 대한 설정이다.

    • Smoothing for Surface : surface를 따라 수행되는 스무딩 회수이다. snappyHexMeshDict의 snapControls.nSmoothPatch에 해당한다.
      • smoothing을 통해 격자의 품질이 좋아질 수 있지만 회수를 너무 많이 하면 격자의 왜곡 혹은 형상이 변형이 생길 수도 있다. 아래 그림에 Smoothing for Surface의 값이 0일때와 3일 때의 격자를 보여주고 있다. 0일 때는 castellate 된 모양 그대로이지만 3일 때는 달라진 것을 볼 수 있다. 이 격자도 계산에 문제가 있는 것은 아니지만 경계층 격자를 넣을 때 영향을 미친다.


smoothing for surface의 영향

  • Smoothing for Internal : 분할된 면의 비직교성을 줄이기 위해 내부 스무딩을 수행하는 회수이다. 면을 비평면으로 만든다. snappyHexMeshDict의 snapControls.nSmoothInternal에 해당한다.

  • Mesh Displacement Relaxation : 격자 이동에 대한 iteration 회수이다. snappyHexMeshDict의 snapControls.nSolveIter에 해당한다.

  • Snapping Relaxation : 스내핑 중에 수행되는 relaxation 회수이다. snappyHexMeshDict의 snapControls.nRelaxIter에 해당한다.

  • Feature Snapping : Feature line 스내핑에 관련된 설정이다.

    • Snapping Relaxation : feature에 스내핑 할 때 수행되는 relaxation 회수이다. snappyHexMeshDict의 snapControls.nFeatureSnapIter에 해당한다.

    • Feature Snap Type : explicit와 implicit의 2가지 방법이 있다. explicit는 stl 파일을 읽을 때 자동으로 만들어지는 feature(obj 파일)를 이용하는 것이고 implicit는 feature angle을 이용해서 직접 찾는 방법이다.

    • Multi-Surface Feature Snap : 여러 surface간의 feature를 캡처하기 위한 옵션이다. Multi-region 격자를 만들 대 유용한다. snappyHexMeshDict의 snapControls.multiRegionFeatureSnap에 해당한다. Feature Snap Type이 explicit일 때만 적용된다.

  • Tolerance : surface로 이동시킬 점을 찾을 때 사용되는 값으로 로컬 셀 엣지의 길이에 곱해진다. snappyHexMeshDict의 snapControls.tolerance에 해당한다. 값이 너무 작으면 적절한 점을 찾을 수 없고, 너무 크면 여러 개의 점들이 선택되어 형상을 제대로 구현하지 못하게 된다. 아래 그림의 왼쪽이 너무 작은 tolerance 때문에 형상을 제대로 구현하지 못한 예이다.


Tolerance의 영향

  • Concave Angle : 면이 너무 오목해서 분할될 각도이다. snappyHexMeshDict의 snapControls.concaveAngle에 해당한다.

  • Min. Area Ratio : 이 값보다 면의 면적 비율이 작으면 분할하지 않는다. snappyHexMeshDict의 snapControls.minAreaRatio에 해당한다.