최종 수정: 2026-10-05 읽기 약 50분

1. 개요

Grid Assistant란?

Grid Assistant는 CFD(전산유체역학) 격자를 다루는 그래픽 워크벤치입니다. "Any format in, CGNS out." — 다양한 형식의 격자 파일을 불러와 검사하고, 변환·복제하고, 중립포맷 (CGNS) 형식으로 내보내는 것이 목적입니다.

격자 생성 기능은 없습니다. Grid Assistant는 이미 만들어진 격자를 다루는 도구이며, 새 격자를 생성하는 메셔(mesher)가 아닙니다.

이런 경우에 사용합니다.

  • CGNS로 변환: 격자 생성 도구의 출력(SU2, GMSH, Nastran, Abaqus, AFLR UGRID, 다른 CGNS)을 솔버가 바로 읽을 수 있는 CGNS로 정리해 내보내기 — BC 이름과 CGNS BC 타입, zone 인터페이스까지 CGNS 표준 구조로 저장
  • 격자 검사·수리: 솔버에 넣기 전에 열린 면, 겹친 노드, 퇴화·뒤집힌 셀, 어긋난 인터페이스를 찾아 고치기
  • 경계조건 정리: 여러 개로 흩어진 BC 마커를 이름/패턴/타입 기준으로 하나로 병합
  • 주기 형상 복제: 터보기계 1 passage 격자를 원주 방향으로 N개 복제하여 전체 환형(annulus) 격자 생성, 또는 대칭면 기준으로 half 모델을 웰딩하여 전체 격자로 확장
  • 품질 점검: Aspect Ratio, Skewness, Scaled Jacobian 등 표준 격자 품질 지표를 계산하여 해석 전 격자 상태 확인
  • 형상 확인: 임의 평면으로 단면(slice)을 잘라 내부 형상을 눈으로 확인
  • 좌표 변환: 회전/이동/스케일/미러/임의 4×4 행렬로 격자 좌표계를 정렬

주요 기능

  • 다양한 입력 형식 → CGNS 출력 (CGNS, SU2, GMSH, Nastran, Abaqus, AFLR UGRID를 읽어 CGNS HDF5/ADF로 저장)
  • Transform 도구 (Rotate, Translate, Scale, Mirror, Matrix, Periodic Copy, Turbo Rotation)
  • 경계조건 병합 (이름 패턴/타입 기준 다중 선택)
  • 파일 병합 (열린 파일의 zone을 다른 파일로 복사) 및 Zone Interface 생성·삭제
  • 격자 검사·수리 (Check Repair — 열린 면, 겹친 노드, 퇴화·뒤집힌 셀, 인터페이스 불일치)
  • 요소 차수 상승 (선형 → 2차 요소)
  • 격자 품질 검사 (5종 지표, 히스토그램)
  • 단면(Slice) 도구 (Smooth/Crinkle, 실시간 미리보기)
  • 거리 재기(Ruler) 및 화면 캡처
  • 대용량 격자 지원 (수천만 셀 규모의 CGNS 파일도 처리)

2. 시스템 요구사항 및 설치

시스템 요구사항

  • 운영체제: Windows 10/11 (64비트)
  • 디스플레이: 1280×800 이상 권장
  • 메모리: 격자 규모에 비례 (수백만 셀 규모면 8 GB 이상 권장)

필수 구성 요소

  • Visual C++ Redistributable 2022 (x64) — 설치되어 있지 않으면 실행 시 "VCRUNTIME140.dll을 찾을 수 없습니다" 오류가 발생합니다.

설치 방법

  1. GitHub Releases에서 최신 버전의 설치 파일 GridAssistant_v<버전>_Setup.exe를 내려받습니다.
  2. 내려받은 설치 파일을 실행합니다.
  3. 안내에 따라 설치 경로를 선택합니다 (기본값: C:\Program Files\GridAssistant).
  4. 바탕화면 아이콘 생성 여부를 선택할 수 있습니다.
  5. 설치가 끝나면 GridAssistant.exe가 실행됩니다.

참고: 처음 실행 시 Windows에서 "Windows에서 PC를 보호했습니다" 같은 SmartScreen 경고가 나타날 수 있습니다. 추가 정보 → 실행을 클릭하면 정상적으로 실행됩니다. 새로 배포되는 프로그램에서 흔히 나타나는 안내이며, 사용 빈도가 늘어나면 더 이상 표시되지 않습니다.

기존 버전이 설치되어 있는 상태에서 새 버전을 설치하면 같은 위치에 덮어써 업그레이드됩니다 (설정과 도킹 레이아웃은 유지됩니다).


3. 화면 구성

Grid Assistant의 화면은 크게 리본 메뉴, 3D 뷰포트, 도킹 패널로 구성됩니다.

메인화면

리본 메뉴

  • Home 탭: File / Transform and Copy / Mesh Ops / Tools 그룹 — 실제 작업 도구가 모두 여기 있습니다. Tools 에는 Quality, Slice, Ruler, Capture 가 있습니다.
  • Settings 탭: 패널 표시/숨김, 렌더링 옵션, (텔레메트리 빌드에서만) 개인정보 설정.

3D 뷰포트 및 툴바

화면 중앙의 3D 뷰가 항상 표시되는 고정 패널이며, 그 위에 아이콘 툴바가 있습니다:

  • 뷰 프리셋: Fit view, Isometric, Zoom area, View from +X/-X/+Y/-Y/+Z/-Z (카메라가 그 축 쪽에 서므로 View from +X 에서는 +X 가 화면 밖으로 나옴), 화면 기준 90° 왼쪽/오른쪽 회전, 직교 투영 켜기/끄기 (끄면 원근)
  • 렌더 모드: Wireframe, Surface, Surface with edges
  • 표시: Scale bar, Origin axes, Rotation centre (기본 켜짐: 회전하는 동안 회전 중심에 X/Y/Z 원으로 된 작은 구가 보임. 휠 줌·팬을 하면 중심이 옮겨 가고, F 를 누르면 모델 중심으로 돌아감)

도킹 패널

다음 패널은 자유롭게 이동·분리·닫기가 가능한 도킹 패널입니다:

패널내용
Model Tree불러온 파일 → Zone → Section/BC 계층 구조, 가시성 체크박스
Properties트리에서 선택한 항목의 상세 속성 (이름/타입/개수/범위 등)
Log실행 로그

중앙 3D 뷰 옆에는 Render와 Quality 고정 탭이 있어, GL 컨텍스트를 유지한 채 화면을 전환합니다.

닫힌 패널은 Settings 탭 → Panels 그룹의 체크박스로 다시 열 수 있습니다.

화면 배치 저장

패널 배치(도킹 레이아웃)는 프로그램을 닫을 때 자동으로 저장되며, 다음 실행 시 그대로 복원됩니다. 배치가 꼬였을 때는 다음 파일을 삭제하면 기본 배치로 초기화됩니다 (프로그램 내에는 별도의 "초기화" 버튼이 없습니다):

code
%LOCALAPPDATA%\CLEW\GridAssistant\layout.xml

같은 폴더의 settings.ini에는 마지막 열기/저장 폴더 등의 설정이 저장됩니다.


4. 파일 열기 및 저장

지원 입력 형식

형식확장자
CGNS.cgns
SU2.su2
GMSH.msh
Nastran.bdf, .nas, .fem
Abaqus.inp
AFLR UGRID.ugrid (.b8.ugrid, .lb8.ugrid 등)

.msh 확장자 주의: Grid Assistant는 .msh를 GMSH 파일로 읽습니다. Fluent .msh는 지원하지 않습니다. 같은 확장자라도 GMSH 형식으로 내보낸 파일인지 확인하세요.

지원 출력 형식 (Save As)

형식확장자비고
CGNS (HDF5).cgns저장 대화상자에서 "CGNS HDF5" 선택
CGNS (ADF).cgns저장 대화상자에서 "CGNS ADF" 선택

참고: SU2, GMSH, Nastran, Abaqus, AFLR UGRID는 입력 형식으로만 지원합니다. zone interface를 저장하려면 CGNS를 사용하세요.

파일 열기

  • Home ▸ File ▸ Open (Ctrl+O) 클릭 후 파일 선택 — 여러 파일을 동시에 선택하면 각각 트리에 별도 항목으로 추가됩니다.
  • 탐색기에서 Model Tree 패널로 파일을 드래그 앤 드롭해도 됩니다.
  • 실행 파일에 격자 파일 경로를 인자로 넘기면 시작할 때 자동으로 로드됩니다 (개수 제한 없음, 여러 형식 혼용 가능):
    cmd
    GridAssistant.exe reactor.cgns wing.su2

파일을 읽을 때 빈 Zone, 노드 수 0, Section 누락 등 명백히 손상된 데이터는 로드 시점에 걸러져 오류 메시지로 안내됩니다.

파일 저장

Home ▸ File ▸ Save As (Ctrl+Shift+S) — 트리에서 선택된 파일(선택된 것이 없으면 마지막으로 불러온 파일)을 지정한 형식으로 저장합니다.


