ansys-fluent-core 0.27.dev1__py3-none-any.whl → 0.28.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 (188) hide show
  1. ansys/fluent/core/__init__.py +22 -9
  2. ansys/fluent/core/_version.py +5 -2
  3. ansys/fluent/core/codegen/__init__.py +0 -3
  4. ansys/fluent/core/codegen/allapigen.py +1 -5
  5. ansys/fluent/core/codegen/builtin_settingsgen.py +44 -10
  6. ansys/fluent/core/codegen/datamodelgen.py +53 -12
  7. ansys/fluent/core/codegen/settingsgen.py +21 -12
  8. ansys/fluent/core/codegen/settingsgen_old.py +2 -2
  9. ansys/fluent/core/codegen/tuigen.py +1 -1
  10. ansys/fluent/core/codegen/write_settings_yaml.py +3 -4
  11. ansys/fluent/core/data_model_cache.py +132 -70
  12. ansys/fluent/core/docs/README.rst +2 -2
  13. ansys/fluent/core/examples/downloads.py +3 -5
  14. ansys/fluent/core/exceptions.py +1 -0
  15. ansys/fluent/core/file_session.py +59 -131
  16. ansys/fluent/core/filereader/case_file.py +17 -17
  17. ansys/fluent/core/filereader/casereader.py +2 -1
  18. ansys/fluent/core/filereader/data_file.py +7 -7
  19. ansys/fluent/core/filereader/lispy.py +6 -1
  20. ansys/fluent/core/fluent_connection.py +35 -7
  21. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  22. ansys/fluent/core/generated/datamodel_222/PMFileManagement.py +2 -2
  23. ansys/fluent/core/generated/datamodel_222/PartManagement.py +28 -28
  24. ansys/fluent/core/generated/datamodel_222/meshing.py +301 -301
  25. ansys/fluent/core/generated/datamodel_222/workflow.py +9 -9
  26. ansys/fluent/core/generated/datamodel_231/PMFileManagement.py +2 -2
  27. ansys/fluent/core/generated/datamodel_231/PartManagement.py +55 -55
  28. ansys/fluent/core/generated/datamodel_231/flicing.py +51 -51
  29. ansys/fluent/core/generated/datamodel_231/meshing.py +317 -317
  30. ansys/fluent/core/generated/datamodel_231/solverworkflow.py +51 -51
  31. ansys/fluent/core/generated/datamodel_231/workflow.py +9 -9
  32. ansys/fluent/core/generated/datamodel_232/PMFileManagement.py +2 -2
  33. ansys/fluent/core/generated/datamodel_232/PartManagement.py +55 -55
  34. ansys/fluent/core/generated/datamodel_232/flicing.py +51 -51
  35. ansys/fluent/core/generated/datamodel_232/meshing.py +335 -335
  36. ansys/fluent/core/generated/datamodel_232/solverworkflow.py +58 -58
  37. ansys/fluent/core/generated/datamodel_232/workflow.py +9 -9
  38. ansys/fluent/core/generated/datamodel_241/PMFileManagement.py +2 -2
  39. ansys/fluent/core/generated/datamodel_241/PartManagement.py +57 -57
  40. ansys/fluent/core/generated/datamodel_241/flicing.py +51 -51
  41. ansys/fluent/core/generated/datamodel_241/meshing.py +361 -361
  42. ansys/fluent/core/generated/datamodel_241/solverworkflow.py +58 -58
  43. ansys/fluent/core/generated/datamodel_241/workflow.py +9 -9
  44. ansys/fluent/core/generated/datamodel_242/MeshingUtilities.py +240 -240
  45. ansys/fluent/core/generated/datamodel_242/PMFileManagement.py +2 -2
  46. ansys/fluent/core/generated/datamodel_242/PartManagement.py +60 -60
  47. ansys/fluent/core/generated/datamodel_242/flicing.py +51 -51
  48. ansys/fluent/core/generated/datamodel_242/meshing.py +371 -371
  49. ansys/fluent/core/generated/datamodel_242/solverworkflow.py +58 -58
  50. ansys/fluent/core/generated/datamodel_242/workflow.py +9 -9
  51. ansys/fluent/core/generated/datamodel_251/MeshingUtilities.py +244 -244
  52. ansys/fluent/core/generated/datamodel_251/PMFileManagement.py +2 -2
  53. ansys/fluent/core/generated/datamodel_251/PartManagement.py +60 -60
  54. ansys/fluent/core/generated/datamodel_251/flicing.py +51 -51
  55. ansys/fluent/core/generated/datamodel_251/meshing.py +384 -382
  56. ansys/fluent/core/generated/datamodel_251/preferences.py +7 -0
  57. ansys/fluent/core/generated/datamodel_251/solverworkflow.py +58 -58
  58. ansys/fluent/core/generated/datamodel_251/workflow.py +10 -10
  59. ansys/fluent/core/generated/datamodel_252/MeshingUtilities.py +3664 -0
  60. ansys/fluent/core/generated/datamodel_252/PMFileManagement.py +288 -0
  61. ansys/fluent/core/generated/datamodel_252/PartManagement.py +2588 -0
  62. ansys/fluent/core/generated/datamodel_252/flicing.py +7972 -0
  63. ansys/fluent/core/generated/datamodel_252/meshing.py +2644 -0
  64. ansys/fluent/core/generated/datamodel_252/preferences.py +2760 -0
  65. ansys/fluent/core/generated/datamodel_252/solverworkflow.py +479 -0
  66. ansys/fluent/core/generated/datamodel_252/workflow.py +466 -0
  67. ansys/fluent/core/generated/fluent_version_251.py +4 -4
  68. ansys/fluent/core/generated/fluent_version_252.py +5 -0
  69. ansys/fluent/core/generated/meshing/tui_251.py +1139 -1179
  70. ansys/fluent/core/generated/meshing/tui_252.py +10181 -0
  71. ansys/fluent/core/generated/solver/settings_222.py +3 -3
  72. ansys/fluent/core/generated/solver/settings_231.py +4 -4
  73. ansys/fluent/core/generated/solver/settings_232.py +5 -5
  74. ansys/fluent/core/generated/solver/settings_241.py +5 -5
  75. ansys/fluent/core/generated/solver/settings_242.py +1185 -1185
  76. ansys/fluent/core/generated/solver/settings_251.py +1847 -1652
  77. ansys/fluent/core/generated/solver/settings_251.pyi +237 -211
  78. ansys/fluent/core/generated/solver/settings_252.py +90369 -0
  79. ansys/fluent/core/generated/solver/settings_252.pyi +63778 -0
  80. ansys/fluent/core/generated/solver/settings_builtin.py +612 -1
  81. ansys/fluent/core/generated/solver/settings_builtin.pyi +235 -0
  82. ansys/fluent/core/generated/solver/tui_251.py +2283 -2103
  83. ansys/fluent/core/generated/solver/tui_252.py +37720 -0
  84. ansys/fluent/core/journaling.py +1 -1
  85. ansys/fluent/core/launcher/error_handler.py +3 -0
  86. ansys/fluent/core/launcher/fluent_container.py +5 -0
  87. ansys/fluent/core/launcher/launcher.py +1 -2
  88. ansys/fluent/core/launcher/launcher_utils.py +17 -6
  89. ansys/fluent/core/launcher/process_launch_string.py +3 -3
  90. ansys/fluent/core/launcher/pyfluent_enums.py +1 -1
  91. ansys/fluent/core/launcher/slurm_launcher.py +2 -1
  92. ansys/fluent/core/launcher/standalone_launcher.py +11 -5
  93. ansys/fluent/core/launcher/watchdog.py +1 -1
  94. ansys/fluent/core/launcher/watchdog_exec +6 -3
  95. ansys/fluent/core/logging.py +1 -5
  96. ansys/fluent/core/parametric.py +6 -3
  97. ansys/fluent/core/post_objects/meta.py +1 -39
  98. ansys/fluent/core/post_objects/post_helper.py +4 -3
  99. ansys/fluent/core/post_objects/post_object_definitions.py +12 -7
  100. ansys/fluent/core/post_objects/post_objects_container.py +39 -2
  101. ansys/fluent/core/rpvars.py +2 -1
  102. ansys/fluent/core/scheduler/machine_list.py +3 -1
  103. ansys/fluent/core/search.py +109 -262
  104. ansys/fluent/core/services/__init__.py +3 -0
  105. ansys/fluent/core/services/api_upgrade.py +1 -0
  106. ansys/fluent/core/services/batch_ops.py +3 -1
  107. ansys/fluent/core/services/datamodel_se.py +37 -30
  108. ansys/fluent/core/services/datamodel_tui.py +8 -3
  109. ansys/fluent/core/services/deprecated_field_data.py +691 -0
  110. ansys/fluent/core/services/field_data.py +67 -357
  111. ansys/fluent/core/services/interceptors.py +6 -4
  112. ansys/fluent/core/services/reduction.py +1 -2
  113. ansys/fluent/core/services/scheme_eval.py +2 -3
  114. ansys/fluent/core/services/solution_variables.py +46 -48
  115. ansys/fluent/core/session.py +6 -4
  116. ansys/fluent/core/session_meshing.pyi +5 -0
  117. ansys/fluent/core/session_pure_meshing.pyi +4 -1
  118. ansys/fluent/core/session_solver_lite.py +2 -1
  119. ansys/fluent/core/solver/flobject.py +179 -207
  120. ansys/fluent/core/solver/flunits.py +65 -56
  121. ansys/fluent/core/solver/function/reduction.py +9 -29
  122. ansys/fluent/core/solver/settings_builtin_bases.py +28 -22
  123. ansys/fluent/core/solver/settings_builtin_data.py +105 -1
  124. ansys/fluent/core/solver/settings_external.py +0 -28
  125. ansys/fluent/core/streaming_services/field_data_streaming.py +1 -0
  126. ansys/fluent/core/streaming_services/monitor_streaming.py +0 -1
  127. ansys/fluent/core/systemcoupling.py +145 -14
  128. ansys/fluent/core/utils/__init__.py +18 -2
  129. ansys/fluent/core/utils/dump_session_data.py +7 -4
  130. ansys/fluent/core/utils/execution.py +2 -2
  131. ansys/fluent/core/utils/file_transfer_service.py +37 -42
  132. ansys/fluent/core/utils/fluent_version.py +20 -2
  133. ansys/fluent/core/utils/networking.py +39 -1
  134. ansys/fluent/core/workflow.py +3 -15
  135. ansys/fluent/tests/conftest.py +89 -7
  136. ansys/fluent/tests/fluent/test_version/test.py +2 -0
  137. ansys/fluent/tests/fluent_fixtures.py +195 -0
  138. ansys/fluent/tests/integration/test_optislang/test_optislang_integration.py +7 -7
  139. ansys/fluent/tests/parametric/test_parametric_workflow.py +14 -4
  140. ansys/fluent/tests/test_builtin_settings.py +28 -0
  141. ansys/fluent/tests/test_cad_to_post_ftm.py +1 -3
  142. ansys/fluent/tests/test_cad_to_post_wtm.py +1 -1
  143. ansys/fluent/tests/test_casereader.py +1 -1
  144. ansys/fluent/tests/test_codegen.py +116 -6
  145. ansys/fluent/tests/test_data_model_cache.py +1 -1
  146. ansys/fluent/tests/test_datamodel_service.py +14 -19
  147. ansys/fluent/tests/test_field_data.py +93 -45
  148. ansys/fluent/tests/test_file_session.py +32 -29
  149. ansys/fluent/tests/test_flobject.py +16 -58
  150. ansys/fluent/tests/test_fluent_fixes.py +5 -5
  151. ansys/fluent/tests/test_fluent_session.py +11 -8
  152. ansys/fluent/tests/test_fluent_version.py +1 -1
  153. ansys/fluent/tests/test_launcher.py +22 -5
  154. ansys/fluent/tests/test_launcher_remote.py +80 -4
  155. ansys/fluent/tests/test_meshing_utilities.py +93 -44
  156. ansys/fluent/tests/test_meshing_workflow.py +6 -6
  157. ansys/fluent/tests/test_meshingmode/test_meshing_launch.py +1 -1
  158. ansys/fluent/tests/test_new_meshing_workflow.py +42 -3
  159. ansys/fluent/tests/test_preferences.py +6 -6
  160. ansys/fluent/tests/test_reduction.py +61 -30
  161. ansys/fluent/tests/test_rp_vars.py +1 -1
  162. ansys/fluent/tests/test_search.py +53 -200
  163. ansys/fluent/tests/test_session.py +18 -13
  164. ansys/fluent/tests/test_settings_api.py +93 -29
  165. ansys/fluent/tests/test_settings_reader.py +1 -1
  166. ansys/fluent/tests/test_solver_monitors.py +1 -1
  167. ansys/fluent/tests/test_solvermode/test_calculationactivities.py +4 -4
  168. ansys/fluent/tests/test_solvermode/test_controls.py +3 -3
  169. ansys/fluent/tests/test_solvermode/test_methods.py +1 -1
  170. ansys/fluent/tests/test_solvermode/test_models.py +3 -3
  171. ansys/fluent/tests/test_systemcoupling.py +33 -5
  172. ansys/fluent/tests/test_topy.py +2 -2
  173. ansys/fluent/tests/test_tui_api.py +5 -5
  174. ansys/fluent/tests/test_utils.py +1 -1
  175. {ansys_fluent_core-0.27.dev1.dist-info → ansys_fluent_core-0.28.dev0.dist-info}/METADATA +6 -17
  176. ansys_fluent_core-0.28.dev0.dist-info/RECORD +291 -0
  177. ansys/fluent/core/generated/api_tree_222.pickle +0 -0
  178. ansys/fluent/core/generated/api_tree_231.pickle +0 -0
  179. ansys/fluent/core/generated/api_tree_232.pickle +0 -0
  180. ansys/fluent/core/generated/api_tree_241.pickle +0 -0
  181. ansys/fluent/core/generated/api_tree_242.pickle +0 -0
  182. ansys/fluent/core/generated/api_tree_251.pickle +0 -0
  183. ansys/fluent/tests/test_tests_util.py +0 -47
  184. ansys/fluent/tests/util/__init__.py +0 -38
  185. ansys_fluent_core-0.27.dev1.dist-info/RECORD +0 -283
  186. {ansys_fluent_core-0.27.dev1.dist-info → ansys_fluent_core-0.28.dev0.dist-info}/AUTHORS +0 -0
  187. {ansys_fluent_core-0.27.dev1.dist-info → ansys_fluent_core-0.28.dev0.dist-info}/LICENSE +0 -0
  188. {ansys_fluent_core-0.27.dev1.dist-info → ansys_fluent_core-0.28.dev0.dist-info}/WHEEL +0 -0
@@ -59,6 +59,7 @@ class DisallowedFilePurpose(ValueError):
59
59
  name: Any | None = None,
60
60
  allowed_values: Any | None = None,
61
61
  ):
62
+ """Initialize DisallowedFilePurpose."""
62
63
  super().__init__(
63
64
  allowed_name_error_message(
64
65
  context=context, trial_name=name, allowed_values=allowed_values
@@ -70,6 +71,7 @@ class InvalidNamedObject(RuntimeError):
70
71
  """Raised when the object is not a named object."""
71
72
 
72
73
  def __init__(self, class_name):
74
+ """Initialize InvalidNamedObject."""
73
75
  super().__init__(f"{class_name} is not a named object class.")
74
76
 
75
77
 
@@ -77,6 +79,7 @@ class SubscribeEventError(RuntimeError):
77
79
  """Raised when server fails to subscribe from event."""
78
80
 
79
81
  def __init__(self, request):
82
+ """Initialize SubscribeEventError."""
80
83
  super().__init__(f"Failed to subscribe event: {request}!")
81
84
 
82
85
 
@@ -84,6 +87,7 @@ class UnsubscribeEventError(RuntimeError):
84
87
  """Raised when server fails to unsubscribe from event."""
85
88
 
86
89
  def __init__(self, request):
90
+ """Initialize UnsubscribeEventError."""
87
91
  super().__init__(f"Failed to unsubscribe event: {request}!")
88
92
 
89
93
 
@@ -91,6 +95,7 @@ class ReadOnlyObjectError(RuntimeError):
91
95
  """Raised on an attempt to mutate a read-only object."""
92
96
 
93
97
  def __init__(self, obj_name):
98
+ """Initialize ReadOnlyObjectError."""
94
99
  super().__init__(f"{obj_name} is readonly!")
95
100
 
96
101
 
@@ -137,8 +142,6 @@ class _FilterDatamodelNames:
137
142
  if self._filter_fn is None:
138
143
  return names
139
144
 
140
- filtered_children = []
141
-
142
145
  def validate_name(name):
143
146
  obj = getattr(parent, name)
144
147
  # might need to make this more flexible (e.g., enhanced workflow types)
@@ -177,87 +180,87 @@ class DatamodelServiceImpl:
177
180
  def initialize_datamodel(
178
181
  self, request: DataModelProtoModule.InitDatamodelRequest
179
182
  ) -> DataModelProtoModule.InitDatamodelResponse:
180
- """initDatamodel RPC of DataModel service."""
183
+ """RPC initDatamodel of DataModel service."""
181
184
  return self._stub.initDatamodel(request, metadata=self._metadata)
182
185
 
183
186
  def get_attribute_value(
184
187
  self, request: DataModelProtoModule.GetAttributeValueRequest
185
188
  ) -> DataModelProtoModule.GetAttributeValueResponse:
186
- """getAttributeValue RPC of DataModel service."""
189
+ """RPC getAttributeValue of DataModel service."""
187
190
  return self._stub.getAttributeValue(request, metadata=self._metadata)
188
191
 
189
192
  def get_state(
190
193
  self, request: DataModelProtoModule.GetStateRequest
191
194
  ) -> DataModelProtoModule.GetStateResponse:
192
- """getState RPC of DataModel service."""
195
+ """RPC getState of DataModel service."""
193
196
  return self._stub.getState(request, metadata=self._metadata)
194
197
 
195
198
  def rename(
196
199
  self, request: DataModelProtoModule.RenameRequest
197
200
  ) -> DataModelProtoModule.RenameResponse:
198
- """getState RPC of DataModel service."""
201
+ """RPC rename of DataModel service."""
199
202
  return self._stub.rename(request, metadata=self._metadata)
200
203
 
201
204
  def get_object_names(
202
205
  self, request: DataModelProtoModule.GetObjectNamesRequest
203
206
  ) -> DataModelProtoModule.GetObjectNamesResponse:
204
- """getState RPC of DataModel service."""
207
+ """RPC getObjectNames of DataModel service."""
205
208
  return self._stub.getObjectNames(request, metadata=self._metadata)
206
209
 
207
210
  def delete_child_objects(
208
211
  self, request: DataModelProtoModule.DeleteChildObjectsRequest
209
212
  ) -> DataModelProtoModule.DeleteChildObjectsResponse:
210
- """getState RPC of DataModel service."""
213
+ """RPC deleteChildObjects of DataModel service."""
211
214
  return self._stub.deleteChildObjects(request, metadata=self._metadata)
212
215
 
213
216
  def set_state(
214
217
  self, request: DataModelProtoModule.SetStateRequest
215
218
  ) -> DataModelProtoModule.SetStateResponse:
216
- """setState RPC of DataModel service."""
219
+ """RPC setState of DataModel service."""
217
220
  return self._stub.setState(request, metadata=self._metadata)
218
221
 
219
222
  def fix_state(
220
223
  self, request: DataModelProtoModule.FixStateRequest
221
224
  ) -> DataModelProtoModule.FixStateResponse:
222
- """setState RPC of DataModel service."""
225
+ """RPC fixState of DataModel service."""
223
226
  return self._stub.fixState(request, metadata=self._metadata)
224
227
 
225
228
  def update_dict(
226
229
  self, request: DataModelProtoModule.UpdateDictRequest
227
230
  ) -> DataModelProtoModule.UpdateDictResponse:
228
- """updateDict RPC of DataModel service."""
231
+ """RPC updateDict of DataModel service."""
229
232
  return self._stub.updateDict(request, metadata=self._metadata)
230
233
 
231
234
  def delete_object(
232
235
  self, request: DataModelProtoModule.DeleteObjectRequest
233
236
  ) -> DataModelProtoModule.DeleteObjectResponse:
234
- """deleteObject RPC of DataModel service."""
237
+ """RPC deleteObject of DataModel service."""
235
238
  return self._stub.deleteObject(request, metadata=self._metadata)
236
239
 
237
240
  def execute_command(
238
241
  self, request: DataModelProtoModule.ExecuteCommandRequest
239
242
  ) -> DataModelProtoModule.ExecuteCommandResponse:
240
- """executeCommand RPC of DataModel service."""
243
+ """RPC executeCommand of DataModel service."""
241
244
  logger.debug(f"Command: {request.command}")
242
245
  return self._stub.executeCommand(request, metadata=self._metadata)
243
246
 
244
247
  def execute_query(
245
248
  self, request: DataModelProtoModule.ExecuteQueryRequest
246
249
  ) -> DataModelProtoModule.ExecuteQueryResponse:
247
- """ExecuteQuery rpc of DataModel service."""
250
+ """RPC executeQuery of DataModel service."""
248
251
  logger.debug(f"Query: {request.query}")
249
252
  return self._stub.executeQuery(request, metadata=self._metadata)
250
253
 
251
254
  def create_command_arguments(
252
255
  self, request: DataModelProtoModule.CreateCommandArgumentsRequest
253
256
  ) -> DataModelProtoModule.CreateCommandArgumentsResponse:
254
- """createCommandArguments RPC of DataModel service."""
257
+ """RPC createCommandArguments of DataModel service."""
255
258
  return self._stub.createCommandArguments(request, metadata=self._metadata)
256
259
 
257
260
  def delete_command_arguments(
258
261
  self, request: DataModelProtoModule.DeleteCommandArgumentsRequest
259
262
  ) -> DataModelProtoModule.DeleteCommandArgumentsResponse:
260
- """deleteCommandArguments RPC of DataModel service.
263
+ """RPC deleteCommandArguments of DataModel service.
261
264
 
262
265
  Raises
263
266
  ------
@@ -276,25 +279,25 @@ class DatamodelServiceImpl:
276
279
  def get_specs(
277
280
  self, request: DataModelProtoModule.GetSpecsRequest
278
281
  ) -> DataModelProtoModule.GetSpecsResponse:
279
- """getSpecs RPC of DataModel service."""
282
+ """RPC getSpecs of DataModel service."""
280
283
  return self._stub.getSpecs(request, metadata=self._metadata)
281
284
 
282
285
  def get_static_info(
283
286
  self, request: DataModelProtoModule.GetStaticInfoRequest
284
287
  ) -> DataModelProtoModule.GetStaticInfoResponse:
285
- """getStaticInfo RPC of DataModel service."""
288
+ """RPC getStaticInfo of DataModel service."""
286
289
  return self._stub.getStaticInfo(request, metadata=self._metadata)
287
290
 
288
291
  def subscribe_events(
289
292
  self, request: DataModelProtoModule.SubscribeEventsRequest
290
293
  ) -> DataModelProtoModule.SubscribeEventsResponse:
291
- """subscribeEvents RPC of DataModel service."""
294
+ """RPC subscribeEvents of DataModel service."""
292
295
  return self._stub.subscribeEvents(request, metadata=self._metadata)
293
296
 
294
297
  def unsubscribe_events(
295
298
  self, request: DataModelProtoModule.UnsubscribeEventsRequest
296
299
  ) -> DataModelProtoModule.UnsubscribeEventsResponse:
297
- """unsubscribeEvents RPC of DataModel service."""
300
+ """RPC unsubscribeEvents of DataModel service."""
298
301
  return self._stub.unsubscribeEvents(request, metadata=self._metadata)
299
302
 
300
303
 
@@ -400,6 +403,7 @@ class SubscriptionList:
400
403
  """Stores subscription objects by tag."""
401
404
 
402
405
  def __init__(self):
406
+ """Initialize SubscriptionList."""
403
407
  self._subscriptions = {}
404
408
  self._lock = RLock()
405
409
 
@@ -602,7 +606,7 @@ class DatamodelService(StreamingService):
602
606
  ) -> None:
603
607
  """Update the dict."""
604
608
  request = DataModelProtoModule.UpdateDictRequest(
605
- rules=rules, path=path, wait=True
609
+ rules=rules, path=path, wait=True, recursive=recursive
606
610
  )
607
611
  _convert_value_to_variant(dict_state, request.dicttomerge)
608
612
  response = self._impl.update_dict(request)
@@ -1514,9 +1518,12 @@ class PyNamedObjectContainer:
1514
1518
 
1515
1519
  def get_object_names(self) -> Any:
1516
1520
  """Displays the name of objects within a container."""
1517
- return self.service.get_object_names(
1518
- self.rules, convert_path_to_se_path(self.path)
1519
- )
1521
+ if self.service.version <= FluentVersion.v241:
1522
+ return self._get_child_object_display_names()
1523
+ else:
1524
+ return self.service.get_object_names(
1525
+ self.rules, convert_path_to_se_path(self.path)
1526
+ )
1520
1527
 
1521
1528
  getChildObjectDisplayNames = get_object_names
1522
1529
 
@@ -1528,7 +1535,7 @@ class PyNamedObjectContainer:
1528
1535
  int
1529
1536
  Count of child objects.
1530
1537
  """
1531
- return len(self._get_child_object_display_names())
1538
+ return len(self.get_object_names())
1532
1539
 
1533
1540
  def __iter__(self) -> Iterator[PyMenu]:
1534
1541
  """Return the next child object.
@@ -1538,7 +1545,7 @@ class PyNamedObjectContainer:
1538
1545
  Iterator[PyMenu]
1539
1546
  Iterator of child objects.
1540
1547
  """
1541
- for name in self._get_child_object_display_names():
1548
+ for name in self.get_object_names():
1542
1549
  child_path = self.path[:-1]
1543
1550
  child_path.append((self.path[-1][0], name))
1544
1551
  yield getattr(self.__class__, f"_{self.__class__.__name__}")(
@@ -1546,7 +1553,7 @@ class PyNamedObjectContainer:
1546
1553
  )
1547
1554
 
1548
1555
  def _get_item(self, key: str) -> PyMenu:
1549
- if key in self._get_child_object_display_names():
1556
+ if key in self.get_object_names():
1550
1557
  child_path = self.path[:-1]
1551
1558
  child_path.append((self.path[-1][0], key))
1552
1559
  return getattr(self.__class__, f"_{self.__class__.__name__}")(
@@ -1558,7 +1565,7 @@ class PyNamedObjectContainer:
1558
1565
  )
1559
1566
 
1560
1567
  def _del_item(self, key: str) -> None:
1561
- if key in self._get_child_object_display_names():
1568
+ if key in self.get_object_names():
1562
1569
  child_path = self.path[:-1]
1563
1570
  child_path.append((self.path[-1][0], key))
1564
1571
  se_path = convert_path_to_se_path(child_path)
@@ -2231,13 +2238,13 @@ class PyNamedObjectContainerGeneric(PyNamedObjectContainer):
2231
2238
  available."""
2232
2239
 
2233
2240
  def __iter__(self) -> Iterator[PyMenuGeneric]:
2234
- for name in self._get_child_object_display_names():
2241
+ for name in self.get_object_names():
2235
2242
  child_path = self.path[:-1]
2236
2243
  child_path.append((self.path[-1][0], name))
2237
2244
  yield PyMenuGeneric(self.service, self.rules, child_path)
2238
2245
 
2239
2246
  def _get_item(self, key: str) -> PyMenuGeneric:
2240
- if key in self._get_child_object_display_names():
2247
+ if key in self.get_object_names():
2241
2248
  child_path = self.path[:-1]
2242
2249
  child_path.append((self.path[-1][0], key))
2243
2250
  return PyMenuGeneric(self.service, self.rules, child_path)
@@ -222,6 +222,10 @@ class PyMenu:
222
222
 
223
223
  Parameters
224
224
  ----------
225
+ *args
226
+ Positional arguments of the command or qyery.
227
+ **kwargs
228
+ Keyword arguments of the command or query.
225
229
 
226
230
  Returns
227
231
  -------
@@ -303,6 +307,7 @@ class TUIMethod:
303
307
  """
304
308
 
305
309
  def __init__(self, service, version, mode, path):
310
+ """Initialize TUIMethod."""
306
311
  self._service = service
307
312
  self._version = version
308
313
  self._mode = mode
@@ -330,13 +335,13 @@ class TUIMenu:
330
335
  for x in PyMenu(
331
336
  self._service, self._version, self._mode, self._path
332
337
  ).get_child_names()
333
- if x != "exit"
338
+ if x not in ["exit", "switch_to_meshing_mode"]
334
339
  ]
335
340
 
336
341
  def __getattribute__(self, name) -> Any:
337
- if name == "exit" and not self._path:
342
+ if name in ["exit", "switch_to_meshing_mode"] and not self._path:
338
343
  raise AttributeError(
339
- f"'{self.__class__.__name__}' object has no attribute 'exit'"
344
+ f"'{self.__class__.__name__}' object has no attribute '{name}'"
340
345
  )
341
346
  try:
342
347
  attr = super().__getattribute__(name)