Skip to content

Wrong offset in 'element_beam_node_indexes' #91

@FlorianFritz

Description

@FlorianFritz

Accoring to the LS-DYNA® Database Binary Output Files Manual, Section GEOMETRY DATA (Page 18) the Array IX2(6,1) contains

Connectivity, orientation node, two null entries, and the material number for each 2 node beam element.
For some beam types the last two number contain the beam type and length to width ratio * 100 and length to height ratio * 100
type = ix2(5,*) & 0x3F
width = 0.01 * length / (ix2(5,*)>>6
height = 0.01 * length / ix2(6,*)
Third node (orientation) may be > 1e9 Contain flag 1e9 to indicate a spot weld

My interpretation of this is the array layout is this:

  • [N1, N2, N3, 0, 0, MAT_ID] for 2-Node-Beams
  • [N1, N2, N3, LW_RATIO_TYPE, LH_RATIO, MAT_ID] for some other Beams

In Line 2426 you subtract the FORTRAN_OFFSET (1) from all values of the array, but this is not correct. The offset should only be applied for N1, N2, N3 and must not be applied for LW_RATIO_TYPE, LH_RATIO. Otherwise the extraction of these values does not work (without having to add 1 again).

# element_beam_node_indexes = d3plot.arrays[ArrayType.element_beam_node_indexes]
beam_type = element_beam_node_indexes[3] & 0x3F
beam_width = 100 * L / (element_beam_node_indexes[3] >> 6)
beam_height = 100 * L / element_beam_node_indexes[4]

One could also think of adding a new array with these values

  • element_beam_node_indexes containing N1, N2, N3 and TYPE (all integer values)
  • element_beam_dimensions containing WIDTH and HEIGHT (all float values)

In Line 2424 you add the MAT_ID to the PART_ID (Array element_beam_part_indexes). Is this correct?

Kind regards
Florian

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions