.h5 — MSC Nastran HDF5 결과 데이터베이스 파일

.h5 는 MSC Nastran 이 해석 결과를 저장하는 HDF5 기반 바이너리 결과 데이터베이스 파일이며, 내부적으로 Nastran HDF5 Result Database (NH5RDB) 구조를 따른다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.533].

정의·용도

.h5 파일은 후처리(postprocessor)용으로 생성되는 plot/결과 파일로, .op2 와 더불어 plot 파일 계열에 속한다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.342]. .op2 바이너리 데이터베이스가 PARAM,POST,X (또는 POST Case Control 명령)으로 생성되는 것과 달리, .h5 바이너리 데이터베이스는 Bulk Data Section 에 HDF5OUT 엔트리를 지정해야 생성된다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.342]. 두 파일은 동시에 생성될 수 있으며, 한편 .xdb 파일은 deprecate 되고 있다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.342].

.h5 결과 데이터베이스는 HDF5 표준 포맷이므로 third-party 소프트웨어가 직접 접근할 수 있는 구조이며, 변위 등 결과값을 도메인/엔티티 단위로 조회할 수 있다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.580].

형식 / 필드 / 구문

생성 조건 — HDF5OUT

.h5 바이너리 데이터베이스 파일은 Bulk Data Section 에 HDF5OUT 가 지정될 때 생성된다 [MSC_Nastran_2022.4_Release_Guide.pdf p.190]. HDF5OUT 엔트리에는 정밀도를 제어하는 PRCISION 파라미터가 있으며, 32 이면 정수와 대부분의 실수가 32-bit 로, 64 이면 모든 정수·실수가 64-bit 로 기록된다(단, schema_.xml 에서 type=“double” 로 선언된 일부 실수는 PRCISION=32 에서도 64-bit 로 기록됨) [MSC_Nastran_2022.4_Release_Guide.pdf p.190]. third-party 소프트웨어가 정밀도를 구분할 수 있도록, hdf5 파일 객체에 값이 32 또는 64 인 32-bit 정수 PRECISION 속성(attribute)이 부착된다 [MSC_Nastran_2022.4_Release_Guide.pdf p.190].

HDF5OUT 가 지정되면 MDLPRM 엔트리의 모든 hdf5 관련 파라미터(HDF5, H5INFO, H5INPUT, H5MDL, H5GM34, H5XHH, H5MTX, H5NORDOF, H5SGENL, H5SSTRN)는 무시되며, 이들은 향후 deprecate 될 예정이다 [MSC_Nastran_2022.4_Release_Guide.pdf p.190].

LZ4 또는 BloscLZ 필터로 압축된 hdf5 파일을 보거나 hdf5 유틸리티로 사용하려면 다음 환경변수를 설정해야 한다 [MSC_Nastran_2022.4_Release_Guide.pdf p.190]:

HDF5_PLUGIN_PATH=<msc_nastran_version>/<arch>/lib/hdf5plugin/plugins

내부 구조 (NH5RDB)

NH5RDB 데이터 접근 시, 결과 테이블은 HDF5 트리 경로로 노출된다. 예컨대 도메인 식별자 테이블은 h5.root.NASTRAN.RESULT.DOMAINS 경로에 위치한다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.552]. 데이터를 NH5RDB 데이터베이스로 쓰는 모듈로는 중간 HDF5 포맷 데이터베이스를 생성하는 CRDB_MCR [MSC_Nastran_2022.4_Reference_Guide.pdf p.545], OFP 데이터 블록을 기록하는 CRDB_OUT(한 번 호출에 최대 5개 데이터 블록 전달) 등이 있다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.542].

사용 예

Python(PyTables)으로 .h5 파일을 열어 특정 시간의 절점 변위를 추출하는 예가 매뉴얼에 수록되어 있다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.552]:

fname = "ldr2s400_20160.h5"
h5 = pt.open_file(fname)
...
h5.close()

파일 열기·닫기는 pt.open_file(fname)h5.close() 로 수행한다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.555][MSC_Nastran_2022.4_Reference_Guide.pdf p.557]. Java API(NH5RDB 클래스)를 통한 변위 읽기 예제도 제공된다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.580].

다수의 Case Control 출력 요청은 .op2/.h5 plot 파일로 결과를 내보낼 수 있다. 예를 들어 GVECTOR, SVECTOR, ROTBENT, VINTENSITY, BCONCHK, EQUILIBRIUM 등은 PLOT describer 사용 시 .h5(별표 조건)로 출력된다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.448][MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.649]. 또한 group 정의는 입력 파일에서 .op2 및/또는 .h5 결과 파일로 전달되며, 후처리기가 이를 복원할 수 있다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.1099].

관련 항목

출처

  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.533] — The Nastran HDF5 Result Database (NH5RDB)
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.542] — CRDB_OUT
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.545] — CRDB_MCR
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.552] — 도메인/변위 추출 예제, NASTRAN.RESULT.DOMAINS
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.555] — open h5 input file
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.557] — close file
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.580] — Java NH5RDB 예제
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.342] — .op2/.h5 출력 표, HDF5OUT
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.448] — GVECTOR
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.649] — SVECTOR
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.1099] — group 정의 전달/복원
  • [MSC_Nastran_2022.4_Release_Guide.pdf p.190] — HDF5OUT, PRCISION, PRECISION attribute, HDF5_PLUGIN_PATH