ansys-fluent-core 0.29.dev3__py3-none-any.whl → 0.30.dev1__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 (147) hide show
  1. ansys/fluent/core/__init__.py +31 -6
  2. ansys/fluent/core/_stand_alone_datamodel_client/_datamodel_client.py +22 -0
  3. ansys/fluent/core/_version.py +23 -1
  4. ansys/fluent/core/codegen/__init__.py +22 -0
  5. ansys/fluent/core/codegen/allapigen.py +38 -5
  6. ansys/fluent/core/codegen/builtin_settingsgen.py +22 -0
  7. ansys/fluent/core/codegen/data/__init__.py +21 -0
  8. ansys/fluent/core/codegen/data/fluent_gui_help_patch.py +22 -0
  9. ansys/fluent/core/codegen/data/meshing_utilities_examples.py +22 -0
  10. ansys/fluent/core/codegen/datamodelgen.py +40 -4
  11. ansys/fluent/core/codegen/print_fluent_version.py +22 -0
  12. ansys/fluent/core/codegen/settingsgen.py +67 -4
  13. ansys/fluent/core/codegen/tuigen.py +43 -5
  14. ansys/fluent/core/codegen/walk_api.py +22 -0
  15. ansys/fluent/core/codegen/write_settings_yaml.py +22 -0
  16. ansys/fluent/core/data_model_cache.py +22 -0
  17. ansys/fluent/core/examples/__init__.py +22 -0
  18. ansys/fluent/core/examples/downloads.py +22 -0
  19. ansys/fluent/core/exceptions.py +22 -0
  20. ansys/fluent/core/file_session.py +22 -0
  21. ansys/fluent/core/filereader/__init__.py +21 -0
  22. ansys/fluent/core/filereader/case_file.py +50 -6
  23. ansys/fluent/core/filereader/casereader.py +23 -1
  24. ansys/fluent/core/filereader/data_file.py +22 -0
  25. ansys/fluent/core/filereader/lispy.py +22 -0
  26. ansys/fluent/core/fluent_connection.py +24 -2
  27. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  28. ansys/fluent/core/generated/datamodel_252/MeshingUtilities.py +16 -0
  29. ansys/fluent/core/generated/datamodel_252/meshing.py +41 -0
  30. ansys/fluent/core/generated/fluent_version_252.py +3 -3
  31. ansys/fluent/core/generated/meshing/tui_252.py +33 -5
  32. ansys/fluent/core/generated/solver/settings_222.py +0 -72
  33. ansys/fluent/core/generated/solver/settings_222.pyi +0 -307
  34. ansys/fluent/core/generated/solver/settings_231.py +0 -574
  35. ansys/fluent/core/generated/solver/settings_231.pyi +0 -561
  36. ansys/fluent/core/generated/solver/settings_232.py +0 -527
  37. ansys/fluent/core/generated/solver/settings_232.pyi +0 -2803
  38. ansys/fluent/core/generated/solver/settings_241.py +0 -478
  39. ansys/fluent/core/generated/solver/settings_241.pyi +0 -522
  40. ansys/fluent/core/generated/solver/settings_242.py +0 -361
  41. ansys/fluent/core/generated/solver/settings_242.pyi +0 -591
  42. ansys/fluent/core/generated/solver/settings_251.py +0 -399
  43. ansys/fluent/core/generated/solver/settings_251.pyi +0 -629
  44. ansys/fluent/core/generated/solver/settings_252.py +11896 -7129
  45. ansys/fluent/core/generated/solver/settings_252.pyi +9127 -4847
  46. ansys/fluent/core/generated/solver/tui_252.py +549 -179
  47. ansys/fluent/core/get_build_details.py +22 -0
  48. ansys/fluent/core/journaling.py +38 -0
  49. ansys/fluent/core/launcher/__init__.py +22 -0
  50. ansys/fluent/core/launcher/container_launcher.py +63 -55
  51. ansys/fluent/core/launcher/error_handler.py +22 -0
  52. ansys/fluent/core/launcher/fluent_container.py +23 -1
  53. ansys/fluent/core/launcher/launcher.py +52 -4
  54. ansys/fluent/core/launcher/launcher_utils.py +24 -2
  55. ansys/fluent/core/launcher/pim_launcher.py +120 -86
  56. ansys/fluent/core/launcher/process_launch_string.py +22 -0
  57. ansys/fluent/core/launcher/pyfluent_enums.py +22 -0
  58. ansys/fluent/core/launcher/server_info.py +22 -0
  59. ansys/fluent/core/launcher/slurm_launcher.py +23 -1
  60. ansys/fluent/core/launcher/standalone_launcher.py +68 -63
  61. ansys/fluent/core/launcher/watchdog.py +22 -0
  62. ansys/fluent/core/logging.py +22 -0
  63. ansys/fluent/core/meshing/meshing_workflow.py +22 -0
  64. ansys/fluent/core/parametric.py +22 -0
  65. ansys/fluent/core/post_objects/__init__.py +21 -0
  66. ansys/fluent/core/post_objects/check_in_notebook.py +22 -0
  67. ansys/fluent/core/post_objects/meta.py +28 -6
  68. ansys/fluent/core/post_objects/post_helper.py +22 -0
  69. ansys/fluent/core/post_objects/post_object_definitions.py +22 -0
  70. ansys/fluent/core/post_objects/post_objects_container.py +22 -0
  71. ansys/fluent/core/post_objects/singleton_meta.py +22 -0
  72. ansys/fluent/core/post_objects/timing_decorator.py +22 -0
  73. ansys/fluent/core/pyfluent_warnings.py +55 -0
  74. ansys/fluent/core/report.py +77 -0
  75. ansys/fluent/core/rpvars.py +22 -0
  76. ansys/fluent/core/scheduler/__init__.py +22 -0
  77. ansys/fluent/core/scheduler/load_machines.py +22 -0
  78. ansys/fluent/core/scheduler/machine_list.py +22 -0
  79. ansys/fluent/core/search.py +22 -0
  80. ansys/fluent/core/services/__init__.py +22 -0
  81. ansys/fluent/core/services/api_upgrade.py +22 -0
  82. ansys/fluent/core/services/app_utilities.py +38 -0
  83. ansys/fluent/core/services/batch_ops.py +22 -0
  84. ansys/fluent/core/services/datamodel_se.py +22 -2
  85. ansys/fluent/core/services/datamodel_tui.py +22 -0
  86. ansys/fluent/core/services/deprecated_field_data.py +24 -2
  87. ansys/fluent/core/services/events.py +22 -0
  88. ansys/fluent/core/services/field_data.py +46 -15
  89. ansys/fluent/core/services/health_check.py +22 -0
  90. ansys/fluent/core/services/interceptors.py +22 -0
  91. ansys/fluent/core/services/monitor.py +22 -0
  92. ansys/fluent/core/services/reduction.py +22 -0
  93. ansys/fluent/core/services/scheme_eval.py +22 -0
  94. ansys/fluent/core/services/settings.py +22 -0
  95. ansys/fluent/core/services/solution_variables.py +23 -1
  96. ansys/fluent/core/services/streaming.py +22 -0
  97. ansys/fluent/core/services/transcript.py +22 -0
  98. ansys/fluent/core/session.py +36 -1
  99. ansys/fluent/core/session_base_meshing.py +22 -0
  100. ansys/fluent/core/session_meshing.py +22 -0
  101. ansys/fluent/core/session_meshing.pyi +22 -0
  102. ansys/fluent/core/session_pure_meshing.py +22 -0
  103. ansys/fluent/core/session_pure_meshing.pyi +22 -0
  104. ansys/fluent/core/session_shared.py +22 -0
  105. ansys/fluent/core/session_solver.py +23 -1
  106. ansys/fluent/core/session_solver.pyi +22 -0
  107. ansys/fluent/core/session_solver_aero.py +22 -0
  108. ansys/fluent/core/session_solver_icing.py +22 -0
  109. ansys/fluent/core/session_solver_lite.py +22 -0
  110. ansys/fluent/core/solver/__init__.py +22 -0
  111. ansys/fluent/core/solver/error_message.py +22 -0
  112. ansys/fluent/core/solver/flobject.py +26 -1
  113. ansys/fluent/core/solver/flunits.py +22 -0
  114. ansys/fluent/core/solver/function/__init__.py +22 -0
  115. ansys/fluent/core/solver/function/reduction.py +22 -0
  116. ansys/fluent/core/solver/settings_builtin_bases.py +22 -0
  117. ansys/fluent/core/solver/settings_builtin_data.py +22 -0
  118. ansys/fluent/core/solver/settings_external.py +22 -0
  119. ansys/fluent/core/streaming_services/__init__.py +21 -0
  120. ansys/fluent/core/streaming_services/datamodel_event_streaming.py +22 -0
  121. ansys/fluent/core/streaming_services/datamodel_streaming.py +22 -0
  122. ansys/fluent/core/streaming_services/events_streaming.py +23 -1
  123. ansys/fluent/core/streaming_services/field_data_streaming.py +22 -0
  124. ansys/fluent/core/streaming_services/monitor_streaming.py +23 -1
  125. ansys/fluent/core/streaming_services/streaming.py +22 -0
  126. ansys/fluent/core/streaming_services/transcript_streaming.py +22 -0
  127. ansys/fluent/core/systemcoupling.py +22 -0
  128. ansys/fluent/core/utils/__init__.py +22 -0
  129. ansys/fluent/core/utils/data_transfer.py +22 -0
  130. ansys/fluent/core/utils/deprecate.py +25 -2
  131. ansys/fluent/core/utils/dictionary_operations.py +22 -0
  132. ansys/fluent/core/utils/dump_session_data.py +22 -0
  133. ansys/fluent/core/utils/event_loop.py +22 -0
  134. ansys/fluent/core/utils/execution.py +22 -0
  135. ansys/fluent/core/utils/file_transfer_service.py +26 -4
  136. ansys/fluent/core/utils/fix_doc.py +22 -0
  137. ansys/fluent/core/utils/fldoc.py +22 -0
  138. ansys/fluent/core/utils/fluent_version.py +22 -0
  139. ansys/fluent/core/utils/networking.py +22 -0
  140. ansys/fluent/core/utils/setup_for_fluent.py +22 -0
  141. ansys/fluent/core/workflow.py +26 -1
  142. {ansys_fluent_core-0.29.dev3.dist-info → ansys_fluent_core-0.30.dev1.dist-info}/LICENSE +8 -8
  143. {ansys_fluent_core-0.29.dev3.dist-info → ansys_fluent_core-0.30.dev1.dist-info}/METADATA +10 -8
  144. ansys_fluent_core-0.30.dev1.dist-info/RECORD +219 -0
  145. ansys/fluent/core/warnings.py +0 -33
  146. ansys_fluent_core-0.29.dev3.dist-info/RECORD +0 -218
  147. {ansys_fluent_core-0.29.dev3.dist-info → ansys_fluent_core-0.30.dev1.dist-info}/WHEEL +0 -0
