최종 수정: 2026-10-09 읽기 약 25분

FoilGrid GUI는 단일 에어포일의 O-grid, C-grid 또는 C-H grid를 만들고, 품질을 확인한 뒤 solver-ready CGNS나 VTU로 내보내는 프로그램입니다. 이 문서에서는 화면 사용법, 에어포일 .dat 입력 형식과 최종 메시의 출력 규약을 설명합니다.

목차

  1. 빠른 시작
  2. 에어포일 DAT 입력 형식
  3. TE closure와 토폴로지
  4. 왼쪽 설정 패널
  5. 렌더 툴바와 품질 확인
  6. CGNS 출력 규약
  7. 로그와 문제 보고

1. 빠른 시작

  1. Open Airfoil로 .dat 파일을 열거나 **Create Airfoil…**에서 해석적 에어포일을 만듭니다.
  2. 입력 TE 형상에 맞춰 TE Closure와 Topology를 선택합니다.
  3. 필요한 격자 해상도와 벽 거리를 설정하고 Generate를 누릅니다.
  4. 격자선과 품질값을 확인합니다. Invalid cells는 0이어야 합니다.
  5. **Export Mesh…**를 눌러 저장합니다. GUI의 기본 출력 형식은 CGNS입니다.

기본 좌표 가정

LE ≈ (0, 0), TE ≈ (1, 0)인 단위 시위 좌표를 권장합니다. FoilGrid는 파일 입력 좌표를 자동으로 정규화하거나 회전하지 않습니다.

FoilGrid GUI에서 생성한 단일 에어포일 O-grid

왼쪽에서 형상·격자·벽 거리 설정을 지정하고 중앙에서 생성 결과와 품질을 확인합니다. 설정을 바꾸면 이전 격자는 화면에 남지만 stale 상태가 되며, 다시 Generate하기 전에는 내보낼 수 없습니다.

2. 에어포일 DAT 입력 형식

FoilGrid는 XFOIL/Selig labeled coordinate 형식을 읽습니다. 첫 유효 줄은 에어포일 이름이며, 다음 줄부터 공백으로 구분한 x y 좌표를 입력합니다.

text
# 전체 줄 주석 가능
NACA 0012
1.000000   0.001260   # TE upper
0.750000   0.031600
0.250000   0.059400
0.000000   0.000000   # LE
0.250000  -0.059400
0.750000  -0.031600
1.000000  -0.001260   # TE lower

권장 좌표 순서는 다음과 같습니다.

text
TE 윗면 → 상면 → LE → 하면 → TE 아랫면

2.1 지원 규칙

  • 공백과 탭, 일반/지수 표기 부동소수점을 허용합니다.
  • 빈 줄과 # 전체 줄·인라인 주석을 허용합니다.
  • 반대 방향 입력은 끝점 부근 Y 좌표를 이용한 휴리스틱으로 뒤집습니다.
  • 최소 3점이 필요합니다. 곡률 복원을 위해 보통 50점 이상을 권장합니다.
  • 입력 점 수와 GUI의 Surface nodes는 별개입니다. 입력 곡선을 재구성한 뒤 요청한 노드 수로 다시 분포시킵니다.
  • 첫 점과 마지막 점의 X 차이는 1e-9 이하여야 합니다. 열린 TE는 두 점의 Y가 달라도 되지만 X 위치는 일치해야 합니다.

2.2 직접 지원하지 않는 형식

형식필요한 처리
헤더 없는 좌표 목록첫 좌표가 이름으로 소비되므로 이름 한 줄을 추가
Lednicer 형식상·하면 점 개수 헤더를 제거하고 한 개의 연속된 표면 목록으로 변환
! 주석# 주석으로 변경
다중 엘레멘트현재 GUI는 하나의 연속된 에어포일 단면만 지원

입력 TE 끝점의 X가 맞지 않으면 Generate가 비활성화되고 입력 수정 안내가 표시됩니다. 입력 파일을 변환할 때는 위 지원 규칙과 좌표 순서를 확인하십시오.

3. TE closure와 토폴로지

입력과 closureO-gridC-gridC-H grid
열린 TE + Rounded지원, 1블록지원하지 않음지원하지 않음
열린 TE + Flat지원, 1블록지원하지 않음지원, 4블록
닫힌 TE + Closed (sharp)지원, 1블록지원, 3블록C-grid로 해석, 3블록
  • O-grid: 가장 단순하고 강건한 기본 선택입니다. 주기적인 한 블록으로 에어포일 전체를 둘러쌉니다.
  • C-grid: 닫힌 sharp TE에서 후류 방향 격자선을 구성합니다.
  • C-H grid: 열린 blunt TE를 Flat으로 닫고 TE base와 후류 블록을 구성합니다.
  • Rounded: 열린 TE를 곡선으로 연결합니다. GUI에서는 O-grid만 허용합니다.

같은 Flat TE의 O-grid와 C-H 비교

O-gridC-H grid
Flat trailing edge를 사용한 O-gridFlat trailing edge를 사용한 C-H grid
한 블록으로 전체 형상을 감쌉니다.TE base와 후류 영역이 별도 블록으로 연결됩니다.

Solver별 O-grid와 C-grid 예시

토폴로지EllipticHyperbolic
O-gridElliptic solver로 생성한 O-gridHyperbolic solver로 생성한 O-grid
C-gridElliptic solver로 생성한 C-gridHyperbolic solver로 생성한 C-grid

위 그림은 solver와 topology에 따른 외곽 형상과 격자선 분포의 예시입니다. 실제 분포는 노드 수, farfield 크기, wake 설정과 Advanced 옵션에 따라 달라집니다.

4. 왼쪽 설정 패널

접힌 항목은 일반적인 첫 생성에서는 기본값을 사용해도 됩니다.

4.1 TE Closure

항목설명
Closed (sharp)끝점 gap이 1e-9 이하인 입력에 사용
Flat열린 TE를 평평한 base 면으로 연결
Rounded열린 TE를 곡선으로 연결. O-grid만 허용
TE gap 표시입력 형상의 열린/닫힌 상태와 실제 끝점 거리를 표시

4.2 Grid

항목설명
TopologyO-grid, C-grid 또는 C-H grid 선택
SolverHyperbolic 행진 또는 Elliptic 평활화 선택
Surface nodesclosure 처리 후 에어포일 방향 노드 수. DAT 입력 점 수와 독립적
Normal nodes벽면과 farfield 행을 포함한 벽 수직 방향 노드 수
Farfield radius입력 좌표계 기준 외곽 경계 크기

4.3 LE / TE spacing

항목설명
LE spacingLeading edge의 표면 방향 간격. 작게 하면 LE에 점이 더 모임
TE spacingTrailing edge의 표면 방향 간격. closure 점 수 계산에도 사용

두 값 모두 0이면 화면에 표시되는 자동 계산값을 사용합니다. 값은 벽면을 따라가는 방향의 간격이며, 벽 수직 첫 셀 높이와는 다릅니다.

4.4 Wall spacing

Method입력설명
From y+y+, Reynolds, Reference chord평판 상관식으로 First height를 계산
First-layer heightHeight벽 수직 방향 첫 셀 높이를 직접 입력

계산된 First height는 설정 아래에 표시됩니다. Reference chord와 직접 입력한 Height는 에어포일 좌표와 길이 단위가 일치해야 합니다.

4.5 Wake settings

항목설명
Wake nodesC/C-H의 후류 방향 노드 수. O-grid에서는 사용하지 않음
Length factorElliptic 외곽 wake 경계의 길이 배율
First-cell factorElliptic 외곽 wake 경계의 첫 간격 배율

Length factor와 First-cell factor는 Elliptic 외곽 wake 경계에 적용되며, Hyperbolic에서는 비활성화됩니다.

4.6 Advanced — Hyperbolic

항목실제 역할
Surface coupling (α)행진 행렬의 표면 방향 결합. relaxation factor가 아님
Next-row smoothing다음 행 변위의 표면 방향 요철을 완화. 효과는 벽에서 멀어질수록 증가
Current-row correction현재 행 좌표의 곡률 보정. 증가가 항상 평활화를 보장하지 않음
Outer-area uniformityfarfield 쪽 목표 셀 면적을 균일값과 혼합. 높이면 표면 clustering 보존 감소
Target-area passes각 행진 단계에서 목표 셀 면적을 이웃 평균하는 횟수. 좌표를 직접 평균하지 않음
Block smoothing iterationsHyperbolic C/C-H 블록 연결 후 elliptic 평활화 예산. O-grid에서는 미사용

4.7 Advanced — Elliptic과 출력 셀

항목실제 역할
Primary iterationsO-grid 초기 elliptic 반복. C/C-H에서는 연결 블록 평활화 예산에 포함
Additional iterationsO-grid 벽 거리 적용 후 추가 평활화. C/C-H에서는 연결 블록 예산에 추가
Outer-boundary clusteringElliptic O-grid 외곽 원주 분포. 1은 균일, C/C-H에서는 미사용
Triangulate (3D: prisms)2D QUAD를 TRI로, 3D HEXA를 PENTA로 분할

Advanced 값은 기본값에서 하나씩 바꾸고 같은 입력의 격자선과 품질값을 비교하는 것이 좋습니다.

4.8 3D extrusion

항목설명
Extrude to a 3D grid2D 메시를 균일 압출. Generate 시 2D view lock이 자동 해제
Length전체 압출 거리
Divisions압출 방향 셀 구간 수. 단면 수는 Divisions + 1
Rotate output to Z-up (+Y → +Z)+X축으로 90° 회전해 두께 방향 +Y를 전역 +Z로 정렬

Z-up으로 회전한 C-grid 3D 압출 결과