5. 기본 워크플로우

  1. File ▸ Open으로 격자 파일을 불러옵니다.
  2. Model Tree에서 Zone/Section/BC 구성을 확인하고, 필요 없는 항목은 체크 해제하여 뷰포트에서 숨깁니다.
  3. 3D 뷰에서 마우스로 회전/이동/줌하며 형상을 확인합니다 (6절 참고).
  4. 필요에 따라 Transform(정렬/복제), Mesh Ops(BC 정리), Quality(품질 점검), Slice(단면 확인) 도구를 사용합니다.
  5. 결과를 File ▸ Save As로 CGNS(HDF5 또는 ADF)로 저장합니다.

예: UGRID 격자를 BC 이름을 정리해 CGNS로

메셔가 내보낸 격자는 BC 이름이 Surface_1, Surface_2처럼 번호뿐인 경우가 많습니다. 아래 영상은 AFLR UGRID 날개 격자를 열어 BC 이름을 붙이고 CGNS로 저장하는 과정입니다.

  1. Open으로 .ugrid 파일을 엽니다. 트리의 Boundary Markers에 Surface_1~`Surface_3`이 보입니다.
  2. 3D 뷰에서 대칭면을 우클릭 ▸ Rename... 해 symmetry로 바꿉니다.
  3. 트리에서 Surface_1을 선택하면 3D 뷰에서 해당 면(날개)이 금색으로 강조됩니다. 우클릭 ▸ Rename... 으로 wing, 같은 방법으로 남은 면을 farfield로 바꿉니다.
  4. 필요하면 Properties에서 각 BC의 CGNS BC Type을 지정합니다.
  5. Save As에서 CGNS HDF5를 골라 저장합니다.


6. 3D 뷰 조작

마우스

동작기능
왼쪽 버튼 드래그회전 (Orbit)
가운데 버튼 드래그, 또는 Shift + 왼쪽 버튼 드래그이동 (Pan)
휠 스크롤확대/축소 (Zoom) — 커서가 가리키는 표면을 중심으로 확대되고, 그 지점이 회전 중심이 됩니다
Ctrl + 휠 스크롤단면 보기 — 앞쪽부터 모델을 잘라 속(경계층 등)을 봅니다. 잘린 상태면 화면 좌하단에 Clipped NN% 가 표시되며 F 로 원래대로 돌아갑니다
왼쪽 버튼 클릭 (뷰포트 모서리 방향 표시기)해당 축 방향으로 시점 전환
오른쪽 버튼 클릭 (BC 위)BC 우클릭 메뉴 (Rename / Hide / Show All Faces)

키보드 (3D 뷰에 포커스가 있을 때)

키기능
F전체 보기 (Fit view) — Ctrl+휠 단면도 함께 해제
O원근/직교 투영법 전환
X / Y / Z해당 축의 + 쪽에서 본 시점 (Shift 누르면 - 쪽)
I등각 투상 뷰 (Isometric)
Esc영역 확대·거리 재기 종료

뷰포트 툴바

3D 뷰 위쪽 아이콘 툴바에서 위 기능 중 자주 쓰는 것(뷰 프리셋, 화면 회전, 직교 투영, 렌더 모드)을 버튼으로도 사용할 수 있습니다.

거리 재기 (Ruler)

리본 Home ▸ Tools ▸ Ruler 를 켜면 격자 노드 두 개 사이의 거리를 잴 수 있습니다.

  1. 첫 번째 노드를 클릭합니다 — 클릭 지점에서 가장 가까운 노드에 붙고, 점으로 표시됩니다.
  2. 두 번째 노드를 클릭합니다 — 두 노드 사이에 치수선과 거리가 그려지고, 화면 아래 상태줄에 Distance · dx · dy · dz · 두 노드의 존 이름·번호·좌표 가 표시됩니다 (Log 패널에도 남아 복사할 수 있습니다).
  3. 다시 클릭하면 새 측정을 시작합니다. 드래그하면 평소처럼 회전하므로, 재는 중에도 시점을 바꿀 수 있습니다.
  4. Esc 를 누르거나 Ruler 버튼을 다시 누르면 끝나고 치수선이 지워집니다.
  • 거리는 격자 파일의 정확한 좌표로 계산합니다. 경계층 첫 셀처럼 아주 짧은 간격도 그대로 잴 수 있습니다.
  • 잴 수 있는 것은 화면에 보이는 BC 면·인터페이스 면의 격자 노드입니다. 슬라이스 단면의 꼭짓점은 격자 노드가 아니라서 잡히지 않습니다.
  • 경계층 두께를 재려면 대칭면(Symmetry)이나 주기면 BC를 보이게 하고, 그 면에서 벽 노드와 바로 위 노드를 클릭하세요.
  • 노드 번호는 CGNS 처럼 1부터 셉니다. 단위는 격자 파일의 단위 그대로입니다.

화면 캡처 (Home ▸ Tools ▸ Capture)

Home ▸ Tools ▸ Capture (또는 F12) — 현재 3D 뷰를 이미지 파일로 저장합니다. 마지막으로 저장한 폴더를 기억합니다.

Axes (뷰포트 툴바)

버튼기본값설명
Scale Bar켜짐화면 하단 중앙에 표시되는 축척 막대 (단위 없이 상대 크기만 표시)
Origin Axes꺼짐원점 (0,0,0)에 고정된 XYZ 삼축 표시

뷰포트 모서리의 방향 표시기(triad)는 항상 표시되며, 클릭하면 해당 축 방향으로 시점이 전환됩니다.


7. Model Tree 사용법

계층 구조

code
파일
 └─ Zone
     ├─ Sections (Elements_t)
     │   └─ Section (이름, 요소 타입, 개수)
     ├─ Boundary Markers (BC_t)
     │   └─ BC (이름, 타입)
     └─ Interfaces (ZoneGridConnectivity_t)
         └─ Interface (이름, 상대 zone)
Slices                          ← 파일과 무관한 별도 최상위 항목
 └─ Slice (이름)
  • 체크박스는 가시성 토글입니다 (파일/Zone/Section/BC/Slice 단위, 즉시 반영).
  • BC를 선택하면 3D 뷰에서 해당 면이 금색으로 강조됩니다. Ctrl/Shift로 여러 개(다른 zone·파일 포함)를 함께 고를 수 있고, 다른 항목을 선택하면 강조가 풀립니다. 체크박스(보이기/숨기기)와는 별개입니다.
  • 3D 격자에서는 볼륨 Section(체적 요소)의 와이어프레임이 기본적으로 숨김 상태입니다. 2D 격자의 면(Section)은 기본적으로 표시됩니다.
  • 격자 차원과 맞지 않는 하위 차원 Section(예: 3D 격자의 면 Section)은 체크박스가 없으며, 해당 영역의 표시 여부는 대응하는 BC로 제어합니다.

우클릭 메뉴

대상메뉴
파일Rename..., Remove
ZoneRename...
SectionRename...
BCRename..., Merge BCs... (여러 BC를 Ctrl/Shift로 다중 선택하면 "Merge N Selected BCs..."), Extract Surface Mesh (3D 원본)
Interfaces / InterfaceCreate Interface..., Delete Interface...
SliceRename..., Remove
Slices (최상위)Remove All

표면 메쉬 추출

3D 볼륨 격자에서 BC를 우클릭하고 Extract Surface Mesh를 선택하면 해당 면만 독립 표면 메쉬로 트리에 추가됩니다. 같은 zone의 BC 여러 개를 Ctrl/Shift로 선택하면 한 메쉬로 추출됩니다. 체크박스의 표시/숨김 상태와는 무관합니다. 원본은 유지되며, 원본을 숨기면 겹쳐 있던 추출 면을 쉽게 확인할 수 있습니다.

표면 메쉬의 BC는 경계 edge입니다. 이웃 마커와 맞닿는 선은 이웃 이름을, 이웃이 없는 선은 WALL_1, WALL_2처럼 원래 이름과 연결 성분 번호를 사용합니다. 새 BC 타입은 BCTypeNull이며 필요하면 Properties에서 지정합니다. 고차 면과 노드를 보존합니다. 작업 중에는 편집이 잠시 잠기며 Cancel로 취소할 수 있습니다. 결과는 메모리에만 존재합니다. 필요하면 결과를 선택하고 Save As로 CGNS에 저장하세요. 현재는 같은 zone의 삼각형/사각형 면을 지원하며 polyhedral 면은 지원하지 않습니다.

Zone Interface 만들기·지우기

zone 사이의 맞닿은 면을 CGNS 인터페이스(ZoneGridConnectivity_t)로 선언합니다. 트리의 Interfaces 항목을 우클릭해 **Create Interface...**를 선택하면 모델리스 창이 열립니다.

  • Zone A / Zone B에서 각 zone의 Boundary Marker를 하나씩 고르고, Name과 Type을 정합니다.
    • Matching (1:1) — 양쪽 노드가 일대일로 일치하는 면. 노드·면 일치를 검사합니다 (노드를 용접하지는 않습니다).
    • Non-conformal (Abutting) — 격자가 맞지 않게 맞닿은 면.
  • Tolerance는 기본 Automatic이며 직접 지정할 수도 있습니다. 검사는 백그라운드에서 돌고 취소할 수 있습니다.
  • 인터페이스를 만들면 연결된 두 marker는 Boundary Markers에서 빠지고 Interfaces로 옮겨집니다 (한 면은 marker이거나 인터페이스이지, 둘 다일 수 없습니다). 양방향으로 함께 만들어지고 CGNS로 저장됩니다.
  • **Delete Interface...**로 지우면 그 면은 intf_<인터페이스 이름> 이름의 BCTypeNull marker로 돌아갑니다. 원래 marker 이름과 타입은 복원되지 않습니다.
  • 이름은 27자까지입니다. 솔버의 보간이나 rotor/stator 결합 설정은 만들지 않습니다 — 솔버에서 지정합니다.

Properties 패널

트리에서 항목을 선택하면 Properties 패널에 이름/타입/요소 수/좌표 범위(X/Y/Z [min, max], Δ) 등이 표시됩니다. BC 에는 **넓이(Area)**도 함께 표시되며, 2D 격자의 경계는 **길이(Length)**로 나옵니다. 2차 요소는 중간 절점을 따라 곡면 그대로 계산합니다. 개별 **Boundary Marker (BC_t)**를 선택하면 CGNS BC Type을 드롭다운에서 지정할 수 있으며, 이후 CGNS 출력의 BCType_t에 반영됩니다.

Slice를 선택하면 Origin/Normal과 함께 Mode(Smooth/Crinkle)를 이 패널에서 바로 변경할 수 있습니다 (변경 즉시 재계산).


8. Transform 도구 (Home ▸ Transform)

여러 파일이 열려 있으면 각 대화상자에 Target File 선택 콤보박스가 나타납니다 (파일이 하나뿐이면 자동으로 숨겨집니다).

Rotate

항목값
축X / Y / Z / Custom Axis (방향 벡터 직접 입력, 기본값 (0,0,1))
각도±360°, 소수점 4자리

Translate

dX / dY / dZ 값을 각각 입력합니다.

Scale

항목값
기준점Origin (0,0,0) / BBox 중심 / Custom
Uniform체크 시 Scale Y/Z가 Scale X와 자동 동기화 (기본 체크됨)
Scale X/Y/Z기본값 1.0

Mirror

지정한 평면(YZ/XZ/XY) 기준으로 형상을 반전시킵니다.

  • Copy and merge를 체크하지 않으면 단순히 반전만 적용합니다.
  • Copy and merge를 체크하면 대칭 BC를 지정하여 half 모델을 전체 모델로 웰딩합니다. 이때 미러 평면은 원점이 아니라 선택한 대칭 BC 노드들의 평균 좌표를 기준으로 잡히며, 해당 BC가 실제로 그 평면 위에 있지 않으면 오류로 거부됩니다.
  • Separate zones: 체크하면 원본과 미러 복사본을 하나로 웰딩하지 않고 별도 Zone으로 둡니다.

아래 영상은 반쪽 날개 격자를 Plane: ZX-Plane (normal = Y), Copy and merge, Symmetry BC: symmetry로 미러링한 예입니다. 결과는 온전한 날개 하나의 zone(Zone_0_x2)이 되고, 맞붙은 symmetry BC는 내부 면이 되어 사라집니다.

Matrix

4×4 동차좌표 변환 행렬을 직접 입력합니다 (기본값: 단위행렬). 표준 변환으로 표현하기 어려운 임의 변환에 사용합니다.

Periodic Copy

원주 방향(회전) 또는 직선 방향(2D/선형 캐스케이드)으로 주기 형상을 N회 복제하고, 경계면을 노드 단위로 웰딩합니다.

항목설명
Periodicity 모드Rotational (축 기준 회전) / Translational (2D·선형)
BC 쌍Add로 Side A / Side B를 선택 (이름에 "PER1"/"PERIODIC1", "PER2"/"PERIODIC2"가 포함되면 자동 인식)
Step첫 번째 BC 쌍의 중심 좌표로부터 자동 계산되며, 필요하면 직접 수정 가능. 회전 각도가 360°의 정수 분할이 아니면 빨간색으로 경고 표시
# of Copies1 ~ 32
Per-copy 옵션BC 이름을 BLADE_1, BLADE_2...로 분리 / Section을 복사본별로 분리 / 웰딩 경계를 내부 patch로 남김(자체 솔버 전용) / Zone을 복사본별로 분리

주기면이 노드 단위로 정확히 대응하지 않으면(비주기 격자를 잘못 지정한 경우 등) 명확한 오류 메시지와 함께 거부됩니다.

Turbo Rotation

터보기계의 1 passage 격자를 전체 환형(360°) 으로 복제합니다. Periodic Copy와 BC 쌍 지정 UX는 동일하며 차이점은:

항목값
축X / Y / Z (기본 Z)
Passages in 360°2 ~ 999, 기본 36 (첫 BC 쌍에서 자동 추정된 값으로 미리 채워짐, 수정 가능)
결과항상 루프를 닫아(전체 환형) 생성 — 회전 방향(+/-)은 자동으로 판별

