ansys-fluent-visualization 0.19.dev0__tar.gz → 0.19.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/PKG-INFO +3 -5
  2. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/pyproject.toml +3 -5
  3. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/__init__.py +5 -3
  4. ansys_fluent_visualization-0.19.2/src/ansys/fluent/visualization/containers.py +235 -0
  5. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/graphics_windows.py +27 -3
  6. ansys_fluent_visualization-0.19.dev0/src/ansys/fluent/visualization/containers.py +0 -89
  7. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/AUTHORS +0 -0
  8. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/LICENSE +0 -0
  9. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/README.rst +0 -0
  10. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/_config.py +0 -0
  11. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/contour.py +0 -0
  12. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/__init__.py +0 -0
  13. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/abstract_graphics_defns.py +0 -0
  14. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/graphics_objects.py +0 -0
  15. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/graphics_windows_manager.py +0 -0
  16. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/pyvista/__init__.py +0 -0
  17. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/graphics/pyvista/graphics_defns.py +0 -0
  18. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/matplotlib/__init__.py +0 -0
  19. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/__init__.py +0 -0
  20. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/abstract_plotter_defns.py +0 -0
  21. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/matplotlib/__init__.py +0 -0
  22. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/matplotlib/plotter_defns.py +0 -0
  23. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/plotly/__init__.py +0 -0
  24. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/plotly/plotter_defns.py +0 -0
  25. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/plotter_objects.py +0 -0
  26. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/plotter_windows.py +0 -0
  27. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/plotter_windows_manager.py +0 -0
  28. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/pyvista/__init__.py +0 -0
  29. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/plotter/pyvista/plotter_defns.py +0 -0
  30. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/post_data_extractor.py +0 -0
  31. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/post_windows_manager.py +0 -0
  32. {ansys_fluent_visualization-0.19.dev0 → ansys_fluent_visualization-0.19.2}/src/ansys/fluent/visualization/pyvista/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ansys-fluent-visualization
3
- Version: 0.19.dev0
3
+ Version: 0.19.2
4
4
  Summary: A python wrapper for ansys Fluent visualization
5
5
  License: MIT
6
6
  Author: ANSYS, Inc.
@@ -16,15 +16,13 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
- Requires-Dist: ansys-fluent-core (>=0.30.dev2,<1.0)
19
+ Requires-Dist: ansys-fluent-core (>=0.30.0)
20
20
  Requires-Dist: imageio (>=2.36.1)
21
21
  Requires-Dist: importlib-metadata (>=4.0,<5.0) ; python_version < "3.9"
22
22
  Requires-Dist: matplotlib (>=3.6.0)
23
- Requires-Dist: plotly (>=5.24.0)
24
23
  Requires-Dist: pyside6 (>=6.8.1,<6.9.0)
25
- Requires-Dist: pyvista[jupyter] (>=0.44.0)
24
+ Requires-Dist: pyvista (>=0.44.0)
26
25
  Requires-Dist: pyvistaqt (>=0.11.1,<0.12.0)
27
- Requires-Dist: vtk (<9.4.0) ; python_version < "3.13"
28
26
  Project-URL: Documentation, https://visualization.fluent.docs.pyansys.com/
29
27
  Project-URL: Repository, https://github.com/ansys/pyfluent-visualization
30
28
  Project-URL: Source, https://github.com/ansys/pyfluent-visualization
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
5
5
  [tool.poetry]
6
6
  # Check https://python-poetry.org/docs/pyproject/ for all available sections
7
7
  name = "ansys-fluent-visualization"
8
- version = "0.19.dev0"
8
+ version = "0.19.2"
9
9
  description = "A python wrapper for ansys Fluent visualization"
10
10
  license = "MIT"
11
11
  authors = ["ANSYS, Inc. <ansys.support@ansys.com>"]
