I have created a volumetric mesh using gmsh and then exported it as a .vtk file format (i.e. as an unstructured grid). Then fed this into a vtk program and add different deformations (i.e. scaling, rotate, translation) to this unstructured grid and obtain 100 deformation instances.
Now I need to obtain the displacement vector for each node of the reference geometry (i.e. initial volumetric mesh) compared to each of these deformed instances.
For example, I wrote a code as below in meshio package in order to calculate this displacement for a one particular deformation instance.
My question is that, are the nodes appearing in the same order after deforming the initial geometry (i.e. reference unstructured grid) so that we can obtain by simply subtracting as the below step ?
reference_ellipsoid_file = './Generated_data/reference_geometry/ellipsoid.vtk'
reference_ellipsoid = meshio.read(msh_ellipsoid_file)
deformed_ellipsoid_file = './Generated_data/deformations/dataset/meshes/box_with_ellipsoid0.vtk'
deformed_ellipsoid = meshio.read(deformed_ellipsoid_file)
displacement = deformed_ellipsoid.points - reference_ellipsoid.points