Why dpf reads some extra nodes when the model includes beam elements?

Options
Javier Vique
Javier Vique Member, Employee Posts: 74
First Answer First Anniversary Name Dropper 5 Likes

If a model includes beam elements, we can see that the number of nodes coming from MeshData and those read by dpf mesh_provider does not match. Why? Is dpf including some "artificial" nodes?

Tagged:

Comments

  • Javier Vique
    Javier Vique Member, Employee Posts: 74
    First Answer First Anniversary Name Dropper 5 Likes
    Options

    Below a test script which gets nodes ids coming from MeshData and those coming from dpf operator mesh_provider.

    import mech_dpf
    import Ans.DataProcessing as dpf
    import os
    
    analysis = ExtAPI.DataModel.Project.Model.Analyses[0]
    nodes_MeshData = analysis.MeshData.NodeIds
    
    dataSource = dpf.DataSources(analysis.ResultFileName)
    model=dpf.Model(dataSource)
    mesh_op = dpf.operators.mesh.mesh_provider()
    mesh_op.inputs.data_sources.Connect(dataSource)
    mesh = mesh_op.outputs.mesh.GetData()
    nodes_dpf = mesh.NodeIds
    

    If user keeps the default keyopt settings, apparently nodes_dpf seems to be wrong. It has more nodes than those seen in rst file (including orientation nodes). However, this is due to KEYOPT(3) of BEAM188 elements, which is automatically creating some internal nodes. This can be verified in the notes message in solve.out. If user wants to avoid this happening, KEYOPT(3) can be set as 0.