@@ -25,13 +25,11 @@ packages = [
25
25
  [tool.poetry.dependencies]
26
26
  python = ">=3.10,<4.0"
27
27
  importlib-metadata = {version = "^4.0", python = "<3.9"}
28
- ansys-fluent-core = "~=0.30.dev2"
29
- pyvista = { version = ">=0.44.0", extras = ["jupyter"]}
28
+ ansys-fluent-core = ">=0.30.0"
29
+ pyvista = ">=0.44.0"
30
30
  matplotlib = ">=3.6.0"
31
- vtk = {version = "<9.4.0", python = "<3.13"}
32
31
  pyvistaqt = "~=0.11.1"
33
32
  pyside6 = "~=6.8.1"
34
- plotly = ">=5.24.0"
35
33
  imageio= ">=2.36.1"
36
34
 
37
35
  [tool.poetry.urls]
@@ -27,7 +27,7 @@ try:
27
27
  except ModuleNotFoundError:
28
28
  import importlib_metadata
29
29
 
30
- _VERSION_INFO = "Build date: March 11, 2025 08:48 UTC ShaID: 45ba314"
30
+ _VERSION_INFO = "Build date: March 27, 2025 11:52 UTC ShaID: 7cc8ccc"
31
31
  __version__ = importlib_metadata.version(__name__.replace(".", "-"))
32
32
  PLOTTER = "matplotlib"
33
33
  SINGLE_WINDOW = False
@@ -35,13 +35,15 @@ SINGLE_WINDOW = False
35
35
 
36
36
  def version_info() -> str:
37
37
  """Method returning the version of PyFluent being used.
38
+
38
39
  Returns
39
40
  -------
40
41
  str
41
42
  The PyFluent version being used.
43
+
42
44
  Notes
43
- -------
44
- Only available in packaged versions. Otherwise it will return __version__.
45
+ -----
46
+ Only available in packaged versions. Otherwise it will return __version__.
45
47
  """
46
48
  return _VERSION_INFO if _VERSION_INFO is not None else __version__
47
49
 
@@ -0,0 +1,235 @@
1
+ # Copyright (C) 2022 - 2025 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ """Containers for graphics."""
24
+
25
+ from ansys.fluent.visualization.graphics import Graphics
26
+ from ansys.fluent.visualization.plotter import Plots
27
+
28
+
29
+ class _GraphicsContainer:
30
+ """Base class for graphics containers."""
31
+
32
+ def __getattr__(self, attr):
33
+ return getattr(self.obj, attr)
34
+
35
+ def __setattr__(self, attr, value):
36
+ setattr(self.obj, attr, value)
37
+
38
+
39
+ class Mesh(_GraphicsContainer):
40
+ """Mesh.
41
+
42
+ Examples
43
+ --------
44
+ >>> from ansys.fluent.visualization import Mesh
45
+
46
+ >>> # `solver_session` is a live Fluent session with a case
47
+ >>> # and data which contains the following surfaces
48
+
49
+ >>> mesh_object = Mesh(
50
+ >>> solver=solver_session, show_edges=True, surfaces=["in1", "in2", "in3"]
51
+ >>> )
52
+ """
53
+
54
+ def __init__(self, solver, **kwargs):
55
+ """__init__ method of Mesh class."""
56
+ self.__dict__["obj"] = Graphics(session=solver).Meshes.create(**kwargs)
57
+
58
+
59
+ class Surface(_GraphicsContainer):
60
+ """Surface.
61
+
62
+ Examples
63
+ --------
64
+ >>> from ansys.fluent.visualization import Surface
65
+
66
+ >>> # `solver_session` is a live Fluent session with a case file loaded
67
+
68
+ >>> # For plane-surface
69
+ >>> surf_xy_plane = Surface(
70
+ >>> solver=solver_session,
71
+ >>> type="plane-surface",
72
+ >>> creation_method="xy-plane",
73
+ >>> z=-0.0441921
74
+ >>> )
75
+
76
+ >>> # For iso-surface
77
+ >>> surf_outlet_plane = Surface(solver=solver_session)
78
+ >>> surf_outlet_plane.type = "iso-surface"
79
+ >>> surf_outlet_plane.field = "y-coordinate"
80
+ >>> surf_outlet_plane.iso_value = -0.125017
81
+ """
82
+
83
+ def __init__(self, solver, **kwargs):
84
+ """__init__ method of Surface class."""
85
+ self.__dict__.update(
86
+ dict(
87
+ type=kwargs.pop("type", None),
88
+ creation_method=kwargs.pop("creation_method", None),
89
+ x=kwargs.pop("x", None),
90
+ y=kwargs.pop("y", None),
91
+ z=kwargs.pop("z", None),
92
+ field=kwargs.pop("field", None),
93
+ iso_value=kwargs.pop("iso_value", None),
94
+ rendering=kwargs.pop("rendering", None),
95
+ obj=Graphics(session=solver).Surfaces.create(**kwargs),
96
+ )
97
+ )
98
+ for attr in [
99
+ "type",
100
+ "creation_method",
101
+ "x",
102
+ "y",
103
+ "z",
104
+ "field",
105
+ "iso_value",
106
+ "rendering",
107
+ ]:
108
+ val = getattr(self, attr)
109
+ if val is not None:
110
+ setattr(self, attr, val)
111
+
112
+ def __setattr__(self, attr, value):
113
+ if attr == "type":
114
+ self.obj.definition.type = value
115
+ elif attr == "creation_method":
116
+ self.obj.definition.plane_surface.creation_method = value
117
+ elif attr == "z":
118
+ assert self.obj.definition.plane_surface.creation_method() == "xy-plane"
119
+ self.obj.definition.plane_surface.xy_plane.z = value
120
+ elif attr == "y":
121
+ assert self.obj.definition.plane_surface.creation_method() == "zx-plane"
122
+ self.obj.definition.plane_surface.zx_plane.y = value
123
+ elif attr == "x":
124
+ assert self.obj.definition.plane_surface.creation_method() == "yz-plane"
125
+ self.obj.definition.plane_surface.yz_plane.x = value
126
+ elif attr == "field":
127
+ self.obj.definition.iso_surface.field = value
128
+ elif attr == "iso_value":
129
+ self.obj.definition.iso_surface.iso_value = value
130
+ elif attr == "rendering":
131
+ self.obj.definition.iso_surface.rendering = value
132
+ else:
133
+ setattr(self.obj, attr, value)
134
+
135
+
136
+ class Contour(_GraphicsContainer):
137
+ """Contour.
138
+
139
+ Examples
140
+ --------
141
+ >>> from ansys.fluent.visualization import Contour
142
+
143
+ >>> # `solver_session` is a live Fluent session with a case
144
+ >>> # and data which contains the following surfaces
145
+
146
+ >>> temperature_contour_object = Contour(
147
+ >>> solver=solver_session, field="temperature", surfaces=["in1", "in2", "in3",]
148
+ >>> )
149
+ """
150
+
151
+ def __init__(self, solver, **kwargs):
152
+ """__init__ method of Contour class."""
153
+ self.__dict__["obj"] = Graphics(session=solver).Contours.create(**kwargs)
154
+
155
+
156
+ class Vector(_GraphicsContainer):
157
+ """Vector.
158
+
159
+ Examples
160
+ --------
161
+ >>> from ansys.fluent.visualization import Vector
162
+
163
+ >>> # `solver_session` is a live Fluent session with a case
164
+ >>> # and data which contains the following surfaces
165
+
166
+ >>> velocity_vector_object = Vector(
167
+ >>> solver=solver_session,
168
+ >>> field="x-velocity",
169
+ >>> surfaces=["solid_up:1:830"],
170
+ >>> scale=2,
171
+ >>> )
172
+ """
173
+
174
+ def __init__(self, solver, **kwargs):
175
+ """__init__ method of Vector class."""
176
+ self.__dict__["obj"] = Graphics(session=solver).Vectors.create(**kwargs)
177
+
178
+
179
+ class Pathline(_GraphicsContainer):
180
+ """Pathline.
181
+
182
+ Examples
183
+ --------
184
+ >>> from ansys.fluent.visualization import Pathline
185
+
186
+ >>> # `solver_session` is a live Fluent session with a case
187
+ >>> # and data which contains the following surfaces
188
+
189
+ >>> pathlines = Pathline(solver=solver_session)
190
+ >>> pathlines.field = "velocity-magnitude"
191
+ >>> pathlines.surfaces = ["inlet", "inlet1", "inlet2"]
192
+ """
193
+
194
+ def __init__(self, solver, **kwargs):
195
+ """__init__ method of Pathline class."""
196
+ self.__dict__["obj"] = Graphics(session=solver).Pathlines.create(**kwargs)
197
+
198
+
199
+ class XYPlot(_GraphicsContainer):
200
+ """XYPlot.
201
+
202
+ Examples
203
+ --------
204
+ >>> from ansys.fluent.visualization import XYPlot
205
+
206
+ >>> xy_plot = XYPlot(
207
+ >>> solver=solver_session,
208
+ >>> surfaces=["outlet"],
209
+ >>> y_axis_function="temperature",
210
+ >>> )
211
+ """
212
+
213
+ def __init__(self, solver, local_surfaces_provider=None, **kwargs):
214
+ """__init__ method of XYPlot class."""
215
+ self.__dict__["obj"] = Plots(
216
+ session=solver, local_surfaces_provider=Graphics(solver).Surfaces
217
+ ).XYPlots.create(**kwargs)
218
+
219
+
220
+ class Monitor(_GraphicsContainer):
221
+ """Monitor.
222
+
223
+ Examples
224
+ --------
225
+ >>> from ansys.fluent.visualization import Monitor
226
+
227
+ >>> residual = Monitor(solver=solver_session)
228
+ >>> residual.monitor_set_name = "residual"
229
+ """
230
+
231
+ def __init__(self, solver, local_surfaces_provider=None, **kwargs):
232
+ """__init__ method of Monitor class."""
233
+ self.__dict__["obj"] = Plots(
234
+ session=solver, local_surfaces_provider=Graphics(solver).Surfaces
235
+ ).Monitors.create(**kwargs)
@@ -38,7 +38,31 @@ _qt_window = None
38
38
 
39
39
 
40
40
  class GraphicsWindow:
41
+ """Create a graphics window to perform operations like display,
42
+ save, animate, etc. on graphics objects.
43
+
44
+ Examples
45
+ --------
46
+ You can add graphics objects like mesh, surface or plots and then display it.
47
+
48
+ >>> from ansys.fluent.visualization import GraphicsWindow
49
+
50
+ >>> graphics_window = GraphicsWindow()
51
+ >>> graphics_window.add_graphics(mesh_object)
52
+ >>> graphics_window.show()
53
+
54
+ You can add multiple graphics objects and display as a structured layout.
55
+
56
+ >>> graphics_window = GraphicsWindow(grid=(2, 2))
57
+ >>> graphics_window.add_graphics(mesh_object, position=(0, 0))
58
+ >>> graphics_window.add_graphics(temperature_contour_object, position=(0, 1))
59
+ >>> graphics_window.add_graphics(velocity_vector_object, position=(1, 0))
60
+ >>> graphics_window.add_graphics(xy_plot, position=(1, 1))
61
+ >>> graphics_window.show()
62
+ """
63
+
41
64
  def __init__(self, grid: tuple = (1, 1)):
65
+ """__init__ method of GraphicsWindow class."""
42
66
  self._grid = grid
43
67
  self._graphics_objs = []
44
68
  self.window_id = None
@@ -155,7 +179,7 @@ class GraphicsWindow:
155
179
  if self.window_id:
156
180
  self._renderer.save_graphic(filename)
157
181
 
158
- def refresh_windows(
182
+ def refresh(
159
183
  self,
160
184
  session_id: str | None = "",
161
185
  overlay: bool | None = False,
@@ -176,7 +200,7 @@ class GraphicsWindow:
176
200
  windows_id=[self.window_id], session_id=session_id, overlay=overlay
177
201
  )
178
202
 
179
- def animate_windows(
203
+ def animate(
180
204
  self,
181
205
  session_id: str | None = "",
182
206
  ) -> None:
@@ -199,7 +223,7 @@ class GraphicsWindow:
199
223
  windows_id=[self.window_id], session_id=session_id
200
224
  )
201
225
 
202
- def close_windows(
226
+ def close(
203
227
  self,
204
228
  session_id: str | None = "",
205
229
  ) -> None:
@@ -1,89 +0,0 @@
1
- # Copyright (C) 2022 - 2025 ANSYS, Inc. and/or its affiliates.
2
- # SPDX-License-Identifier: MIT
3
- #
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in all
13
- # copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
- """Containers for graphics."""
24
-
25
- from ansys.fluent.visualization.graphics import Graphics
26
- from ansys.fluent.visualization.plotter import Plots
27
-
28
-
29
- class GraphicsContainer:
30
- """Base class for graphics containers."""
31
-
32
- def __getattr__(self, attr):
33
- return getattr(self.obj, attr)
34
-
35
- def __setattr__(self, attr, value):
36
- setattr(self.obj, attr, value)
37
-
38
-
39
- class Mesh(GraphicsContainer):
40
- """Mesh."""
41
-
42
- def __init__(self, solver, **kwargs):
43
- self.__dict__["obj"] = Graphics(session=solver).Meshes.create(**kwargs)
44
-
45
-
46
- class Surface(GraphicsContainer):
47
- """Surface."""
48
-
49
- def __init__(self, solver, **kwargs):
50
- self.__dict__["obj"] = Graphics(session=solver).Surfaces.create(**kwargs)
51
-
52
-
53
- class Contour(GraphicsContainer):
54
- """Contour."""
55
-
56
- def __init__(self, solver, **kwargs):
57
- self.__dict__["obj"] = Graphics(session=solver).Contours.create(**kwargs)
58
-
59
-
60
- class Vector(GraphicsContainer):
61
- """Vector."""
62
-
63
- def __init__(self, solver, **kwargs):
64
- self.__dict__["obj"] = Graphics(session=solver).Vectors.create(**kwargs)
65
-
66
-
67
- class Pathline(GraphicsContainer):
68
- """Pathline."""
69
-
70
- def __init__(self, solver, **kwargs):
71
- self.__dict__["obj"] = Graphics(session=solver).Pathlines.create(**kwargs)
72
-
73
-
74
- class XYPlot(GraphicsContainer):
75
- """XYPlot."""
76
-
77
- def __init__(self, solver, local_surfaces_provider=None, **kwargs):
78
- self.__dict__["obj"] = Plots(
79
- session=solver, local_surfaces_provider=Graphics(solver).Surfaces
80
- ).XYPlots.create(**kwargs)
81
-
82
-
83
- class Monitor(GraphicsContainer):
84
- """Monitor."""
85
-
86
- def __init__(self, solver, local_surfaces_provider=None, **kwargs):
87
- self.__dict__["obj"] = Plots(
88
- session=solver, local_surfaces_provider=Graphics(solver).Surfaces
89
- ).Monitors.create(**kwargs)