18. HDB file structure
Overview
The HDB file (.hdb) is used for hfVisualizer, which contains both the model input section and analysis result values. The file format is available as text, binary, or HDF5.
- Text: Used for testing purposes and suitable for simple models(
.text.hdb) - Binary: A proprietary binary format(
.bin.hdb) - HDF5: Stored in HDF5 format(
.h5.hdb)
The HDB file structure mirrors that of the analysis input file (.inp), which consists of "Model" + "Analysis Step." However, it is distinct in that the "Analysis Step" stores analysis results over time.

Fig. 18.1-1. HDB file structure
In an HDB file (.hdb), results for each analysis step are saved under a subcommand called *ResultStep. Each *ResultStep corresponds to a *Step in the analysis input file and stores individual analysis results. Subcommands like *Target, *FieldOutputs, *Frame, and *Result are available within it.
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
...
The *Step command defines an analysis step and includes subcommands such as *TargetElements, *TargetConstraints, *TargetLoads, *Output, *NodalDofs, *Frame, and *Result.
*ResultStep
Defines an ResultStep.
*ResultStep Name=name
Keyword line
- name : Name
*TargetElements
Specifies the elements targeted by the ResultStep. Here, elements refer to the output target, not necessarily the elements used in the analysis.
*TargetElements
elset1, elset2, ...
First data line
- elset1, elset2, ...: target elsets
*TargetConstraints
Specifies the constraints targeted by the ResultStep. Here, constraints refer to the output target, not necessarily the constraints used in the analysis.
*TargetConstraints
constraint1, constraint2, ...
First data line
- constraint1, constraint2, ...: target constraints
*TargetLoads
Specifies the loads targeted by the ResultStep.
*TargetLoads
load1, load2, ...
First data line
- load1, load2, ... : target loads
*Output
Indicates the output results included in the ResultStep.
*Output
field|sensorName,...
...
First data line and subsequent data lines
- field, ... : Name of field
- sensorName: Name of the output sensor
This is similar to the *Output in *Step, but it supports specifying secondary fields such as SF.3, S.11, S.Mises.
*NodalDofs
Outputs the degree of freedom pattern for used nodes.
*NodalDofs
id, dofs
...
First data line and subsequent data lines
- id, dofs: Node number and its degree of freedom pattern
This is only provided if nodal fields such as D, V, A are requested in *Output. It is not provided if a scalar nodal field like D.X is requested.
*Frame
Defines a frame in ResultStep.
*Frame, STime=stime, RTime=rtime, LF=lf
*Result, ...
...
*Result, ...
...
Keyword line
- stime: step time
- rtime: real time
- lf: load factor
In frequency analysis, stime represents the natural frequency. The subcommand *Result is available.
*Result
Outputs analysis results within a frame.
*Result, Name=name
id,...
...
Keyword line
- name : Field name or sensor name
First data line and subsequent data lines for nodal or elemental field
- id, .... : Node or element number and associated field values.
First data line and subsequent data lines for sensor
- sensorPointId, dispX, dispY, dispZ, sensorValue: Sensor point ID, displacements (X, Y, Z), and the sensor value at that point.