ansys-fluent-core 0.33.dev0__py3-none-any.whl → 0.34.dev0__py3-none-any.whl

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.

Potentially problematic release.


This version of ansys-fluent-core might be problematic. Click here for more details.

Files changed (78) hide show
  1. ansys/fluent/core/__init__.py +11 -4
  2. ansys/fluent/core/codegen/builtin_settingsgen.py +17 -9
  3. ansys/fluent/core/codegen/datamodelgen.py +2 -2
  4. ansys/fluent/core/codegen/print_fluent_version.py +4 -4
  5. ansys/fluent/core/codegen/settingsgen.py +1 -2
  6. ansys/fluent/core/exceptions.py +0 -1
  7. ansys/fluent/core/file_session.py +9 -9
  8. ansys/fluent/core/filereader/case_file.py +2 -2
  9. ansys/fluent/core/fluent_connection.py +5 -5
  10. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  11. ansys/fluent/core/generated/datamodel_231/flicing.py +40 -40
  12. ansys/fluent/core/generated/datamodel_231/meshing.py +202 -202
  13. ansys/fluent/core/generated/datamodel_232/flicing.py +55 -55
  14. ansys/fluent/core/generated/datamodel_232/meshing.py +159 -159
  15. ansys/fluent/core/generated/datamodel_241/flicing.py +35 -35
  16. ansys/fluent/core/generated/datamodel_241/meshing.py +294 -294
  17. ansys/fluent/core/generated/datamodel_242/flicing.py +35 -35
  18. ansys/fluent/core/generated/datamodel_242/meshing.py +305 -305
  19. ansys/fluent/core/generated/datamodel_242/part_management.py +9 -9
  20. ansys/fluent/core/generated/datamodel_251/flicing.py +50 -50
  21. ansys/fluent/core/generated/datamodel_251/meshing.py +337 -337
  22. ansys/fluent/core/generated/datamodel_251/part_management.py +6 -6
  23. ansys/fluent/core/generated/datamodel_252/flicing.py +35 -35
  24. ansys/fluent/core/generated/datamodel_252/meshing.py +399 -399
  25. ansys/fluent/core/generated/datamodel_252/part_management.py +5 -5
  26. ansys/fluent/core/generated/datamodel_261/flicing.py +45 -45
  27. ansys/fluent/core/generated/datamodel_261/meshing.py +412 -406
  28. ansys/fluent/core/generated/datamodel_261/part_management.py +5 -5
  29. ansys/fluent/core/generated/datamodel_261/solver_workflow.py +7 -0
  30. ansys/fluent/core/generated/fluent_version_261.py +3 -3
  31. ansys/fluent/core/generated/solver/settings_252.py +55 -55
  32. ansys/fluent/core/generated/solver/settings_261.py +2483 -3943
  33. ansys/fluent/core/generated/solver/settings_261.pyi +3530 -6130
  34. ansys/fluent/core/generated/solver/settings_builtin.py +57 -1
  35. ansys/fluent/core/generated/solver/settings_builtin.pyi +79 -0
  36. ansys/fluent/core/generated/solver/tui_261.py +185 -345
  37. ansys/fluent/core/launcher/container_launcher.py +7 -9
  38. ansys/fluent/core/launcher/fluent_container.py +106 -75
  39. ansys/fluent/core/launcher/launch_options.py +22 -1
  40. ansys/fluent/core/launcher/launcher.py +5 -4
  41. ansys/fluent/core/pyfluent_warnings.py +13 -0
  42. ansys/fluent/core/search.py +170 -83
  43. ansys/fluent/core/services/app_utilities.py +52 -32
  44. ansys/fluent/core/services/datamodel_se.py +6 -3
  45. ansys/fluent/core/services/scheme_eval.py +2 -0
  46. ansys/fluent/core/services/solution_variables.py +64 -49
  47. ansys/fluent/core/session.py +36 -30
  48. ansys/fluent/core/session_base_meshing.py +2 -24
  49. ansys/fluent/core/session_shared.py +5 -2
  50. ansys/fluent/core/session_solver.py +15 -9
  51. ansys/fluent/core/solver/__init__.py +1 -1
  52. ansys/fluent/core/solver/flobject.py +62 -64
  53. ansys/fluent/core/solver/settings_builtin_bases.py +14 -7
  54. ansys/fluent/core/solver/settings_builtin_data.py +121 -540
  55. ansys/fluent/core/utils/context_managers.py +0 -17
  56. ansys/fluent/core/utils/fluent_version.py +173 -0
  57. {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info}/METADATA +8 -8
  58. {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info}/RECORD +60 -78
  59. {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info}/WHEEL +1 -1
  60. ansys/fluent/core/generated/datamodel_222/meshing.py +0 -6332
  61. ansys/fluent/core/generated/datamodel_222/part_management.py +0 -2072
  62. ansys/fluent/core/generated/datamodel_222/pm_file_management.py +0 -290
  63. ansys/fluent/core/generated/datamodel_222/preferences.py +0 -2449
  64. ansys/fluent/core/generated/datamodel_222/workflow.py +0 -651
  65. ansys/fluent/core/generated/fluent_version_222.py +0 -5
  66. ansys/fluent/core/generated/meshing/tui_222.py +0 -9649
  67. ansys/fluent/core/generated/solver/settings_222.py +0 -29473
  68. ansys/fluent/core/generated/solver/settings_222.pyi +0 -19590
  69. ansys/fluent/core/generated/solver/tui_222.py +0 -43451
  70. ansys/fluent/core/post_objects/__init__.py +0 -21
  71. ansys/fluent/core/post_objects/check_in_notebook.py +0 -35
  72. ansys/fluent/core/post_objects/meta.py +0 -926
  73. ansys/fluent/core/post_objects/post_helper.py +0 -178
  74. ansys/fluent/core/post_objects/post_object_definitions.py +0 -693
  75. ansys/fluent/core/post_objects/post_objects_container.py +0 -248
  76. ansys/fluent/core/post_objects/singleton_meta.py +0 -42
  77. ansys/fluent/core/post_objects/timing_decorator.py +0 -38
  78. {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info/licenses}/LICENSE +0 -0
