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)