Source code for felupe.view._xdmf

# -*- coding: utf-8 -*-
"""
This file is part of FElupe.

FElupe is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

FElupe is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with FElupe.  If not, see <http://www.gnu.org/licenses/>.
"""

from ._scene import Scene


[docs] class ViewXdmf(Scene): # pragma: no cover """Provide Visualization methods for a XDMF file generated by :meth:`Job.evaluate(filename="result.xdmf")`. The warped (deformed) mesh is created from the values of the point-data "Displacement". Parameters ---------- filename : str The filename of the XDMF file (including the extension). time : float, optional The time value at which the data is extracted (default is 0). Attributes ---------- mesh : pyvista.UnstructuredGrid A generalized Dataset with the mesh as well as point- and cell-data. This is not an instance of :class:`felupe.Mesh`. """ def __init__( self, filename, time=0, ): "XDMF Result file reader and plotter." self.filename = filename self.mesh = self._read(time) def _read(self, time): "Read the file and obtain the mesh." import pyvista as pv self.file = pv.XdmfReader(self.filename) self.file.set_active_time_value(time) mesh = self.file.read()[0] return mesh def set_active_time_value(self, time): "Set new active time value and re-read the mesh." self.mesh = self._read(time)