Result Files
Note: The following specification is subject to change. Scripts that work directly with
.resfiles should therefore expect incompatibilities with new releases of VirtualBow.
Note: For space efficiency reasons, the stress values for each layer aren't stored directly in the result files. Instead, each layer has two constant matrices \(H_{e\mathrm{\ (back/belly)}}\) that relate the longitudinal strains \(\varepsilon\) to the resulting stresses at the back or belly side of the layer as well as two matrices \(H_{k\mathrm{\ (back/belly)}}\) that do the same for the bending curvature \(\kappa\). The total stress is the sum of the stresses due to longitudinal strain and bending curvature and can be calculated as \[\sigma_\mathrm{back} = H_{e,\mathrm{\ back}} \cdot \varepsilon + H_{k,\mathrm{\ back}} \cdot \kappa\] \[\sigma_\mathrm{belly} = H_{e,\mathrm{\ belly}} \cdot \varepsilon + H_{k,\mathrm{\ belly}} \cdot \kappa\] where the dot (\(\cdot\)) represents a matrix-vector multiplication. The result is a vector of stresses corresponding to the nodes of the layer.
P: Number of limb nodes
Q: Number of string nodes
R: Number of layer nodes
| Field | Type | Unit | Description |
|---|---|---|---|
| setup { | |||
| string_length | Double | m | Length of the string |
| string_mass | Double | kg | Mass of the string, including additional masses |
| limb_mass | Double | kg | Mass of the limb, including additional masses |
| limb_properties { | |||
| length | Double[P] | m | Arc lengths of the limb nodes (unbraced) |
| angle | Double[P] | rad | Rotation angles of the limb nodes (unbraced) |
| x_pos | Double[P] | m | X coordinates of the limb nodes (unbraced) |
| y_pos | Double[P] | m | Y coordinates of the limb nodes (unbraced) |
| width | Double[P] | m | Cross section width |
| height | Double[P] | m | Cross section height (all layers) |
| rhoA | Double[P] | kg/m | Linear density of the sections |
| Cee | Double[P] | N | Longitudinal stiffness of the sections |
| Ckk | Double[P] | Nm² | Bending stiffness of the sections |
| Cek | Double[P] | Nm | Coupling between bending and elongation |
| layers [ | |||
| { | |||
| length | Double[R] | m | Arc lengths of the layer nodes |
| He_back | Double[R][P] | N/m² | Stress evaluation matrix (back) |
| Hk_back | Double[R][P] | N/m | Stress evaluation matrix (back) |
| He_belly | Double[R][P] | N/m² | Stress evaluation matrix (belly) |
| Hk_belly | Double[R][P] | N/m | Stress evaluation matrix (belly) |
| } | |||
| { | |||
| ... | |||
| } | |||
| ] | |||
| } | |||
| } | |||
| statics { | |||
| final_draw_force | Double | N | Final draw force |
| drawing_work | Double | J | Drawing work |
| energy storage factor | Double | -- | Energy storage factor |
| max_string_force_index | Integer | -- | Simulation state with maximum absolute string force |
| max_grip_force_index | Integer | -- | Simulation state with maximum absolute grip force |
| max_draw_force_index | Integer | -- | Simulation state with maximum absolute draw force |
| min_stress_value | Double[] | Pa | Minimum stress for each layer |
| min_stress_index | Integer[][] | -- | Simulation state and layer node for each minimum stress value |
| max_stress_value | Double[] | Pa | Maximum stress for each layer |
| max_stress_index | Integer[][] | -- | Simulation state and layer node for each maximum stress value |
| states { | |||
| ... | Sequence of bow states (see table below) | ||
| } | |||
| } | |||
| dynamics { | |||
| final_pos_arrow | Double | m | Position of the arrow at departure |
| final_vel_arrow | Double | m/s | Velocity of the arrow at departure |
| final_e_kin_arrow | Double | J | Kinetic energy of the arrow at departure |
| final_e_pot_limbs | Double | J | Potential energy of the limbs at arrow departure |
| final_e_kin_limbs | Double | J | Kinetic energy of the limbs at arrow departure |
| final_e_pot_string | Double | J | Potential energy of the string at arrow departure |
| final_e_kin_string | Double | J | Kinetic energy of the string at arrow departure |
| efficiency | Double | -- | Degree of efficiency |
| max_string_force_index | Integer | -- | Simulation state with maximum absolute string force |
| max_grip_force_index | Integer | -- | Simulation state with maximum absolute grip force |
| arrow_departure_index | Integer | -- | Simulation state at which the arrow departs with the string |
| min_stress_value | Double[] | Pa | Minimum stress for each layer |
| min_stress_index | Integer[][] | -- | Simulation state and layer node for each stress value |
| max_stress_value | Double[] | Pa | Maximum stress for each layer |
| max_stress_index | Integer[][] | -- | Simulation state and layer node for each stress value |
| states { | |||
| ... | Sequence of bow states (see table below) | ||
| } | |||
| } |
N: Number of simulation steps
P: Number of limb nodes
Q: Number of string nodes
| Field | Type | Unit | Description |
|---|---|---|---|
| states { | |||
| time | Double[N] | s | Time |
| draw_length | Double[N] | m | Draw length |
| draw_force | Double[N] | N | Draw force |
| string_force | Double[N] | N | String force (total) |
| strand_force | Double[N] | N | String force (strand) |
| grip_force | Double[N] | N | Grip force |
| pos_arrow | Double[N] | m | Arrow position |
| vel_arrow | Double[N] | m/s | Arrow velocity |
| acc_arrow | Double[N] | m/s² | Arrow acceleration |
| x_pos_limb | Double[N][P] | m | X coordinates of the limb nodes |
| y_pos_limb | Double[N][P] | m | Y coordinates of the limb nodes |
| angle_limb | Double[N][P] | rad | Rotation angles of the limb nodes |
| epsilon | Double[N][P] | -- | Longitudinal strain at the limb nodes |
| kappa | Double[N][P] | m | Bending curvature at the limb nodes |
| x_pos_string | Double[N][Q] | m | X coordinates of the string nodes |
| y_pos_string | Double[N][Q] | m | Y coordinates of the string nodes |
| e_pot_limbs | Double[N] | J | Potential energy of the limbs |
| e_kin_limbs | Double[N] | J | Kinetic energy of the limbs |
| e_pot_string | Double[N] | J | Potential energy of the string |
| e_kin_string | Double[N] | J | Kinetic energy of the string |
| e_kin_arrow | Double[N] | J | Kinetic energy of the arrow |
| } |