ogstools.meshlib.mesh_series module#
A class to handle Meshseries data.
- class ogstools.meshlib.mesh_series.MeshSeries[source]#
Bases:
object
A wrapper around pyvista and meshio for reading of pvd and xdmf timeseries.
Will be replaced by own module in ogstools with similar interface.
Initialize a MeshSeries object
- param filepath:
Path to the PVD or XDMF file.
- param time_unit:
Data unit of the timevalues.
- returns:
A MeshSeries object
- __init__(filepath, time_unit='s')[source]#
Initialize a MeshSeries object
- param filepath:
Path to the PVD or XDMF file.
- param time_unit:
Data unit of the timevalues.
- returns:
A MeshSeries object
- Parameters:
filepath (str | Path)
time_unit (str | None)
- Return type:
None
- property hdf5: File#
- read(timestep, lazy_eval=True)[source]#
Lazy read function.
- Parameters:
timestep (int)
lazy_eval (bool)
- Return type:
UnstructuredGrid
- property timesteps: range#
Return the timesteps of the timeseries data.
- property timevalues: ndarray#
Return the timevalues of the timeseries data.
- closest_timestep(timevalue)[source]#
Return the corresponding timestep from a timevalue.
- Parameters:
timevalue (float)
- Return type:
int
- closest_timevalue(timevalue)[source]#
Return the closest timevalue to a timevalue.
- Parameters:
timevalue (float)
- Return type:
float
- read_closest(timevalue)[source]#
Return the closest timestep in the data for a given timevalue.
- Parameters:
timevalue (float)
- Return type:
UnstructuredGrid
- read_interp(timevalue, lazy_eval=True)[source]#
Return the temporal interpolated mesh for a given timevalue.
- Parameters:
timevalue (float)
lazy_eval (bool)
- Return type:
UnstructuredGrid
- values(data_name)[source]#
Get the data in the MeshSeries for all timesteps.
- Parameters:
data_name (str) – Name of the data in the MeshSeries.
- Returns:
A numpy array of the requested data for all timesteps
- Return type:
ndarray
- aggregate(mesh_property, func)[source]#
Aggregate data over all timesteps using a specified function.
- Parameters:
mesh_property (Property | str) – The mesh property to be aggregated. If given as type Property, the
transform()
function will be applied on each timestep and aggregation afterwards.func (Literal['min', 'max', 'mean', 'median', 'sum', 'std', 'var']) – The aggregation function to apply. It must be one of “min”, “max”, “mean”, “median”, “sum”, “std”, “var”, where the equally named numpy function will be used to aggregate over all timesteps or “min_time” or “max_time”, which return the timevalue when the limit occurs.
- Returns:
A mesh with aggregated data according to the given function.
- Return type:
UnstructuredGrid
- probe(points, data_name, interp_method=None, interp_backend_pvd=None)[source]#
Probe the MeshSeries at observation points.
- Parameters:
points (ndarray) – The points to sample at.
data_name (str) – Name of the data to sample.
interp_method (Literal['nearest', 'linear', 'probefilter'] | None) – Choose the interpolation method, defaults to linear for xdmf MeshSeries and probefilter for pvd MeshSeries.
interp_backend – Interpolation backend for PVD MeshSeries.
interp_backend_pvd (Literal['vtk', 'scipy'] | None)
- Returns:
numpy array of interpolated data at observation points.
- Return type:
ndarray