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

Javier Vique
Javier Vique Member, Employee Posts: 84
Second Anniversary 5 Answers 25 Likes 10 Comments
✭✭✭✭

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: 84
    Second Anniversary 5 Answers 25 Likes 10 Comments
    ✭✭✭✭

    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.