18. HDB file structure
개요
HDB 파일(.hdb)은 hfVisualizer에서 사용되는 파일로 모델 입력 부분과 해석결과값을 담고 있다. 파일 포맷은 텍스트, 바이너리, HDF5 파일로 제공된다.
- 텍스트 : 테스트 용도이다. 간단한 모델에서 유효하다(
.text.hdb) - 바이너리 : 자체 형식을 갖는 바이너리 파일이다(
.bin.hdb) - HDF5 : HDF5 형식으로 저장한다(
.h5.hdb)
HDB 파일은 “모델” + “해석단계”로 구분되는 해석용 입력 파일(.inp) 구조와 동일하지만, “해석단계”에서 해석 결과를 시간에 따라 저장한다는 점에서 차별성이 있다.

Fig. 18.1-1. HDB file structure
HDB 파일에서 해석 단계별 결과는 *ResultStep이라는 하위 명령에 저장된다. *ResultStep은 해석용 입력파일의 *Step에 대응되며, 각각의 해석 결과를 저장하고 있다. *Target, *FieldOutputs, *Frame, *Result 등의 부명령어가 있다.
Example
...
*ResultStep, Name=step1
*TargetElements
step1Elset
*TargetConstraints
support
*TargetLoads
load-DC
*Output
D, SF, sensor1
*NodalDofs
1002001, X|Y|Z|RX|RY|RZ # nodeId, dofs
1002002, X|Y|Z
...
*SensorInfo, Sensor=sensor1
1, 1011023 # sensorPointId, elementId
...
*Frame,STime=0,RTime=0,LF=0
*Result, Field=D
1002001, 0, 0, 0, 0, 0, 0 # nodeId, v1, v2, ...
1002002, 0, 0, 0
...
*Result, Field=SF
1 0. 0. 0. 0. 0. 0. # elementId, v1, v2, ...
2 0. 10. 1. 0. 1. 0.
...
*Result, Field=sensor1
1, 0, 0, 0, 0 # pointId, dx, dy, dz, value
...
*Frame,STime=0.1,RTime=0,LF=0
*Result, Field=D
1002001, 1, 0, 1, 0, 0, 0
1002002, 0, 2, 1
...
*Result, Field=SF
1 0. 0. 0. 0. 0. 0.
2 0. 10. 1. 0. 1. 0.
...
*Result, Field=sensor1
1, 0.001, 0, 0, 1.2 # pointId, dx, dy, dz, value
...
*ResultStep, Name=step2
...
*ResultStep, Name=step3
...
*Step 명령으로 해석단계를 정의하며, *TargetElements, *TargetConstraints, *TargetLoads, *Output, *NodalDofs, *Frame, *Result 등의 부명령어가 있다.
*ResultStep
ResultStep을 정의한다.
*ResultStep Name=name
Keyword line
- name : 이름
*TargetElements
ResultStep의 대상이 되는 요소를 지정한다. 이때 요소는 해석에 사용된 요소를 의미하는 것은 아니며, 출력의 대상을 지칭한다.
*TargetElements
elset1, elset2, ...
First dataline
- elset1, elset2, ...: 대상 요소집합
*TargetConstraints
ResultStep의 대상이 되는 구속조건을 지정한다. 이때 구속조건은 해석에 사용된 구속조건을 의미하는 것은 아니며, 출력의 대상을 지칭한다.
*TargetConstraints
constraint1, constraint2, ...
First dataline
- constraint1, constraint2, ...: 대상 구속조건
*TargetLoads
ResultStep의 대상이 되는 하중을 지정한다.
*TargetLoads
load1, load2, ...
First dataline
- load1, load2, ... : 대상 하중
*Output
출력되는 결과값이 무엇인지 알린다.
*Output
field|sensorName,...
...
First dataline and subsequent datalines
- field, ... : Name of field
- sensorName: 출력한 센서 명칭
*Step 하위의 *Output과 동일하다. 다만 field는 SF.3, S.11, S.Mises 등과 같은 secondary field를 지정하는 것을 지원한다.
*NodalDofs
사용된 절점의 자유도 패턴을 출력한다.
*NodalDofs
id, dofs
...
First dataline and subsequent datalines
- id, dofs: 절점 번호와 그 절점의 자유도 패턴
*Output에서 D, V, A 등과 같이 절점 필드를 요청한 경우에만 제공된다. D.X 등과 같이 절점 필드라 하더라도 스칼라를 요청한 경우에는 제공되지 않는다.
*Frame
ResultStep의 프레임을 정의한다.
*Frame, STime=stime, RTime=rtime, LF=lf
*Result, ...
...
*Result, ...
...
Keyword line
- stime: 스텝 시간(step time)
- rtime: 실제 시간(real time)
- lf: 하중계수(load factor)
주파수 해석에서는 stime이 고유진동수이다. 하위 명령으로 *Result이 존재한다.
*Result
Frame내의 해석결과를 출력한다.
*Result, Name=name
id,...
...
Keyword line
- name : 필드 명칭 또는 센서 명칭
First dataline and subsequent datalines for nodal or elemental field
- id, .... : 절점 또는 요소 번호와 관련된 필드 값.
First dataline and subsequent datalines for sensor
- sensorPointId, dispX, dispY, dispZ, sensorValue: 센서 포인트 아이디와 그 점에서 발생한 변위와 센서값.