Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,6 @@ def close_windows(

def _open_window(self, window_id: str) -> Union[Plotter, _ProcessPlotterHandle]:
window = self._post_windows.get(window_id)
plotter = None
if (
window
and not window.plotter.is_closed()
Expand Down
4 changes: 2 additions & 2 deletions src/ansys/fluent/visualization/matplotlib/plotter_defns.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class Plotter:
def __init__(
self,
window_id: str,
curves: Optional[List[str]] = [],
curves: Optional[List[str]] = None,
title: Optional[str] = "XY Plot",
xlabel: Optional[str] = "position",
ylabel: Optional[str] = "",
Expand All @@ -39,7 +39,7 @@ def __init__(
remote_process: bool, optional
Is remote process.
"""
self._curves = curves
self._curves = [] if curves is None else curves
self._title = title
self._xlabel = xlabel
self._ylabel = ylabel
Expand Down
25 changes: 14 additions & 11 deletions src/ansys/fluent/visualization/post_data_extractor.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@
import numpy as np


class ServerDataRequestError(RuntimeError):
"""Exception class for server data errors."""

def __init__(self):
super().__init__("Error while requesting data from server.")


class FieldDataExtractor:
"""FieldData DataExtractor."""

Expand Down Expand Up @@ -67,8 +74,8 @@ def _fetch_mesh_data(self, obj, *args, **kwargs):
fields = transaction.get_fields()
# 0 is old tag
surfaces_data = fields.get(0) or fields[(("type", "surface-data"),)]
except:
raise RuntimeError("Error while requesting data from server.")
except Exception as e:
raise ServerDataRequestError() from e
finally:
obj._post_display()
return surfaces_data
Expand Down Expand Up @@ -104,9 +111,6 @@ def _fetch_contour_data(self, obj, *args, **kwargs):
# contour properties
obj._pre_display()
field = obj.field()
range_option = obj.range.option()
filled = obj.filled()
contour_lines = obj.contour_lines()
node_values = obj.node_values()
boundary_values = obj.boundary_values()

Expand Down Expand Up @@ -158,8 +162,8 @@ def _fetch_contour_data(self, obj, *args, **kwargs):
]
)
surface_data = fields.get(0) or fields[(("type", "surface-data"),)]
except Exception:
raise RuntimeError("Error while requesting data from server.")
except Exception as e:
raise ServerDataRequestError() from e
finally:
obj._post_display()
return self._merge(surface_data, scalar_field_data)
Expand All @@ -169,7 +173,6 @@ def _fetch_pathlines_data(self, obj, *args, **kwargs):
raise RuntimeError("Ptahline definition is incomplete.")
obj._pre_display()
field = obj.field()
surfaces_list = obj.surfaces_list()

field_info = obj._api_helper.field_info()
field_data = obj._api_helper.field_data()
Expand All @@ -188,7 +191,7 @@ def _fetch_pathlines_data(self, obj, *args, **kwargs):
fields = transaction.get_fields()
pathlines_data = fields[(("type", "pathlines-field"), ("field", field))]
except Exception as e:
raise RuntimeError("Error while requesting data from server." + str(e))
raise ServerDataRequestError() from e
finally:
obj._post_display()
return pathlines_data
Expand Down Expand Up @@ -241,8 +244,8 @@ def _fetch_vector_data(self, obj, *args, **kwargs):
]
)
surface_data = fields.get(0) or fields[(("type", "surface-data"),)]
except:
raise RuntimeError("Error while requesting data from server.")
except Exception as e:
raise ServerDataRequestError() from e
finally:
obj._post_display()
data = self._merge(surface_data, vector_field)
Expand Down
29 changes: 11 additions & 18 deletions src/ansys/fluent/visualization/pyvista/pyvista_windows_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@ def _display_vector(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter]):
if "vertices" not in mesh_data or "faces" not in mesh_data:
continue
mesh_data["vertices"].shape = mesh_data["vertices"].size // 3, 3
mesh_data[obj.vectors_of()].shape = (
mesh_data[obj.vectors_of()].size // 3,
mesh_data[vectors_of].shape = (
mesh_data[vectors_of].size // 3,
3,
)
vector_scale = mesh_data["vector-scale"][0]
Expand All @@ -198,12 +198,12 @@ def _display_vector(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter]):
mesh_data["vertices"],
faces=mesh_data["faces"],
)
mesh.cell_data["vectors"] = mesh_data[obj.vectors_of()]
mesh.cell_data["vectors"] = mesh_data[vectors_of]
scalar_field = mesh_data[obj.field()]
velocity_magnitude = np.linalg.norm(mesh_data[obj.vectors_of()], axis=1)
velocity_magnitude = np.linalg.norm(mesh_data[vectors_of], axis=1)
if obj.range.option() == "auto-range-off":
auto_range_off = obj.range.auto_range_off
range = [auto_range_off.minimum(), auto_range_off.maximum()]
range_ = [auto_range_off.minimum(), auto_range_off.maximum()]
if auto_range_off.clip_to_range():
velocity_magnitude = np.ma.masked_outside(
velocity_magnitude,
Expand All @@ -213,9 +213,9 @@ def _display_vector(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter]):
else:
auto_range_on = obj.range.auto_range_on
if auto_range_on.global_range():
range = field_info.get_scalar_field_range(obj.field(), False)
range_ = field_info.get_scalar_field_range(obj.field(), False)
else:
range = [np.min(scalar_field), np.max(scalar_field)]
range_ = [np.min(scalar_field), np.max(scalar_field)]

if obj.skip():
vmag = np.zeros(velocity_magnitude.size)
Expand All @@ -233,7 +233,7 @@ def _display_vector(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter]):
glyphs,
scalars=field,
scalar_bar_args=scalar_bar_args,
clim=range,
clim=range_,
)
if obj.show_edges():
plotter.add_mesh(mesh, show_edges=True, color="white")
Expand All @@ -246,7 +246,6 @@ def _display_pathlines(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter])
field = obj.field()
field_unit = obj._api_helper.get_field_unit(field)
field = f"{field}\n[{field_unit}]" if field_unit else field
node_values = True

# scalar bar properties
scalar_bar_args = self._scalar_bar_default_properties()
Expand All @@ -262,10 +261,7 @@ def _display_pathlines(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter])
lines=surface_data["lines"],
)

if node_values:
mesh.point_data[field] = surface_data[obj.field()]
else:
mesh.cell_data[field] = surface_data[obj.field()]
mesh.point_data[field] = surface_data[obj.field()]
plotter.add_mesh(
mesh,
scalars=field,
Expand All @@ -285,7 +281,6 @@ def _display_contour(self, obj, plotter: Union[BackgroundPlotter, pv.Plotter]):
filled = obj.filled()
contour_lines = obj.contour_lines()
node_values = obj.node_values()
boundary_values = obj.boundary_values()

# scalar bar properties
scalar_bar_args = self._scalar_bar_default_properties()
Expand Down Expand Up @@ -483,7 +478,7 @@ def __init__(self):
self._post_windows: Dict[str:PyVistaWindow] = {}
self._plotter_thread: threading.Thread = None
self._post_object: GraphicsDefn = None
self._window_id: str = None
self._window_id: Optional[str] = None
self._exit_thread: bool = False
self._app = None

Expand Down Expand Up @@ -537,7 +532,7 @@ def open_window(self, window_id: Optional[str] = None) -> str:
if not window_id:
window_id = self._get_unique_window_id()
if in_notebook() or get_config()["blocking"]:
window = self._open_window_notebook(window_id)
self._open_window_notebook(window_id)
else:
self._open_and_plot_console(None, window_id)
return window_id
Expand Down Expand Up @@ -770,7 +765,6 @@ def _open_and_plot_console(

def _open_window_notebook(self, window_id: str) -> pv.Plotter:
window = self._post_windows.get(window_id)
plotter = None
if window and not window.close and window.refresh:
window.refresh = False
else:
Expand All @@ -785,7 +779,6 @@ def _plot_notebook(
window.post_object = obj
window.fetch_data = fetch_data
window.overlay = overlay
plotter = window.plotter
window.plot()

def _get_windows_id(
Expand Down