@@ -1,3 +1,25 @@
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
+
1
23
  """Get the git build info."""
2
24
 
3
25
  from collections import OrderedDict
@@ -1,6 +1,38 @@
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
+
1
23
  """A module for controlling the writing of Fluent Python journals."""
2
24
 
3
25
 
26
+ class PythonJournalNotSupported(RuntimeError):
27
+ """Raised when Python journal is unsupported."""
28
+
29
+ def __init__(self):
30
+ """Initialize PythonJournalNotSupported."""
31
+ super().__init__(
32
+ "Python journaling is available in Fluent version 2023 R1 or later."
33
+ )
34
+
35
+
4
36
  class Journal:
5
37
  """Control the writing of Fluent Python journals."""
6
38
 
@@ -8,10 +40,16 @@ class Journal:
8
40
  """__init__ method of Journal class."""
9
41
  self._app_utilities = app_utilities
10
42
 
43
+ def _check_python_journaling_support(self):
44
+ if self._app_utilities.get_product_version() == "22.2.0":
45
+ raise PythonJournalNotSupported()
46
+
11
47
  def start(self, file_name: str):
12
48
  """Start writing a Fluent Python journal at the specified file_name."""
49
+ self._check_python_journaling_support()
13
50
  self._app_utilities.start_python_journal(journal_name=file_name)
