쿼드 트리 및 옥트리 그리드의 시각화


10

소위 쿼드 트리옥트리 그리드는 적응 형 메쉬 미세 조정이 필요한 응용 분야에 매우 매력적입니다. 예를 들어 GerrisParamesh 에서 사용됩니다 . 그런 그리드에 적합한 파일 형식을 알고 시각화 소프트웨어를 지원하는 사람이 있습니까? Gerris FAQ 에서이 답변 을 참조하십시오 . 내가 현재 알고있는 유일한 후보자는 VTK HyperOctree 클래스이지만 거의 문서가없는 것 같습니다.

메시의 특정 예로서 , 각각 8 × 8 × 8 = 512 개의 셀을 포함하는 박스 로 구성된 희박하게 정제 된 옥트리 그리드를 고려하십시오 . Visit / Paraview의 현재 전략은 다음과 같습니다.1048×8×8=512

  1. 그리드를 구조화되지 않은 VTK 파일로 작성하십시오. 이것은 더 큰 데이터 세트에 비싸고 쿼드 / 옥트리의 '구조화'를 이용하지 않습니다.
  2. 트리에서 인접한 '상자'를 더 큰 블록으로 모으고 블록 구조 그리드를 작성하십시오. 여기에는 약간의 추가 코드가 필요하며 쿼드 / 옥트리에 포함 된 연결 정보가 손실됩니다.

업데이트 현재 octree 그리드를 직접 작성하고 시각화하는 데 사용할 수있는 형식이없는 경우 octree를 블록 구조 그리드로 작성하는 데 사용할 수있는 파일 형식에 대한 제안을 부탁드립니다. 이상적으로이 형식은 다음과 같습니다.

  1. 비교적 간단한 정의 / 구현, 이상적인 오픈 소스 및 C / Fortran 호환성을 갖추고 있습니다.
  2. 많은 그리드 블록 (예 : 1000 이상)을 효율적으로 처리 할 수 ​​있습니다.
  3. 특히 정제 경계에서 그리드 블록의 연결을 쉽게 지정할 수 있습니다.

나는 현재이 목적으로 Silo 를 사용 하고 있지만 위의 3 점 (더 작고 빠르며 단순함)에서 더 나은 점수를 얻는 것을 찾고 있습니다.


1
구조화되지 않은 메쉬가 너무 많은 데이터를 생성하는 이유는 무엇입니까? 5 백만 개의 셀일뿐입니다. Visit 또는 Paraview에서 시각화 할 수있는 아주 작은 데이터 세트입니다.
Wolfgang Bangerth

좌표 및 연결은 상자 당 한 번만 (예 : 512 개 셀 포함) 셀당 지정되지 않기 때문에. 더 큰 데이터 세트 (예 : 2 천만 셀 이상)의 경우, 특히 그리드의 중요한 부분이 동일한 다듬기 레벨에있을 경우 시각화가 블록 구조 메시보다 훨씬 느려집니다.
Jannis Teunissen

방문에서 지원되는 파일 형식 목록이이 질문에 유용 할 것입니다. visitusers.org/…
Jannis Teunissen

1
아마도 CHOMBO, SAMRAI 등이 시각화를 위해 무엇을하는지보십시오.
Abhilash Reddy M

1
BoxLib를 목록에 추가하십시오. AMR 데이터를 시각화하기 위해 AMRVis라는 패키지를 개발했습니다. 코드는 LBL 웹 사이트에서 구할 수 있습니다.
Abhilash Reddy M

답변:


2

필자의 경우 멀티 레벨 세분화를 수행 할 때 그리드 파일을 다른 레벨로 개별적으로 작성했습니다. 일반적으로 레벨 0은 고정 된 기본 거친 메시입니다. 그리고 레벨 1 이상에서는 패치마다 다른 파일을 사용했습니다. 레벨 1에 5 개의 훌륭한 패치가 있다면, 나의 전략은 프로그램의 끝에 5 개의 다른 파일을 작성하는 것이 었습니다. Level_1_Patch_1, Level_1_Patch_2 ... C에서 동적으로 수행 될 수 있습니다.

        char filename1[64];
        sprintf(filename1, "Patch%d.dat", patch_number);

        FILE *file;
        file= fopen(filename1, "wb");

여기에는 유한 한 차이의 구조화 된 그리드 시스템을 사용했다고 언급해야합니다.

그래서 일단 모든 레벨과 .PLT 또는 .DAT 파일을 가졌습니다. TecPLOT에 모든 것을 가져옵니다. 예를 들어, 레벨 1에서 몇 가지 고급 패치로 2 단계 코드를 작성할 때 메쉬는 Tecplot에서 다음과 같아야합니다.

여기에 이미지 설명을 입력하십시오

나는 구조화되지 않은 그리드를 다루는 데 익숙하지 않지만 Tecplot에서 구조화 된 그리드를 잘 처리합니다.


당신의 접근 방식에 대해 흥미가 있지만, 큰 octree에는 적용되지 않는 것 같습니다. 그러면 수천 개의 파일을 읽고 읽어야합니다. 보통 다소 느립니다.
Jannis Teunissen

1
@JannisTeunissen : Tecplot의 경우 블록 구조 솔루션을 사용하려는 경우 모든 블록을 별도의 "Zones"(tecplot 용어)와 동일한 파일에 쓸 수 있습니다. 별도의 파일 일 필요는 없습니다. 그러나 병렬 I / O는 없습니다. 큰 데이터 세트가 질식합니다. tecplot 파일은 ParaView에로드 할 수 있습니다 (Tecplot은 독점적 임). ASCII 형식은 매우 간단합니다. 약간의 노력으로 바이너리 파일을 tecplot 형식으로 직접 작성할 수 있습니다. TecIO라는 공식 라이브러리가있어 코드를 연결하여 파일을보다 쉽게 ​​만들 수 있습니다.
Abhilash Reddy M

필자는 오픈 소스 인 Silo에 대한 현재의 접근 방식보다 더 효과적이라고 생각하지 않습니다. ASCII 파일은이 문제에 실제로 적용되지 않습니다.
Jannis Teunissen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.