@@ -1,178 +0,0 @@
1
- # Copyright (C) 2021 - 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
- """Provides a module for post objects."""
24
-
25
- import re
26
-
27
- from ansys.fluent.core.solver.flunits import get_si_unit_for_fluent_quantity
28
- from ansys.fluent.core.utils.fluent_version import FluentVersion
29
-
30
-
31
- class IncompleteISOSurfaceDefinition(RuntimeError):
32
- """Raised when iso-surface definition is incomplete."""
33
-
34
- def __init__(self):
35
- """Initialize IncompleteISOSurfaceDefinition."""
36
- super().__init__("Iso surface definition is incomplete.")
37
-
38
-
39
- class SurfaceCreationError(RuntimeError):
40
- """Raised when surface creation is unsuccessful."""
41
-
42
- def __init__(self):
43
- """Initialize SurfaceCreationError."""
44
- super().__init__("Surface creation is unsuccessful.")
45
-
46
-
47
- class PostAPIHelper:
48
- """Class providing helper API for post objects."""
49
-
50
- class _SurfaceAPI:
51
- """Class providing APIs for surface operations."""
52
-
53
- def __init__(self, obj):
54
- self.obj = obj
55
- self._surface_name_on_server = self.surface_name_on_server(obj._name)
56
-
57
- @staticmethod
58
- def surface_name_on_server(local_surface_name):
59
- """Returns the surface name on server."""
60
- return "_dummy_surface_for_pyfluent:" + local_surface_name.lower()
61
-
62
- def _get_api_handle(self):
63
- return self.obj.get_root().session.results.surfaces
64
-
65
- def _delete_if_exist_on_server(self):
66
- field_info = self.obj._api_helper.field_info()
67
- surfaces_list = list(field_info.get_surfaces_info().keys())
68
- if self._surface_name_on_server in surfaces_list:
69
- self.delete_surface_on_server()
70
-
71
- def create_surface_on_server(self):
72
- """Creates the surface on server.
73
-
74
- Raises
75
- ------
76
- IncompleteISOSurfaceDefinition
77
- If iso-surface definition is incomplete.
78
- SurfaceCreationError
79
- If server fails to create surface.
80
- """
81
- if self.obj.definition.type() == "iso-surface":
82
- iso_surface = self.obj.definition.iso_surface
83
- field = iso_surface.field()
84
- iso_value = iso_surface.iso_value()
85
- if not field:
86
- raise IncompleteISOSurfaceDefinition()
87
- self._delete_if_exist_on_server()
88
- self._get_api_handle().iso_surface[self._surface_name_on_server] = {
89
- "field": field,
90
- "iso_values": [iso_value],
91
- }
92
- elif self.obj.definition.type() == "plane-surface":
93
- plane_surface = self.obj.definition.plane_surface
94
- xy_plane = plane_surface.xy_plane
95
- yz_plane = plane_surface.yz_plane
96
- zx_plane = plane_surface.zx_plane
97
- self._delete_if_exist_on_server()
98
- if xy_plane():
99
- method = "xy-plane"
100
- position = "z"
101
- value = xy_plane.z()
102
- elif yz_plane():
103
- method = "yz-plane"
104
- position = "x"
105
- value = yz_plane.x()
106
- else:
107
- method = "zx-plane"
108
- position = "y"
109
- value = zx_plane.y()
110
- self._get_api_handle().plane_surface[self._surface_name_on_server] = {
111
- "method": method,
112
- position: value,
113
- }
114
- field_info = self.obj._api_helper.field_info()
115
- surfaces_list = list(field_info.get_surfaces_info().keys())
116
- if self._surface_name_on_server not in surfaces_list:
117
- raise SurfaceCreationError()
118
-
119
- def delete_surface_on_server(self):
120
- """Deletes the surface on server."""
121
- if self.obj.definition.type() == "iso-surface":
122
- del self._get_api_handle().iso_surface[self._surface_name_on_server]
123
- elif self.obj.definition.type() == "plane-surface":
124
- del self._get_api_handle().plane_surface[self._surface_name_on_server]
125
-
126
- def __init__(self, obj):
127
- """__init__ method of PostAPIHelper class."""
128
- self.obj = obj
129
- self.field_info = lambda: obj.get_root().session.fields.field_info
130
- self.field_data = lambda: obj.get_root().session.fields.field_data
131
- self.id = lambda: obj.get_root().session.id
132
- if obj.__class__.__name__ == "Surface":
133
- self.surface_api = PostAPIHelper._SurfaceAPI(obj)
134
-
135
- @property
136
- def monitors(self):
137
- """Returns the session monitors."""
138
- return self.obj.get_root().session.monitors
139
-
140
- def remote_surface_name(self, local_surface_name):
141
- """Returns the surface name."""
142
-
143
- local_surfaces_provider = self.obj.get_root()._local_surfaces_provider()
144
-
145
- if local_surface_name in list(local_surfaces_provider):
146
- return PostAPIHelper._SurfaceAPI.surface_name_on_server(local_surface_name)
147
- else:
148
- return local_surface_name
149
-
150
- # Following functions will be deprecated in future.
151
- def get_vector_fields(self):
152
- """Returns vector field."""
153
- return self.field_info().get_vector_fields_info()
154
-
155
- def get_field_unit(self, field):
156
- """Returns the unit of the field."""
157
- session = self.obj.get_root().session
158
- if FluentVersion(session.scheme.version) < FluentVersion.v252:
159
- quantity = self._field_unit_quantity(field)
160
- if quantity == "*null*":
161
- return ""
162
- scheme_eval_str = f"(units/get-pretty-wb-units-from-dimension (units/inquire-dimension '{quantity}))"
163
- return " ".join(self._scheme_str_to_py_list(scheme_eval_str))
164
- else:
165
- fields_info = self.field_info().get_scalar_fields_info()
166
- return get_si_unit_for_fluent_quantity(fields_info[field]["quantity_name"])
167
-
168
- def _field_unit_quantity(self, field):
169
- scheme_eval_str = f"(cdr (assq 'units (%fill-render-info '{field})))"
170
- return self._scheme_str_to_py_list(scheme_eval_str)[0]
171
-
172
- def _scheme_str_to_py_list(self, scheme_eval_str):
173
- session = self.obj.get_root().session
174
- if hasattr(session, "scheme_eval"):
175
- str_val = session.scheme_eval.string_eval(scheme_eval_str)
176
- return list(filter(None, re.split(r'[\s()"\']', str_val)))
177
- else:
178
- return ["*null*"]