아래 영상은 rotor 1 passage 격자를 열고 Turbo에서 Add Pair로 주기면 쌍(ROTOR_PERIODIC Side 1 / Side 2)을 지정한 뒤, Passages in 360° = 36으로 전체 환형을 만드는 과정입니다. 결과는 같은 파일 안에서 전체 환형 zone(rotor35_full)으로 바뀝니다.


9. Mesh Ops (Home ▸ Mesh Ops)

Elevate Order

선형(1차) 요소를 2차(quadratic) 요소로 승격합니다. 이미 2차 요소만 있으면 "Already Quadratic" 안내와 함께 아무 작업도 하지 않습니다.

노드 수가 크게 늘어나므로 실행 전 확인 대화상자가 표시됩니다. 차수를 낮추는 기능은 없습니다.

Merge BCs

여러 BC 마커를 하나로 병합합니다 (Home ▸ Mesh Ops ▸ Merge BCs, 또는 트리에서 BC를 여러 개 선택 후 우클릭 ▸ Merge Selected BCs).

  • BC 목록에서 병합할 항목을 체크 (이름/BC 개수 함께 표시)
  • Check by name pattern: 와일드카드로 일괄 체크
  • Check by type: BC 타입으로 일괄 체크
  • 결과 BC 이름 지정 (기본값 MERGED), 타입은 "첫 번째 체크된 BC의 타입 유지" 또는 표준 CGNS BCType 중 선택 (BCWall, BCInflow, BCOutflow, BCFarfield, BCSymmetryPlane 등)
  • Section(요소 데이터)은 변경되지 않으며, 원본 파일도 수정되지 않습니다 (메모리 상의 병합).

Merge Files

열린 파일 하나의 zone들을 다른 열린 파일로 복사해 새 파일을 만듭니다 (Home ▸ Mesh Ops ▸ Merge Files). 모델리스 창에서 Source file과 Zones to copy, Merge into 대상을 고르면 Zones of the new file에 결과 zone 목록이 미리 보입니다.

  • 두 입력 파일은 그대로 두고, 결과는 저장되지 않은 새 파일로 트리에 열립니다. 필요하면 Save As로 저장하세요.
  • 대상 파일과 zone 이름이 겹치면 _2처럼 접미사가 붙습니다 (미리보기에 표시). 같이 복사된 zone 사이의 인터페이스는 바뀐 이름을 따라가고, 복사되지 않은 zone으로 이어지던 인터페이스는 intf_<이름> marker가 됩니다 (Log에 기록).
  • 차원이 다른 파일(2D ↔ 3D)은 대상으로 나오지 않습니다.

Check Repair

트리에서 검사할 격자를 선택한 뒤 Home ▸ Mesh Ops ▸ Check Repair를 누르거나, 파일 노드를 우클릭해 **Mesh Check & Repair...**를 선택합니다. 모델리스 창이 열리므로 결과를 보면서 3D 화면을 회전하고 확대할 수 있습니다.

  1. Run Check — 연결성, 열린/비다양체 면, 겹친 노드, 접힌 면과 셀, 0/음수 체적, 뒤틀린 quad, zone 인터페이스 불일치를 백그라운드에서 검사합니다.
  2. 결과 종류를 펼쳐 entity 행을 선택하면 해당 노드·면·셀 외곽선이 3D 화면에 강조됩니다. 행을 더블클릭하면 현재 보는 방향을 유지한 채 해당 위치로 이동·확대됩니다. 이후 평소처럼 휠로 줌 아웃할 수 있고 F 또는 Fit으로 전체 격자 보기에 돌아갈 수 있습니다.
  3. 검사 결과가 안전한 수리 방법을 제공할 때만 Merge coincident nodes, Convert cells with repeated nodes, Reverse inverted cell orientation 중 해당 항목이 활성화됩니다. Apply Repair 뒤에는 검사를 자동으로 다시 실행합니다. 방향 수리는 요소의 여러 부분에서 역방향 판정이 모두 일치한 셀만 뒤집으며, 뒤틀리거나 퇴화한 셀은 그대로 남깁니다.
  • Automatic tolerance는 격자 크기에 맞춘 기본 허용오차를 사용합니다. 해제하면 직접 값을 지정할 수 있습니다.
  • Keep marker sides apart는 선택한 marker의 노드가 다른 면의 같은 좌표 노드와 합쳐지지 않게 합니다. C-grid 절단면 위아래처럼 좌표는 같아도 떨어져 있어야 하는 면에 사용합니다.
  • 검사 중에는 창 위쪽과 상태 표시줄에 지금 단계(연결성 검사, 노드 검사, 셀 검사, 면 매칭, 경계면 검사, 인터페이스 검사)와 zone 번호가 표시되고, Log에 시작과 결과(오류·경고 수, 걸린 시간)가 남습니다. 수백만 셀 격자는 수십 초가 걸릴 수 있으며 Cancel로 멈출 수 있습니다.
  • 검사는 격자를 바꾸지 않습니다. 수리는 메모리 상의 격자를 바꾸며 원본 파일은 그대로입니다. 결과를 쓰려면 Export 하세요.