14
51
 
15
52
  def stop(self):
16
53
  """Stop writing the Fluent Python journal."""
54
+ self._check_python_journaling_support()
17
55
  self._app_utilities.stop_python_journal()
@@ -1,3 +1,25 @@
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
+
1
23
  """Public objects and functions under launcher."""
2
24
 
3
25
  from ..utils.fluent_version import FluentVersion # noqa: F401
@@ -1,3 +1,25 @@
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
+
1
23
  """Provides a module for launching Fluent in container mode.
2
24
 
3
25
  Examples
@@ -57,7 +79,7 @@ class DockerLauncher:
57
79
  precision: Precision | str | None = None,
58
80
  processor_count: int | None = None,
59
81
  start_timeout: int = 60,
60
- additional_arguments: str | None = "",
82
+ additional_arguments: str = "",
61
83
  container_dict: dict | None = None,
62
84
  dry_run: bool = False,
63
85
  cleanup_on_exit: bool = True,
@@ -67,76 +89,63 @@ class DockerLauncher:
67
89
  start_watchdog: bool | None = None,
68
90
  file_transfer_service: Any | None = None,
69
91
  ):
70
- """Launch Fluent session in container mode.
92
+ """
93
+ Launch a Fluent session in container mode.
71
94
 
72
95
  Parameters
73
96
  ----------
74
97
  mode : FluentMode
75
- Launch mode of Fluent to point to a specific session type.
98
+ Specifies the launch mode of Fluent to target a specific session type.
76
99
  ui_mode : UIMode
77
- Fluent user interface mode. Options are the values of the ``UIMode`` enum.
100
+ Defines the user interface mode for Fluent. Options correspond to values in the ``UIMode`` enum.
78
101
  graphics_driver : FluentWindowsGraphicsDriver or FluentLinuxGraphicsDriver
79
- Graphics driver of Fluent. Options are the values of the
80
- ``FluentWindowsGraphicsDriver`` enum in Windows or the values of the
81
- ``FluentLinuxGraphicsDriver`` enum in Linux.
82
- product_version : FluentVersion or str or float or int, optional
83
- Version of Ansys Fluent to launch. To use Fluent version 2025 R1, pass
84
- any of ``FluentVersion.v251``, ``"25.1.0"``, ``"25.1"``, ``25.1``, or ``251``.
85
- The default is ``None``, in which case the newest installed version is used.
102
+ Specifies the graphics driver for Fluent. Options are from the ``FluentWindowsGraphicsDriver`` enum
103
+ (for Windows) or the ``FluentLinuxGraphicsDriver`` enum (for Linux).
104
+ product_version : FluentVersion or str or float or int, optional
105
+ Indicates the version of Ansys Fluent to launch. For example, to use version 2025 R1, pass
106
+ any of ``FluentVersion.v251``, ``"25.1.0"``, ``"25.1"``, ``25.1``, or ``251``. Defaults to ``None``,
107
+ which uses the newest installed version.
86
108
  dimension : Dimension or int, optional
87
- Geometric dimensionality of the Fluent simulation. The default is ``None``,
88
- in which case ``Dimension.THREE`` is used. Options are either the values of the
89
- ``Dimension`` enum (``Dimension.TWO`` or ``Dimension.THREE``) or any of ``2`` and ``3``.
109
+ Specifies the geometric dimensionality of the Fluent simulation. Defaults to ``None``,
110
+ which corresponds to ``Dimension.THREE``. Acceptable values include ``Dimension.TWO``,
111
+ ``Dimension.THREE``, or integers ``2`` and ``3``.
90
112
  precision : Precision or str, optional
91
- Floating point precision. The default is ``None``, in which case ``Precision.DOUBLE``
92
- is used. Options are either the values of the ``Precision`` enum (``Precision.SINGLE``
93
- or ``Precision.DOUBLE``) or any of ``"double"`` and ``"single"``.
113
+ Defines the floating point precision. Defaults to ``None``, which corresponds to
114
+ ``Precision.DOUBLE``. Acceptable values include ``Precision.SINGLE``,
115
+ ``Precision.DOUBLE``, or strings ``"single"`` and ``"double"``.
94
116
  processor_count : int, optional
95
- Number of processors. The default is ``None``, in which case ``1``
96
- processor is used. In job scheduler environments the total number of
97
- allocated cores is clamped to value of ``processor_count``.
117
+ Specifies the number of processors to use. Defaults to ``None``, which uses 1 processor.
118
+ In job scheduler environments, this value limits the total number of allocated cores.
98
119
  start_timeout : int, optional
99
- Maximum allowable time in seconds for connecting to the Fluent
100
- server. The default is ``60``.
120
+ Maximum allowable time in seconds for connecting to the Fluent server. Defaults to 60 seconds.
101
121
  additional_arguments : str, optional
102
- Additional arguments to send to Fluent as a string in the same
103
- format they are normally passed to Fluent on the command line.
122
+ Additional command-line arguments for Fluent, formatted as they would be on the command line.
104
123
  container_dict : dict, optional
105
- Dictionary for Fluent Docker container configuration. The configuration settings specified in this
106
- dictionary are used to launch Fluent inside a Docker container.
107
- See also :mod:`~ansys.fluent.core.launcher.fluent_container`.
124
+ Configuration dictionary for launching Fluent inside a Docker container. See also
125
+ :mod:`~ansys.fluent.core.launcher.fluent_container`.
108
126
  dry_run : bool, optional
109
- Defaults to False. If True, will not launch Fluent, and will instead print configuration information
110
- that would be used as if Fluent was being launched. If dry running a container start,
111
- ``launch_fluent()`` will return the configured ``container_dict``.
112
- cleanup_on_exit : bool, optional
113
- Whether to shut down the connected Fluent session when PyFluent is
114
- exited, or the ``exit()`` method is called on the session instance,
115
- or if the session instance becomes unreferenced. The default is ``True``.
116
- start_transcript : bool, optional
117
- Whether to start streaming the Fluent transcript in the client. The
118
- default is ``True``. You can stop and start the streaming of the
119
- Fluent transcript subsequently via the method calls, ``transcript.start()``
120
- and ``transcript.stop()`` on the session object.
127
+ If True, does not launch Fluent but prints configuration information instead. If dry running a
128
+ container start, this method will return the configured ``container_dict``. Defaults to False.
129
+ cleanup_on_exit : bool
130
+ Determines whether to shut down the connected Fluent session upon exit or when calling
131
+ the session's `exit()` method. Defaults to True.
132
+ start_transcript : bool
133
+ Indicates whether to start streaming the Fluent transcript in the client. Defaults to True;
134
+ streaming can be controlled via `transcript.start()` and `transcript.stop()` methods on the session object.
121
135
  py : bool, optional
122
- If True, Fluent will run in Python mode. Default is None.
136
+ If True, runs Fluent in Python mode. Defaults to None.
123
137
  gpu : bool, optional
124
- If True, Fluent will start with GPU Solver.
138
+ If True, starts Fluent with GPU Solver enabled.
125
139
  start_watchdog : bool, optional
126
- When ``cleanup_on_exit`` is True, ``start_watchdog`` defaults to True,
127
- which means an independent watchdog process is run to ensure
128
- that any local GUI-less Fluent sessions started by PyFluent are properly closed (or killed if frozen)
129
- when the current Python process ends.
130
- file_transfer_service : optional
131
- File transfer service. Uploads/downloads files to/from the server.
140
+ If True and `cleanup_on_exit` is True, an independent watchdog process is run to ensure that any local
141
+ GUI-less Fluent sessions started by PyFluent are properly closed when the current Python process ends.
142
+ file_transfer_service : Any, optional
143
+ Service for uploading/downloading files to/from the server.
132
144
 
133
145
  Returns
134
146
  -------
135
- :obj:`~typing.Union` [:class:`Meshing<ansys.fluent.core.session_meshing.Meshing>`, \
136
- :class:`~ansys.fluent.core.session_pure_meshing.PureMeshing`, \
137
- :class:`~ansys.fluent.core.session_solver.Solver`, \
138
- :class:`~ansys.fluent.core.session_solver_icing.SolverIcing`, dict]
139
- Session object or configuration dictionary if ``dry_run = True``.
147
+ Meshing | PureMeshing | Solver | SolverIcing | dict
148
+ Session object or configuration dictionary if ``dry_run`` is True.
140
149
 
141
150
  Raises
142
151
  ------
@@ -145,9 +154,8 @@ class DockerLauncher:
145
154
 
146
155
  Notes
147
156
  -----
148
- Job scheduler environments such as SLURM, LSF, PBS, etc. allocates resources / compute nodes.
149
- The allocated machines and core counts are queried from the scheduler environment and
150
- passed to Fluent.
157
+ In job scheduler environments (e.g., SLURM, LSF, PBS), resources and compute nodes are allocated,
158
+ and core counts are queried from these environments before being passed to Fluent.
151
159
  """
