Simulizer

2D boundary conditions

사각형 격자 위에서 PDE 시뮬레이션을 돌릴 때, 가장자리에서의 거동을 영역 단위로 정의하는 도구입니다. 자유 곡선이나 다각형으로 영역을 그린 뒤 각 변에 Dirichlet · Neumann · 주기 경계를 지정합니다. 결과물은 .bin 파일이며, 워크스페이스의 boundary 카테고리 블록이 이 파일을 받아 격자 인덱싱에 활용합니다.

이 페이지는 유한차분과 경계 조건에 대한 기본 개념을 알고 있다고 가정합니다.

Open the tool

상단 메뉴에서 도구 → 경계 2D를 선택하세요. 별도 페이지로 열립니다.

Workflow

  1. 격자 크기 설정 — 도메인의 폭과 높이, 그리고 nx × ny 격자 점 수를 정합니다.
  2. 영역 그리기 — 마우스로 다각형이나 자유 곡선을 그려 도메인의 가장자리를 정의합니다. 곡선은 반드시 닫혀 있어야 합니다.
  3. 변 분류 — 각 변에 경계 종류를 지정합니다.
    • Dirichlet — 값을 고정합니다. 스칼라 또는 함수로 값을 지정합니다.
    • Neumann — 법선 방향 도함수를 고정합니다. 보통 0으로 두면 단열 조건이 됩니다.
    • 주기 — 반대편 변과 값을 동일하게 맞춥니다.
  4. 미리보기 — 어떤 격자 점이 어느 변에 속하는지 색으로 표시됩니다.
  5. 내보내기.bin 파일을 다운로드합니다.

Use in workspace

.bin 파일을 워크스페이스의 경계 가져오기 블록으로 업로드하면 boundary 카테고리의 블록이 그 파일을 인식합니다.

  • boundary loop (bd2) — 경계 점을 순회하며 본문을 실행합니다. 반복 변수로 현재 점의 인덱스, 법선, 접선을 제공합니다.
  • boundary point — 경계 위 한 점의 격자 좌표입니다.
  • boundary normal/tangent — 그 점에서의 법선 벡터와 접선 벡터입니다.

Output format

.bin 파일은 다음 정보를 담고 있습니다.

  • 격자 메타: nx, ny, dx, dy.
  • 점 분류: 각 격자 점이 내부 / 경계 / 외부 중 어디에 속하는지.
  • 경계 점별 정보: 분류된 변 종류, 법선 벡터, 접선 벡터.
  • 경계 조건 값: 점별 또는 영역별 Dirichlet/Neumann 값.

자세한 바이너리 레이아웃은 frontend/src/lib/bctool2d/의 README를 참고하세요.

Pitfalls

  • 닫히지 않은 곡선은 도구가 거부합니다. 시작점과 끝점이 정확히 같아야 합니다.
  • 격자 점 수를 너무 크게(예: 1000×1000) 잡으면 도구 자체가 느려집니다. 200×200 이내로 두는 것이 쾌적합니다.
  • .bin 파일은 격자 메타를 포함하므로 워크스페이스의 격자 크기와 일치해야 합니다. 크기가 다르면 실행 도중 에러가 발생합니다.