10. Quality 검사 (Home ▸ Tools ▸ Quality)

Run Quality 버튼을 누르면 현재 선택된 격자에 대해 지표를 계산하고, 중앙의 Quality 탭으로 전환해 히스토그램과 통계(Min/Max/평균/셀 수)를 표시합니다.

지표설명
Aspect Ratio셀의 종횡비 (값이 클수록 찌그러진 셀)
Skewness셀의 왜곡도 (0~1, 클수록 나쁨)
Scaled Jacobian셀의 형상 왜곡 지표 (0~1, 작을수록 나쁨)
Volume Check음의 체적(뒤집힌 셀) 유무 — 정상/음수 셀 개수를 막대로 표시
Non-Orthogonality내부 면의 비직교도 (0~90°, 클수록 나쁨)

품질 결과는 히스토그램/통계로만 제공되며, 3D 뷰에 색상으로 표시되지는 않습니다.

차트나 오른쪽 Statistics를 우클릭하면 결과를 꺼낼 수 있습니다 (지표를 한 번 계산한 뒤 활성화).

메뉴동작
Copy Chart차트를 화면의 2배 해상도 이미지로 클립보드에 복사 — 보고서·슬라이드에 바로 붙여넣기
Save Chart as PNG...<격자 이름>_<지표>.png로 저장 (3D 뷰 Capture가 마지막으로 쓴 폴더에서 시작)
Copy Statistics격자 이름, 지표, Min/Max/Avg/Cells 등과 구간별 셀 수를 탭으로 구분한 텍스트로 복사 — 엑셀에 붙이면 표가 됩니다

11. Slice 도구 (Home ▸ Tools ▸ Slice)

평면으로 격자를 잘라 내부 형상을 확인합니다. 대화상자는 닫지 않아도 3D 뷰를 계속 조작할 수 있으며(모덜리스), 3D 뷰에 반투명 평면과 기즈모가 나타납니다. 화살표를 끌면 평면이 이동하고, 링을 끌면 법선이 회전합니다. 대화상자의 Origin/Normal 값과 기즈모는 서로 따라 움직입니다. 실제 절단은 OK 를 눌러야 한 번 계산되고, Cancel·대화상자 닫기·3D 뷰에서 Esc 는 아무것도 만들지 않습니다.

항목기본값
Origin (X/Y/Z)현재 화면에 보이는 형상의 중심
Normal (X/Y/Z)(1, 0, 0) — X/Y/Z 버튼으로 축에 스냅 가능
Cut targetsAll meshes (나중에 불러오는 파일 포함) — 해제하면 자를 파일/zone을 직접 선택
Crinkle 체크박스꺼짐 (기본: Smooth)
  • Smooth: 평면과 셀의 실제 교차선을 계산하는 절단면 (hex/wedge/pyramid를 사면체로 분해 후 절단). 절단면 위에 실제 셀 경계선이 함께 표시됩니다.
  • Crinkle: 평면에 걸쳐 있는 셀 전체를 그대로 보여주는 방식 (셀 단위 절단, 매끈한 절단선은 아님).
  • Normal 벡터가 (0,0,0)이면 평면과 기즈모가 사라지고 OK 가 비활성화됩니다. 0이 아닌 값을 넣으면 다시 켜집니다.
  • 기즈모로 옮긴 값은 상자에 소수 4자리(Origin)·6자리(Normal)로 보이지만, 실제 평면은 반올림하지 않은 값을 씁니다.
  • 2D 격자는 자를 대상에서 제외됩니다.

생성된 Slice는 트리의 Slices 항목 아래에 추가되며 (특정 파일에 속하지 않고 열려 있는 모든 격자를 가로지름), 이름 변경/삭제가 가능하고 Properties 패널에서 Mode를 나중에 바꿀 수 있습니다. 격자를 다시 불러오거나 Transform을 적용하면 기존 Slice는 자동으로 재계산됩니다.


12. 설정 (Settings 탭)

Panels

Model Tree / Properties / Log 패널의 표시 여부를 체크박스로 제어합니다 (패널을 닫아도 여기서 다시 열 수 있습니다). Render와 Quality는 중앙의 고정 탭입니다.

Privacy

