2016-09-15 8 views
1

각 시간 단계마다 C/C++ 시뮬레이션 코드에서 vtk 파일로 데이터를 인쇄합니다. 번호가 매겨진 데이터 파일을 만듭니다 (예 : data.000.vtk, data.001.vtk, ...).paraView 애니메이션을 위해 C++ 코드에서 ASCII vtk 파일까지 시간을 포함하는 방법

각 vtk 파일에 구조화 된 그리드 데이터가 포함 된 각 계산 단계에서 시간을 포함시켜 애니메이션 중에 paraView로 시간 (초)을 볼 수 있도록하는 데 문제가 있습니다.

어쨌든 가능합니까? 귀하의 도움은 정말로 감사하겠습니다.

+1

문제가 무엇인지 구체적으로 설명해 주실 수 있습니까? 표준 VTK 파일 형식 (http://www.vtk.org/VTK/img/file-formats.pdf에서 문서화 됨)은 구조화 된 격자를 지원합니다. 번호가 매겨진 일련의 파일 (예 : data001.vtk, data002.vtk, data003.vtk, ...)을 만들면 ParaView에서 해당 파일을 시간 순서대로 읽습니다. 어떤 특정 부분이 당신을 위해 작동하지 않거나 누락 된 특정 기능이 있습니까? –

+0

응답 해 주셔서 대단히 감사드립니다. 정확히, 일련의 파일 (예 : data001.vtk, data002.vtk, data003.vtk, ...)을 만듭니다.이 숫자는 시간 루프 번호입니다. 애니메이션의 루프 번호가 아닌 시간 (초)을 볼 수 있도록 vtk 파일에 계산의 각 단계에서 시간 (초)을 포함시켜야합니다. –

답변

1

불행히도 레거시 VTK 파일 형식으로 시뮬레이션 시간을 기록 할 방법이 없습니다. 따라서 시뮬레이션에서 ParaView로 시간을 보내려면 다른 파일 형식을 사용해야합니다.

시뮬레이션 시간을 기록하는 가장 쉬운 방법은 ParaView Data (PVD) 파일을 사용하는 것입니다. PVD 파일은 데이터 파일 그룹에 대한 메타 데이터를 캡처하는 간단한 XML 파일이며 시간 값 정보는 캡처 할 수있는 것 중 하나입니다. PVD 형식에 대한 간단한 설명은 http://www.paraview.org/Wiki/ParaView/Data_formats#PVD_File_Format입니다. 이 페이지의 예제에는 0부터 시작하는 정수인 "timestep"값이 있지만 부동 소수점 시퀀스로 대체 할 수 있습니다.

PVD 파일 자체는 데이터 자체를 보유하지 않습니다. 오히려 실제 데이터가있는 다른 파일을 가리 킵니다. 그것이 지시하는 데이터 파일은 새로운 XML 기반 VTK 파일 형식 (구조화 된 데이터의 특성에 따라 vti, vtr 또는 vts)에 있어야합니다. XML 기반 VTK 파일 형식은 http://www.vtk.org/VTK/img/file-formats.pdf (레거시 VTK 형식에 대한 설명서 뒤에서)에도 설명되어 있습니다.

+0

대단히 감사합니다. 이 문제를 해결해야합니다, 정말 감사드립니다. –