152
160
  self.argvals, self.new_session = _get_argvals_and_session(locals().copy())
153
161
  if self.argvals["start_timeout"] is None:
@@ -1,3 +1,25 @@
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
+
1
23
  """Provides a module for customized error handling."""
2
24
 
3
25
  from ansys.fluent.core.exceptions import InvalidArgument
@@ -1,3 +1,25 @@
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
+
1
23
  """Provides a module for launching and configuring local Fluent Docker container runs.
2
24
 
3
25
  Notes
@@ -343,7 +365,7 @@ def configure_container_dict(
343
365
  container_dict["environment"] = {}
344
366
  container_dict["environment"]["FLUENT_LAUNCHED_FROM_PYFLUENT"] = "1"
345
367
 
346
- fluent_commands = ["-gu", f"-sifile={container_server_info_file}"] + args
368
+ fluent_commands = [f"-sifile={container_server_info_file}"] + args
347
369
 
348
370
  container_dict_default = {}
349
371
  container_dict_default.update(
@@ -1,3 +1,25 @@
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
+
1
23
  """Provides a module for launching Fluent.
2
24
 
3
25
  This module supports both starting Fluent locally and connecting to a remote instance
@@ -12,7 +34,10 @@ from typing import Any, Dict
12
34
  import ansys.fluent.core as pyfluent
13
35
  from ansys.fluent.core.fluent_connection import FluentConnection
14
36
  from ansys.fluent.core.launcher.container_launcher import DockerLauncher
15
- from ansys.fluent.core.launcher.launcher_utils import _confirm_watchdog_start
37
+ from ansys.fluent.core.launcher.launcher_utils import (
38
+ _confirm_watchdog_start,
39
+ is_windows,
40
+ )
16
41
  from ansys.fluent.core.launcher.pim_launcher import PIMLauncher
17
42
  from ansys.fluent.core.launcher.pyfluent_enums import (
18
43
  Dimension,
@@ -29,13 +54,13 @@ from ansys.fluent.core.launcher.server_info import _get_server_info
29
54
  from ansys.fluent.core.launcher.slurm_launcher import SlurmFuture, SlurmLauncher
30
55
  from ansys.fluent.core.launcher.standalone_launcher import StandaloneLauncher
31
56
  import ansys.fluent.core.launcher.watchdog as watchdog
57
+ from ansys.fluent.core.pyfluent_warnings import PyFluentDeprecationWarning
32
58
  from ansys.fluent.core.session_meshing import Meshing
33
59
  from ansys.fluent.core.session_pure_meshing import PureMeshing
34
60
  from ansys.fluent.core.session_solver import Solver
35
61
  from ansys.fluent.core.session_solver_icing import SolverIcing
36
62
  from ansys.fluent.core.utils.deprecate import deprecate_argument
37
63
  from ansys.fluent.core.utils.fluent_version import FluentVersion
38
- from ansys.fluent.core.warnings import PyFluentDeprecationWarning
39
64
 
40
65
  _THIS_DIR = os.path.dirname(__file__)
41
66
  _OPTIONS_FILE = os.path.join(_THIS_DIR, "fluent_launcher_options.json")
@@ -71,6 +96,27 @@ def create_launcher(fluent_launch_mode: LaunchMode = None, **kwargs):
71
96
  return SlurmLauncher(**kwargs)
72
97
 
73
98
 
99
+ def _show_gui_to_ui_mode(old_arg_val, **kwds):
100
+ start_container = kwds.get("start_container")
101
+ container_dict = kwds.get("container_dict")
102
+ if old_arg_val is True:
103
+ if start_container is True:
104
+ return UIMode.NO_GUI
105
+ elif container_dict:
106
+ return UIMode.NO_GUI
107
+ elif os.getenv("PYFLUENT_LAUNCH_CONTAINER") == "1":
108
+ return UIMode.NO_GUI
109
+ else:
110
+ return UIMode.GUI
111
+ elif not old_arg_val:
112
+ if is_windows():
113
+ return UIMode.HIDDEN_GUI
114
+ elif not is_windows():
115
+ return UIMode.NO_GUI
116
+ else:
117
+ return None
118
+
119
+
74
120
  def _version_to_dimension(old_arg_val):
75
121
  if old_arg_val == "2d":
76
122
  return Dimension.TWO
@@ -84,7 +130,7 @@ def _version_to_dimension(old_arg_val):
84
130
  @deprecate_argument(
85
131
  old_arg="show_gui",
86
132
  new_arg="ui_mode",
87
- converter=lambda old_arg_val: UIMode.GUI if old_arg_val is True else None,
133
+ converter=_show_gui_to_ui_mode,
88
134
  warning_cls=PyFluentDeprecationWarning,
89
135
  )
90
136
  @deprecate_argument(
@@ -100,7 +146,7 @@ def launch_fluent(
100
146
  processor_count: int | None = None,
101
147
  journal_file_names: None | str | list[str] = None,
102
148
  start_timeout: int = None,
103
- additional_arguments: str | None = "",
149
+ additional_arguments: str = "",
104
150
  env: Dict[str, Any] | None = None,
105
151
  start_container: bool | None = None,
106
152
  container_dict: dict | None = None,
@@ -264,6 +310,8 @@ def launch_fluent(
264
310
  if env is None:
265
311
  env = {}
266
312
 
313
+ pyfluent.FLUENT_PRECISION_MODE = precision
314
+
267
315
  def _mode_to_launcher_type(fluent_launch_mode: LaunchMode):
268
316
  launcher_mode_type = {
269
317
  LaunchMode.CONTAINER: DockerLauncher,
@@ -1,3 +1,25 @@
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
+
1
23
  """Provides a module for launching utilities."""
2
24
 
3
25
  import logging
@@ -40,8 +62,8 @@ def _get_subprocess_kwargs_for_fluent(env: Dict[str, Any], argvals) -> Dict[str,
40
62
  fluent_env.update({k: str(v) for k, v in env.items()})
41
63
  fluent_env["REMOTING_THROW_LAST_TUI_ERROR"] = "1"
42
64
  if pyfluent.CLEAR_FLUENT_PARA_ENVS:
43
- del fluent_env["PARA_NPROCS"]
44
- del fluent_env["PARA_MESH_NPROCS"]
65
+ fluent_env.pop("PARA_NPROCS", None)
66
+ fluent_env.pop("PARA_MESH_NPROCS", None)
45
67
 
46
68
  if pyfluent.LAUNCH_FLUENT_IP:
47
69
  fluent_env["REMOTING_SERVER_ADDRESS"] = pyfluent.LAUNCH_FLUENT_IP