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을 찾을 수 없습니다" 오류가 발생합니다.
- 다운로드: https://aka.ms/vs/17/release/vc_redist.x64.exe
- 설치 프로그램으로 설치했다면 이미 포함되어 있으므로 별도 설치가 필요 없습니다.
설치 방법
- GitHub Releases에서 최신 버전의 설치 파일
GridAssistant_v<버전>_Setup.exe를 내려받습니다. - 내려받은 설치 파일을 실행합니다.
- 안내에 따라 설치 경로를 선택합니다 (기본값:
C:\Program Files\GridAssistant). - 바탕화면 아이콘 생성 여부를 선택할 수 있습니다.
- 설치가 끝나면
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 그룹의 체크박스로 다시 열 수 있습니다.
화면 배치 저장
패널 배치(도킹 레이아웃)는 프로그램을 닫을 때 자동으로 저장되며, 다음 실행 시 그대로 복원됩니다. 배치가 꼬였을 때는 다음 파일을 삭제하면 기본 배치로 초기화됩니다 (프로그램 내에는 별도의 "초기화" 버튼이 없습니다):
%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. 기본 워크플로우
- File ▸ Open으로 격자 파일을 불러옵니다.
- Model Tree에서 Zone/Section/BC 구성을 확인하고, 필요 없는 항목은 체크 해제하여 뷰포트에서 숨깁니다.
- 3D 뷰에서 마우스로 회전/이동/줌하며 형상을 확인합니다 (6절 참고).
- 필요에 따라 Transform(정렬/복제), Mesh Ops(BC 정리), Quality(품질 점검), Slice(단면 확인) 도구를 사용합니다.
- 결과를 File ▸ Save As로 CGNS(HDF5 또는 ADF)로 저장합니다.
예: UGRID 격자를 BC 이름을 정리해 CGNS로
메셔가 내보낸 격자는 BC 이름이 Surface_1, Surface_2처럼 번호뿐인 경우가 많습니다. 아래 영상은 AFLR UGRID 날개 격자를
열어 BC 이름을 붙이고 CGNS로 저장하는 과정입니다.
- Open으로
.ugrid파일을 엽니다. 트리의 Boundary Markers에Surface_1~`Surface_3`이 보입니다. - 3D 뷰에서 대칭면을 우클릭 ▸ Rename... 해
symmetry로 바꿉니다. - 트리에서
Surface_1을 선택하면 3D 뷰에서 해당 면(날개)이 금색으로 강조됩니다. 우클릭 ▸ Rename... 으로wing, 같은 방법으로 남은 면을farfield로 바꿉니다. - 필요하면 Properties에서 각 BC의 CGNS BC Type을 지정합니다.
- 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 를 켜면 격자 노드 두 개 사이의 거리를 잴 수 있습니다.
- 첫 번째 노드를 클릭합니다 — 클릭 지점에서 가장 가까운 노드에 붙고, 점으로 표시됩니다.
- 두 번째 노드를 클릭합니다 — 두 노드 사이에 치수선과 거리가 그려지고, 화면 아래 상태줄에
Distance · dx · dy · dz · 두 노드의 존 이름·번호·좌표가 표시됩니다 (Log 패널에도 남아 복사할 수 있습니다). - 다시 클릭하면 새 측정을 시작합니다. 드래그하면 평소처럼 회전하므로, 재는 중에도 시점을 바꿀 수 있습니다.
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 사용법
계층 구조
파일
└─ 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 |
| Zone | Rename... |
| Section | Rename... |
| BC | Rename..., Merge BCs... (여러 BC를 Ctrl/Shift로 다중 선택하면 "Merge N Selected BCs..."), Extract Surface Mesh (3D 원본) |
| Interfaces / Interface | Create Interface..., Delete Interface... |
| Slice | Rename..., 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_<인터페이스 이름>이름의BCTypeNullmarker로 돌아갑니다. 원래 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 Copies | 1 ~ 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 화면을 회전하고 확대할 수 있습니다.
- Run Check — 연결성, 열린/비다양체 면, 겹친 노드, 접힌 면과 셀, 0/음수 체적, 뒤틀린 quad, zone 인터페이스 불일치를 백그라운드에서 검사합니다.
- 결과 종류를 펼쳐 entity 행을 선택하면 해당 노드·면·셀 외곽선이 3D 화면에 강조됩니다. 행을 더블클릭하면 현재 보는 방향을 유지한 채 해당 위치로 이동·확대됩니다. 이후 평소처럼 휠로 줌 아웃할 수 있고 F 또는 Fit으로 전체 격자 보기에 돌아갈 수 있습니다.
- 검사 결과가 안전한 수리 방법을 제공할 때만 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 targets | All 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 등)으로 변환 후 불러오세요.
격자를 불러왔는데 화면에 아무것도 안 보임
확인사항:
- Model Tree에서 파일/Zone/Section의 체크박스가 켜져 있는지 확인 (특히 3D 격자의 볼륨 Section 와이어프레임은 기본적으로 꺼져 있습니다 — 표면 BC는 보통 별도로 켜져 있습니다)
- 뷰포트 툴바의 Fit view 클릭 (또는 키보드
F) - 렌더 모드가 Wireframe인데 얇은 선이 잘 안 보이면 Surface 또는 Surface with edges로 전환
Periodic Copy / Turbo Rotation에서 "주기 면이 일치하지 않습니다" 류의 오류
원인: 선택한 BC 쌍이 실제로 노드 단위 주기 관계를 이루지 않음 (격자 생성 시 주기 경계가 정확히 매칭되지 않았거나, 엉뚱한 BC 쌍을 선택함).
해결책:
- Side A / Side B로 올바른 BC 쌍을 선택했는지 확인
- 원본 격자 생성 도구에서 주기 경계 매칭 옵션을 확인 (노드 좌표가 정확히 대응해야 함)
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. 기술 지원
- 개발사: CLEW, Inc.
- 웹사이트: https://www.clew.tech
문의 시 다음 정보를 함께 보내주시면 빠른 확인에 도움이 됩니다:
- 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
개발: 주식회사 클루