일부 배포판(사용 통계 수집이 활성화된 빌드)에는 "Send anonymous usage statistics" 항목이 있습니다. 기본값 켜짐이며, 앱 버전·OS/하드웨어 사양·세션 시작/종료 정보만 익명으로 수집하고 파일이나 격자 내용은 전송하지 않습니다. Help ▸ About의 Privacy Statement 링크에서 자세한 내용을 확인할 수 있습니다. 변경 사항은 다음 실행부터 적용됩니다.


13. 문제 해결

"Unsupported mesh format for reading" (.msh 파일)

원인: Fluent .msh 파일 — 현재 GMSH .msh만 읽을 수 있습니다.

해결책: 격자 생성 도구에서 GMSH 형식으로 다시 내보내거나, 다른 지원 형식(CGNS 등)으로 변환 후 불러오세요.

격자를 불러왔는데 화면에 아무것도 안 보임

확인사항:

  1. Model Tree에서 파일/Zone/Section의 체크박스가 켜져 있는지 확인 (특히 3D 격자의 볼륨 Section 와이어프레임은 기본적으로 꺼져 있습니다 — 표면 BC는 보통 별도로 켜져 있습니다)
  2. 뷰포트 툴바의 Fit view 클릭 (또는 키보드 F)
  3. 렌더 모드가 Wireframe인데 얇은 선이 잘 안 보이면 Surface 또는 Surface with edges로 전환

Periodic Copy / Turbo Rotation에서 "주기 면이 일치하지 않습니다" 류의 오류

원인: 선택한 BC 쌍이 실제로 노드 단위 주기 관계를 이루지 않음 (격자 생성 시 주기 경계가 정확히 매칭되지 않았거나, 엉뚱한 BC 쌍을 선택함).

해결책:

  1. Side A / Side B로 올바른 BC 쌍을 선택했는지 확인
  2. 원본 격자 생성 도구에서 주기 경계 매칭 옵션을 확인 (노드 좌표가 정확히 대응해야 함)

Mirror "Copy and merge"에서 거부됨

원인: 선택한 대칭 BC의 노드들이 실제로 지정한 미러 평면 위에 있지 않음.

해결책: Plane 선택(YZ/XZ/XY)이 격자의 실제 대칭면과 일치하는지 확인하세요.

"VCRUNTIME140.dll을 찾을 수 없습니다"

원인: Visual C++ Redistributable 2022 (x64) 미설치 (설치 프로그램이 아닌 방법으로 배포된 경우).

해결책: 2절의 다운로드 링크에서 설치하세요.

패널 배치가 이상해졌을 때

해결책: 프로그램을 닫고 %LOCALAPPDATA%\CLEW\GridAssistant\layout.xml을 삭제한 뒤 다시 실행하면 기본 배치로 초기화됩니다.

Quality에서 Volume Check에 음수 셀이 나옴

원인: 뒤집힌(inverted) 셀 — 격자 생성 단계의 문제일 가능성이 높습니다.

해결책: 원본 격자 생성 도구에서 해당 영역을 다시 확인하세요. Grid Assistant는 격자를 생성하지 않으므로 뒤집힌 셀 자체를 수정하는 기능은 없습니다.


14. 기술 지원

문의 시 다음 정보를 함께 보내주시면 빠른 확인에 도움이 됩니다:

  • Grid Assistant 버전 (Help ▸ About에서 확인)
  • 운영체제
  • 문제가 발생한 격자 파일 형식과 (가능하면) 재현 가능한 파일
  • Log 패널 내용 또는 오류 메시지

15. 면책 조항

라이선스

Grid Assistant는 Freeware로 무료로 사용할 수 있습니다. CLEW, Inc.의 사전 서면 동의 없이 소프트웨어를 수정, 리버스 엔지니어링, 디컴파일, 디스어셈블할 수 없습니다.

보증 부인

본 소프트웨어는 "있는 그대로(AS IS)" 제공되며, 명시적이든 묵시적이든 어떠한 종류의 보증도 하지 않습니다. 여기에는 상품성, 특정 목적에의 적합성, 비침해성에 대한 묵시적 보증이 포함되지만 이에 국한되지 않습니다.

어떠한 경우에도 CLEW, Inc.는 본 소프트웨어의 사용 또는 사용 불능으로 인해 발생하는 직접적, 간접적, 우발적, 특수적, 징벌적 또는 결과적 손해에 대해 책임을 지지 않습니다.

제3자 구성 요소

본 소프트웨어는 Qt 6, SARibbon, Qt Advanced Docking System, Dear ImGui, ImGuizmo, spdlog, CGNS, HDF5, zlib를 포함하며, 각각 해당 라이선스를 따릅니다.


문서 버전: 1.2
소프트웨어 버전: Grid Assistant 0.9.2
최종 업데이트: 2026-10-05
개발: 주식회사 클루