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?
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.