VTUinterface is a python package for easy accessing VTU/PVD files as outputed by Finite Element software like OpenGeoSys. It uses the VTK python wrapper and linear interpolation between time steps and grid points to access any points in space and time within the simulation domain.
VTUinterface together with ogs6py can be viewed in action here:
Note: VTUinterface requires the vtk wrapper for python. Alternatively, a version based on MESHIO is also under development. clone the repository and use pip to install the package
# pip install [--user] https://github.com/joergbuchwald/VTUinterface/archive/refs/heads/master.zipYou can find the documentation under https://joergbuchwald.github.io/VTUinterface-doc/
Although, a python package, VTUinterface is tested to work through PyCall under julia as well:
As the input data is triangulated with QHull for the linear interpolation it might fail at boundaries or if a wrong input dimension is given. Possible solutions:
- In order for interpolation to work correctly providing the correct dimension (set via
dimkeyword) of the problem is crucial. - As the
dimkeyword specifies also the coordinates to use, VTUinterface assumes thatdim=1refers to the x coordinate anddim=2implies that the problem lies in the xy-plane by default. This can be changed by specifyingone_d_axisfor one dimension ortwo_d_planenormalfor two dimensions. - For some meshes it might help to adjust the number of points taken into account by the triangulation, which can be done using the
nneighborskeyword. Default value is 20. - Especially along boundaries, linear interpolation with the QHULL method often fails, this can be resolved bei using nearest neighbor interpolation.
- Alternatively, you can change now the
interpolation_backendfrom scipy to vtk and try out different interpolation kernels.