위 그림은 C-grid를 3D로 압출하고 Z-up 회전을 적용한 예시입니다. 압출 방향의 단면 수는 Divisions + 1이며, 양 끝 단면은 symmetry marker로 출력됩니다.

LE/TE spacing, 첫 셀 높이, Farfield radius, Length는 모두 입력 좌표와 같은 길이 단위를 사용합니다.

5. 렌더 툴바와 품질 확인

5.1 렌더 툴바

  • 2D view: +Z 평행 투영과 회전을 잠급니다. Pan, zoom, fit은 유지됩니다.
  • Surface: 셀 면만 표시합니다.
  • Surface with edges: 셀 면과 격자선을 함께 표시합니다.
  • Wireframe: 격자선만 표시합니다.
  • 방향/회전/평행 투영 버튼은 2D view를 끈 뒤 사용할 수 있습니다.
  • 3D 생성을 시작하면 2D view lock은 자동으로 해제됩니다.

5.2 품질값

표시의미
Cells내보내는 최종 셀 수
Min Jacobian최소 scaled Jacobian. 양수여야 하며 클수록 좋음
Max skewnessEquiangle skewness [0, 1]. 0이 이상적
Invalid cells비유한 값 또는 scaled Jacobian ≤ 0인 셀 수. 0이어야 내보내기 가능

숫자만 보지 말고 LE, TE, wake, 블록 연결부에서 격자선이 급격히 꺾이거나 간격이 갑자기 변하는지도 확인하십시오. 유효하지 않은 셀이 있으면 결과는 화면에 남겨 검사할 수 있지만 **Export Mesh…**는 비활성화됩니다.

6. CGNS 출력 규약

GUI의 기본 내보내기 형식은 CGNS이며 VTU를 보조 형식으로 선택할 수 있습니다. 내부 구조 블록의 인터페이스 노드는 병합되고, 최종 출력은 하나의 unstructured zone으로 구성됩니다.

항목출력 규약
Mesh 이름foilgrid
Zone 이름fluid
2D 기본 셀QUAD_4; Triangulate 사용 시 TRI_3
3D 기본 셀HEXA_8; Triangulate 사용 시 PENTA_6
2D 좌표z = 0, cell dimension 2, physical dimension 3
블록 인터페이스공유 노드를 병합하여 최종 zone 안에서 연속된 메시로 구성

6.1 Boundary marker와 CGNS BC type

MarkerCGNS BC type생성 조건과 의미
airfoilBCWallViscous모든 토폴로지의 에어포일 벽면
te_baseBCWallViscous열린 Flat TE의 C-H base 면
farfieldBCFarfield외곽 경계와 C/C-H 출구를 포함한 원방 경계
symmetry_low_zBCSymmetryPlane기본 3D 압출 시작 단면, z = 0
symmetry_high_zBCSymmetryPlane기본 3D 압출 끝 단면, z = Length
symmetry_high_yBCSymmetryPlaneZ-up 회전 시 시작 단면, y = 0
symmetry_low_yBCSymmetryPlaneZ-up 회전 시 끝 단면, y = -Length

FoilGrid는 물리 조건값을 지정하지 않고 경계 이름과 CGNS BC type을 제공합니다. Solver에 연결할 때 marker 이름과 BC type이 의도한 조건에 맞는지 확인하십시오.

6.2 3D 좌표축

  • 기본 3D 모드는 2D 격자를 +Z 방향으로 균일 압출합니다.
  • 셀 간격은 Length / Divisions, 단면 수는 Divisions + 1입니다.
  • Rotate output to Z-up을 켜면 먼저 (x, y, z) → (x, -z, y)로 회전한 뒤 -Y 방향으로 압출합니다.
  • Z-up 모드에서는 원래 에어포일의 두께 방향 +Y가 전역 +Z가 됩니다.

7. 로그와 문제 보고

Generation log에는 다음 정보가 기록됩니다.

  • FoilGrid 버전, 빌드, Qt, 운영체제와 CPU 아키텍처
  • 입력 형상 이름, 경로, 좌표 수, chord, thickness, TE gap
  • 요청 설정과 실제로 해석된 topology·간격·격자 크기
  • 엔진의 debug/info/warn/error 메시지
  • 블록·노드·셀 수, 품질값과 invalid cell 수
  • Boundary marker 이름, CGNS BC type과 zone connectivity
  • 내보내기 경로, 완료 여부와 파일 크기

문제가 발생하면 로그 패널의 Copy Log를 눌러 전체 내용을 복사한 뒤 [email protected]로 보내주십시오.

익명 사용 통계는 About 창에서 끌 수 있습니다. 제품 버전·빌드, OS, CPU, 메모리와 생성 성공/실패만 전송하며 에어포일, 메시, 파일 경로와 설정은 전송하지 않습니다.

CLI 프로그램을 통한 자동화는 별도의 영업 채널을 통해 지원합니다. 커스터마이징 또는 별도 개발은 [email protected]로 문의해 주십시오.


© 2026 CLEW, Inc. · Freeware · https://www.clew.tech