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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions