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.
- ansys/fluent/core/__init__.py +31 -6
- ansys/fluent/core/_stand_alone_datamodel_client/_datamodel_client.py +22 -0
- ansys/fluent/core/_version.py +23 -1
- ansys/fluent/core/codegen/__init__.py +22 -0
- ansys/fluent/core/codegen/allapigen.py +38 -5
- ansys/fluent/core/codegen/builtin_settingsgen.py +22 -0
- ansys/fluent/core/codegen/data/__init__.py +21 -0
- ansys/fluent/core/codegen/data/fluent_gui_help_patch.py +22 -0
- ansys/fluent/core/codegen/data/meshing_utilities_examples.py +22 -0
- ansys/fluent/core/codegen/datamodelgen.py +40 -4
- ansys/fluent/core/codegen/print_fluent_version.py +22 -0
- ansys/fluent/core/codegen/settingsgen.py +67 -4
- ansys/fluent/core/codegen/tuigen.py +43 -5
- ansys/fluent/core/codegen/walk_api.py +22 -0
- ansys/fluent/core/codegen/write_settings_yaml.py +22 -0
- ansys/fluent/core/data_model_cache.py +22 -0
- ansys/fluent/core/examples/__init__.py +22 -0
- ansys/fluent/core/examples/downloads.py +22 -0
- ansys/fluent/core/exceptions.py +22 -0
- ansys/fluent/core/file_session.py +22 -0
- ansys/fluent/core/filereader/__init__.py +21 -0
- ansys/fluent/core/filereader/case_file.py +50 -6
- ansys/fluent/core/filereader/casereader.py +23 -1
- ansys/fluent/core/filereader/data_file.py +22 -0
- ansys/fluent/core/filereader/lispy.py +22 -0
- ansys/fluent/core/fluent_connection.py +24 -2
- ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
- ansys/fluent/core/generated/datamodel_252/MeshingUtilities.py +16 -0
- ansys/fluent/core/generated/datamodel_252/meshing.py +41 -0
- ansys/fluent/core/generated/fluent_version_252.py +3 -3
- ansys/fluent/core/generated/meshing/tui_252.py +33 -5
- ansys/fluent/core/generated/solver/settings_222.py +0 -72
- ansys/fluent/core/generated/solver/settings_222.pyi +0 -307
- ansys/fluent/core/generated/solver/settings_231.py +0 -574
- ansys/fluent/core/generated/solver/settings_231.pyi +0 -561
- ansys/fluent/core/generated/solver/settings_232.py +0 -527
- ansys/fluent/core/generated/solver/settings_232.pyi +0 -2803
- ansys/fluent/core/generated/solver/settings_241.py +0 -478
- ansys/fluent/core/generated/solver/settings_241.pyi +0 -522
- ansys/fluent/core/generated/solver/settings_242.py +0 -361
- ansys/fluent/core/generated/solver/settings_242.pyi +0 -591
- ansys/fluent/core/generated/solver/settings_251.py +0 -399
- ansys/fluent/core/generated/solver/settings_251.pyi +0 -629
- ansys/fluent/core/generated/solver/settings_252.py +11896 -7129
- ansys/fluent/core/generated/solver/settings_252.pyi +9127 -4847
- ansys/fluent/core/generated/solver/tui_252.py +549 -179
- ansys/fluent/core/get_build_details.py +22 -0
- ansys/fluent/core/journaling.py +38 -0
- ansys/fluent/core/launcher/__init__.py +22 -0
- ansys/fluent/core/launcher/container_launcher.py +63 -55
- ansys/fluent/core/launcher/error_handler.py +22 -0
- ansys/fluent/core/launcher/fluent_container.py +23 -1
- ansys/fluent/core/launcher/launcher.py +52 -4
- ansys/fluent/core/launcher/launcher_utils.py +24 -2
- ansys/fluent/core/launcher/pim_launcher.py +120 -86
- ansys/fluent/core/launcher/process_launch_string.py +22 -0
- ansys/fluent/core/launcher/pyfluent_enums.py +22 -0
- ansys/fluent/core/launcher/server_info.py +22 -0
- ansys/fluent/core/launcher/slurm_launcher.py +23 -1
- ansys/fluent/core/launcher/standalone_launcher.py +68 -63
- ansys/fluent/core/launcher/watchdog.py +22 -0
- ansys/fluent/core/logging.py +22 -0
- ansys/fluent/core/meshing/meshing_workflow.py +22 -0
- ansys/fluent/core/parametric.py +22 -0
- ansys/fluent/core/post_objects/__init__.py +21 -0
- ansys/fluent/core/post_objects/check_in_notebook.py +22 -0
- ansys/fluent/core/post_objects/meta.py +28 -6
- ansys/fluent/core/post_objects/post_helper.py +22 -0
- ansys/fluent/core/post_objects/post_object_definitions.py +22 -0
- ansys/fluent/core/post_objects/post_objects_container.py +22 -0
- ansys/fluent/core/post_objects/singleton_meta.py +22 -0
- ansys/fluent/core/post_objects/timing_decorator.py +22 -0
- ansys/fluent/core/pyfluent_warnings.py +55 -0
- ansys/fluent/core/report.py +77 -0
- ansys/fluent/core/rpvars.py +22 -0
- ansys/fluent/core/scheduler/__init__.py +22 -0
- ansys/fluent/core/scheduler/load_machines.py +22 -0
- ansys/fluent/core/scheduler/machine_list.py +22 -0
- ansys/fluent/core/search.py +22 -0
- ansys/fluent/core/services/__init__.py +22 -0
- ansys/fluent/core/services/api_upgrade.py +22 -0
- ansys/fluent/core/services/app_utilities.py +38 -0
- ansys/fluent/core/services/batch_ops.py +22 -0
- ansys/fluent/core/services/datamodel_se.py +22 -2
- ansys/fluent/core/services/datamodel_tui.py +22 -0
- ansys/fluent/core/services/deprecated_field_data.py +24 -2
- ansys/fluent/core/services/events.py +22 -0
- ansys/fluent/core/services/field_data.py +46 -15
- ansys/fluent/core/services/health_check.py +22 -0
- ansys/fluent/core/services/interceptors.py +22 -0
- ansys/fluent/core/services/monitor.py +22 -0
- ansys/fluent/core/services/reduction.py +22 -0
- ansys/fluent/core/services/scheme_eval.py +22 -0
- ansys/fluent/core/services/settings.py +22 -0
- ansys/fluent/core/services/solution_variables.py +23 -1
- ansys/fluent/core/services/streaming.py +22 -0
- ansys/fluent/core/services/transcript.py +22 -0
- ansys/fluent/core/session.py +36 -1
- ansys/fluent/core/session_base_meshing.py +22 -0
- ansys/fluent/core/session_meshing.py +22 -0
- ansys/fluent/core/session_meshing.pyi +22 -0
- ansys/fluent/core/session_pure_meshing.py +22 -0
- ansys/fluent/core/session_pure_meshing.pyi +22 -0
- ansys/fluent/core/session_shared.py +22 -0
- ansys/fluent/core/session_solver.py +23 -1
- ansys/fluent/core/session_solver.pyi +22 -0
- ansys/fluent/core/session_solver_aero.py +22 -0
- ansys/fluent/core/session_solver_icing.py +22 -0
- ansys/fluent/core/session_solver_lite.py +22 -0
- ansys/fluent/core/solver/__init__.py +22 -0
- ansys/fluent/core/solver/error_message.py +22 -0
- ansys/fluent/core/solver/flobject.py +26 -1
- ansys/fluent/core/solver/flunits.py +22 -0
- ansys/fluent/core/solver/function/__init__.py +22 -0
- ansys/fluent/core/solver/function/reduction.py +22 -0
- ansys/fluent/core/solver/settings_builtin_bases.py +22 -0
- ansys/fluent/core/solver/settings_builtin_data.py +22 -0
- ansys/fluent/core/solver/settings_external.py +22 -0
- ansys/fluent/core/streaming_services/__init__.py +21 -0
- ansys/fluent/core/streaming_services/datamodel_event_streaming.py +22 -0
- ansys/fluent/core/streaming_services/datamodel_streaming.py +22 -0
- ansys/fluent/core/streaming_services/events_streaming.py +23 -1
- ansys/fluent/core/streaming_services/field_data_streaming.py +22 -0
- ansys/fluent/core/streaming_services/monitor_streaming.py +23 -1
- ansys/fluent/core/streaming_services/streaming.py +22 -0
- ansys/fluent/core/streaming_services/transcript_streaming.py +22 -0
- ansys/fluent/core/systemcoupling.py +22 -0
- ansys/fluent/core/utils/__init__.py +22 -0
- ansys/fluent/core/utils/data_transfer.py +22 -0
- ansys/fluent/core/utils/deprecate.py +25 -2
- ansys/fluent/core/utils/dictionary_operations.py +22 -0
- ansys/fluent/core/utils/dump_session_data.py +22 -0
- ansys/fluent/core/utils/event_loop.py +22 -0
- ansys/fluent/core/utils/execution.py +22 -0
- ansys/fluent/core/utils/file_transfer_service.py +26 -4
- ansys/fluent/core/utils/fix_doc.py +22 -0
- ansys/fluent/core/utils/fldoc.py +22 -0
- ansys/fluent/core/utils/fluent_version.py +22 -0
- ansys/fluent/core/utils/networking.py +22 -0
- ansys/fluent/core/utils/setup_for_fluent.py +22 -0
- ansys/fluent/core/workflow.py +26 -1
- {ansys_fluent_core-0.29.dev3.dist-info → ansys_fluent_core-0.30.dev1.dist-info}/LICENSE +8 -8
- {ansys_fluent_core-0.29.dev3.dist-info → ansys_fluent_core-0.30.dev1.dist-info}/METADATA +10 -8
- ansys_fluent_core-0.30.dev1.dist-info/RECORD +219 -0
- ansys/fluent/core/warnings.py +0 -33
- ansys_fluent_core-0.29.dev3.dist-info/RECORD +0 -218
- {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
|
"""Provides a module for launching Fluent in pim mode.
|
|
2
24
|
|
|
3
25
|
Examples
|
|
@@ -24,7 +46,6 @@ from ansys.fluent.core.launcher.pyfluent_enums import (
|
|
|
24
46
|
FluentMode,
|
|
25
47
|
FluentWindowsGraphicsDriver,
|
|
26
48
|
Precision,
|
|
27
|
-
UIMode,
|
|
28
49
|
_get_argvals_and_session,
|
|
29
50
|
)
|
|
30
51
|
from ansys.fluent.core.session_meshing import Meshing
|
|
@@ -46,7 +67,6 @@ class PIMLauncher:
|
|
|
46
67
|
def __init__(
|
|
47
68
|
self,
|
|
48
69
|
mode: FluentMode | str | None = None,
|
|
49
|
-
ui_mode: UIMode | str | None = None,
|
|
50
70
|
graphics_driver: (
|
|
51
71
|
FluentWindowsGraphicsDriver | FluentLinuxGraphicsDriver | str | None
|
|
52
72
|
) = None,
|
|
@@ -55,76 +75,60 @@ class PIMLauncher:
|
|
|
55
75
|
precision: Precision | str | None = None,
|
|
56
76
|
processor_count: int | None = None,
|
|
57
77
|
start_timeout: int = 60,
|
|
58
|
-
additional_arguments: str
|
|
78
|
+
additional_arguments: str = "",
|
|
59
79
|
cleanup_on_exit: bool = True,
|
|
60
80
|
start_transcript: bool = True,
|
|
61
|
-
py: bool | None = None,
|
|
62
81
|
gpu: bool | None = None,
|
|
63
82
|
start_watchdog: bool | None = None,
|
|
64
83
|
file_transfer_service: Any | None = None,
|
|
65
84
|
):
|
|
66
|
-
"""
|
|
85
|
+
"""
|
|
86
|
+
Launch a Fluent session in `PIM <https://pypim.docs.pyansys.com/version/stable/>`_ mode.
|
|
67
87
|
|
|
68
88
|
Parameters
|
|
69
89
|
----------
|
|
70
90
|
mode : FluentMode
|
|
71
|
-
|
|
72
|
-
ui_mode : UIMode
|
|
73
|
-
Fluent user interface mode. Options are the values of the ``UIMode`` enum.
|
|
91
|
+
Specifies the launch mode of Fluent for targeting a specific session type.
|
|
74
92
|
graphics_driver : FluentWindowsGraphicsDriver or FluentLinuxGraphicsDriver
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
``FluentLinuxGraphicsDriver`` enum in Linux.
|
|
93
|
+
Specifies the graphics driver for Fluent. Options are from the ``FluentWindowsGraphicsDriver`` enum
|
|
94
|
+
(for Windows) or the ``FluentLinuxGraphicsDriver`` enum (for Linux).
|
|
78
95
|
product_version : FluentVersion or str or float or int, optional
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
96
|
+
Indicates the version of Ansys Fluent to launch. For example, to use version 2025 R1, pass
|
|
97
|
+
any of ``FluentVersion.v251``, ``"25.1.0"``, ``"25.1"``, ``25.1``, or ``251``. Defaults to ``None``,
|
|
98
|
+
which uses the newest installed version.
|
|
82
99
|
dimension : Dimension or int, optional
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
``Dimension
|
|
100
|
+
Specifies the geometric dimensionality of the Fluent simulation. Defaults to ``None``,
|
|
101
|
+
which corresponds to ``Dimension.THREE``. Acceptable values include ``Dimension.TWO``,
|
|
102
|
+
``Dimension.THREE``, or integers ``2`` and ``3``.
|
|
86
103
|
precision : Precision or str, optional
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
104
|
+
Defines the floating point precision. Defaults to ``None``, which corresponds to
|
|
105
|
+
``Precision.DOUBLE``. Acceptable values include ``Precision.SINGLE``,
|
|
106
|
+
``Precision.DOUBLE``, or strings ``"single"`` and ``"double"``.
|
|
90
107
|
processor_count : int, optional
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
allocated cores is clamped to value of ``processor_count``.
|
|
108
|
+
Specifies the number of processors to use. Defaults to ``None``, which uses 1 processor.
|
|
109
|
+
In job scheduler environments, this value limits the total number of allocated cores.
|
|
94
110
|
start_timeout : int, optional
|
|
95
|
-
Maximum allowable time in seconds for connecting to the Fluent
|
|
96
|
-
server. The default is ``60``.
|
|
111
|
+
Maximum allowable time in seconds for connecting to the Fluent server. Defaults to 60 seconds.
|
|
97
112
|
additional_arguments : str, optional
|
|
98
|
-
Additional arguments
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
Whether to start streaming the Fluent transcript in the client. The
|
|
106
|
-
default is ``True``. You can stop and start the streaming of the
|
|
107
|
-
Fluent transcript subsequently via the method calls, ``transcript.start()``
|
|
108
|
-
and ``transcript.stop()`` on the session object.
|
|
109
|
-
py : bool, optional
|
|
110
|
-
If True, Fluent will run in Python mode. Default is None.
|
|
113
|
+
Additional command-line arguments for Fluent, formatted as they would be on the command line.
|
|
114
|
+
cleanup_on_exit : bool
|
|
115
|
+
Determines whether to shut down the connected Fluent session upon exit or when calling
|
|
116
|
+
the session's `exit()` method. Defaults to True.
|
|
117
|
+
start_transcript : bool
|
|
118
|
+
Indicates whether to start streaming the Fluent transcript in the client. Defaults to True;
|
|
119
|
+
streaming can be controlled via `transcript.start()` and `transcript.stop()` methods on the session object.
|
|
111
120
|
gpu : bool, optional
|
|
112
|
-
If True, Fluent
|
|
121
|
+
If True, starts Fluent with GPU Solver enabled.
|
|
113
122
|
start_watchdog : bool, optional
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
file_transfer_service : optional
|
|
119
|
-
File transfer service. Uploads/downloads files to/from the server.
|
|
123
|
+
If True and `cleanup_on_exit` is True, an independent watchdog process is run to ensure that any local
|
|
124
|
+
GUI-less Fluent sessions started by PyFluent are properly closed when the current Python process ends.
|
|
125
|
+
file_transfer_service : Any, optional
|
|
126
|
+
Service for uploading/downloading files to/from the server.
|
|
120
127
|
|
|
121
128
|
Returns
|
|
122
129
|
-------
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
:class:`~ansys.fluent.core.session_solver.Solver`, \
|
|
126
|
-
:class:`~ansys.fluent.core.session_solver_icing.SolverIcing`, dict]
|
|
127
|
-
Session object or configuration dictionary if ``dry_run = True``.
|
|
130
|
+
Union[Meshing, PureMeshing, Solver, SolverIcing, dict]
|
|
131
|
+
Session object or configuration dictionary if ``dry_run`` is True.
|
|
128
132
|
|
|
129
133
|
Raises
|
|
130
134
|
------
|
|
@@ -133,10 +137,10 @@ class PIMLauncher:
|
|
|
133
137
|
|
|
134
138
|
Notes
|
|
135
139
|
-----
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
passed to Fluent.
|
|
140
|
+
In job scheduler environments (e.g., SLURM, LSF, PBS), resources and compute nodes are allocated,
|
|
141
|
+
and core counts are queried from these environments before being passed to Fluent.
|
|
139
142
|
"""
|
|
143
|
+
|
|
140
144
|
if additional_arguments:
|
|
141
145
|
logger.warning(
|
|
142
146
|
"'additional_arguments' option for 'launch_fluent()' method is not supported "
|
|
@@ -186,9 +190,8 @@ def launch_remote_fluent(
|
|
|
186
190
|
) -> Meshing | PureMeshing | Solver | SolverIcing:
|
|
187
191
|
"""Launch Fluent remotely using `PyPIM <https://pypim.docs.pyansys.com>`.
|
|
188
192
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
`pypim.is_configured <ansys.platform.instancemanagement.is_configured>`
|
|
193
|
+
Ensure that you are in an environment where PyPIM is configured.
|
|
194
|
+
Use the :func:`pypim.is_configured <ansys.platform.instancemanagement.is_configured>`
|
|
192
195
|
method to verify that PyPIM is configured.
|
|
193
196
|
|
|
194
197
|
Parameters
|
|
@@ -196,58 +199,48 @@ def launch_remote_fluent(
|
|
|
196
199
|
session_cls: type(Meshing) | type(PureMeshing) | type(Solver) | type(SolverIcing)
|
|
197
200
|
Session type.
|
|
198
201
|
start_transcript: bool
|
|
199
|
-
Whether to start streaming the Fluent transcript in the client.
|
|
200
|
-
default is ``True``. You can stop and start the streaming of the
|
|
201
|
-
Fluent transcript subsequently via method calls on the session object.
|
|
202
|
+
Whether to start streaming the Fluent transcript in the client.
|
|
202
203
|
product_version : str, optional
|
|
203
|
-
Version of Ansys Fluent to launch.
|
|
204
|
-
The default is ``None``, in which case the newest installed version is used.
|
|
204
|
+
Version of Ansys Fluent to launch. Default is ``None`` for the newest version.
|
|
205
205
|
cleanup_on_exit : bool, optional
|
|
206
|
-
Whether to clean up and exit Fluent when Python exits
|
|
207
|
-
is collected for the Fluent Python instance. The default is ``True``.
|
|
206
|
+
Whether to clean up and exit Fluent when Python exits. Default is ``True``.
|
|
208
207
|
mode : FluentMode, optional
|
|
209
|
-
|
|
210
|
-
``FluentMode.SOLVER``.
|
|
208
|
+
Launch Fluent in meshing mode. Default is ``FluentMode.SOLVER``.
|
|
211
209
|
dimensionality : str, optional
|
|
212
|
-
Geometric dimensionality of the Fluent simulation.
|
|
213
|
-
in which case ``"3d"`` is used. Options are ``"3d"`` and ``"2d"``.
|
|
210
|
+
Geometric dimensionality of the Fluent simulation. Default is ``None`` (3D).
|
|
214
211
|
file_transfer_service : optional
|
|
215
|
-
|
|
212
|
+
Service for uploading/downloading files to/from the server.
|
|
216
213
|
launcher_args : Any
|
|
217
214
|
Launcher arguments.
|
|
218
215
|
|
|
219
216
|
Returns
|
|
220
217
|
-------
|
|
221
|
-
|
|
222
|
-
:class:`~ansys.fluent.core.session_pure_meshing.PureMeshing`, \
|
|
223
|
-
:class:`~ansys.fluent.core.session_solver.Solver`, \
|
|
224
|
-
:class:`~ansys.fluent.core.session_solver_icing.SolverIcing`]
|
|
218
|
+
Meshing | PureMeshing | Solver | SolverIcing
|
|
225
219
|
Session object.
|
|
226
220
|
"""
|
|
221
|
+
|
|
227
222
|
pim = pypim.connect()
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
),
|
|
223
|
+
|
|
224
|
+
instance = create_fluent_instance(
|
|
225
|
+
pim=pim,
|
|
226
|
+
mode=mode,
|
|
227
|
+
dimensionality=dimensionality,
|
|
234
228
|
product_version=product_version,
|
|
235
229
|
)
|
|
230
|
+
|
|
236
231
|
instance.wait_for_ready()
|
|
237
|
-
|
|
232
|
+
|
|
238
233
|
channel = instance.build_grpc_channel()
|
|
239
234
|
|
|
240
|
-
fluent_connection =
|
|
235
|
+
fluent_connection = create_fluent_connection(
|
|
241
236
|
channel=channel,
|
|
242
237
|
cleanup_on_exit=cleanup_on_exit,
|
|
243
|
-
|
|
244
|
-
|
|
238
|
+
instance=instance,
|
|
239
|
+
launcher_args=launcher_args,
|
|
245
240
|
)
|
|
246
241
|
|
|
247
|
-
file_transfer_service = (
|
|
248
|
-
file_transfer_service
|
|
249
|
-
if file_transfer_service
|
|
250
|
-
else PimFileTransferService(pim_instance=fluent_connection._remote_instance)
|
|
242
|
+
file_transfer_service = get_file_transfer_service(
|
|
243
|
+
file_transfer_service, fluent_connection
|
|
251
244
|
)
|
|
252
245
|
|
|
253
246
|
return session_cls(
|
|
@@ -256,3 +249,44 @@ def launch_remote_fluent(
|
|
|
256
249
|
file_transfer_service=file_transfer_service,
|
|
257
250
|
start_transcript=start_transcript,
|
|
258
251
|
)
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
def create_fluent_instance(
|
|
255
|
+
pim, mode: FluentMode, dimensionality: str | None, product_version: str | None
|
|
256
|
+
):
|
|
257
|
+
"""Create a Fluent instance based on mode and dimensionality."""
|
|
258
|
+
|
|
259
|
+
product_name = (
|
|
260
|
+
"fluent-meshing"
|
|
261
|
+
if FluentMode.is_meshing(mode)
|
|
262
|
+
else "fluent-2ddp" if dimensionality == Dimension.TWO else "fluent-3ddp"
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
return pim.create_instance(
|
|
266
|
+
product_name=product_name, product_version=product_version
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
def create_fluent_connection(
|
|
271
|
+
channel, cleanup_on_exit: bool, instance, launcher_args: Dict[str, Any] | None
|
|
272
|
+
):
|
|
273
|
+
"""Create a Fluent connection."""
|
|
274
|
+
|
|
275
|
+
return FluentConnection(
|
|
276
|
+
channel=channel,
|
|
277
|
+
cleanup_on_exit=cleanup_on_exit,
|
|
278
|
+
remote_instance=instance,
|
|
279
|
+
slurm_job_id=launcher_args.get("slurm_job_id") if launcher_args else None,
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
def get_file_transfer_service(
|
|
284
|
+
file_transfer_service: Any | None, fluent_connection
|
|
285
|
+
) -> Any:
|
|
286
|
+
"""Get the file transfer service."""
|
|
287
|
+
|
|
288
|
+
return (
|
|
289
|
+
file_transfer_service
|
|
290
|
+
if file_transfer_service
|
|
291
|
+
else PimFileTransferService(pim_instance=fluent_connection._remote_instance)
|
|
292
|
+
)
|
|
@@ -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 to process launch string."""
|
|
2
24
|
|
|
3
25
|
import json
|
|
@@ -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 enums used in the PyFluent."""
|
|
2
24
|
|
|
3
25
|
from enum import Enum
|
|
@@ -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 server information."""
|
|
2
24
|
|
|
3
25
|
import os
|
|
@@ -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 within a Slurm environment.
|
|
2
24
|
|
|
3
25
|
Examples
|
|
@@ -272,7 +294,7 @@ class SlurmLauncher:
|
|
|
272
294
|
processor_count: int | None = None,
|
|
273
295
|
journal_file_names: None | str | list[str] = None,
|
|
274
296
|
start_timeout: int = -1,
|
|
275
|
-
additional_arguments: str
|
|
297
|
+
additional_arguments: str = "",
|
|
276
298
|
env: Dict[str, Any] | None = None,
|
|
277
299
|
cleanup_on_exit: bool = True,
|
|
278
300
|
start_transcript: bool = True,
|
|
@@ -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 standalone mode.
|
|
2
24
|
|
|
3
25
|
Examples
|
|
@@ -67,7 +89,7 @@ class StandaloneLauncher:
|
|
|
67
89
|
processor_count: int | None = None,
|
|
68
90
|
journal_file_names: None | str | list[str] = None,
|
|
69
91
|
start_timeout: int = 60,
|
|
70
|
-
additional_arguments: str
|
|
92
|
+
additional_arguments: str = "",
|
|
71
93
|
env: Dict[str, Any] | None = None,
|
|
72
94
|
cleanup_on_exit: bool = True,
|
|
73
95
|
dry_run: bool = False,
|
|
@@ -83,89 +105,73 @@ class StandaloneLauncher:
|
|
|
83
105
|
start_watchdog: bool | None = None,
|
|
84
106
|
file_transfer_service: Any | None = None,
|
|
85
107
|
):
|
|
86
|
-
"""
|
|
108
|
+
"""
|
|
109
|
+
Launch a Fluent session in standalone mode.
|
|
87
110
|
|
|
88
111
|
Parameters
|
|
89
112
|
----------
|
|
90
113
|
mode : FluentMode
|
|
91
|
-
|
|
114
|
+
Specifies the launch mode of Fluent to target a specific session type.
|
|
92
115
|
ui_mode : UIMode
|
|
93
|
-
|
|
116
|
+
Defines the user interface mode for Fluent. Options correspond to values in the ``UIMode`` enum.
|
|
94
117
|
graphics_driver : FluentWindowsGraphicsDriver or FluentLinuxGraphicsDriver
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
``FluentLinuxGraphicsDriver`` enum in Linux.
|
|
118
|
+
Specifies the graphics driver for Fluent. Options are from the ``FluentWindowsGraphicsDriver`` enum
|
|
119
|
+
(for Windows) or the ``FluentLinuxGraphicsDriver`` enum (for Linux).
|
|
98
120
|
product_version : FluentVersion or str or float or int, optional
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
121
|
+
Indicates the version of Ansys Fluent to launch. For example, to use version 2025 R1, pass
|
|
122
|
+
``FluentVersion.v251``, ``"25.1.0"``, ``"25.1"``, ``25.1``, or ``251``. Defaults to ``None``,
|
|
123
|
+
which uses the newest installed version.
|
|
102
124
|
dimension : Dimension or int, optional
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
125
|
+
Specifies the geometric dimensionality of the Fluent simulation. Defaults to ``None``,
|
|
126
|
+
which corresponds to ``Dimension.THREE``. Acceptable values are from the ``Dimension`` enum
|
|
127
|
+
(``Dimension.TWO`` or ``Dimension.THREE``) or integers ``2`` and ``3``.
|
|
106
128
|
precision : Precision or str, optional
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
or ``Precision.DOUBLE``) or
|
|
129
|
+
Defines the floating point precision. Defaults to ``None``, which corresponds to
|
|
130
|
+
``Precision.DOUBLE``. Acceptable values are from the ``Precision`` enum (``Precision.SINGLE``
|
|
131
|
+
or ``Precision.DOUBLE``) or strings ``"single"`` and ``"double"``.
|
|
110
132
|
processor_count : int, optional
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
allocated cores is clamped to value of ``processor_count``.
|
|
133
|
+
Specifies the number of processors to use. Defaults to ``None``, which uses 1 processor.
|
|
134
|
+
In job scheduler environments, this value limits the total number of allocated cores.
|
|
114
135
|
journal_file_names : str or list of str, optional
|
|
115
|
-
|
|
116
|
-
journal(s). The default is ``None``.
|
|
136
|
+
Path(s) to a Fluent journal file(s) that Fluent will execute. Defaults to ``None``.
|
|
117
137
|
start_timeout : int, optional
|
|
118
|
-
Maximum
|
|
119
|
-
server. The default is ``60``.
|
|
138
|
+
Maximum time in seconds allowed for connecting to the Fluent server. Defaults to 60 seconds.
|
|
120
139
|
additional_arguments : str, optional
|
|
121
|
-
Additional arguments
|
|
122
|
-
format they are normally passed to Fluent on the command line.
|
|
140
|
+
Additional command-line arguments for Fluent, formatted as they would be on the command line.
|
|
123
141
|
env : dict[str, str], optional
|
|
124
|
-
|
|
125
|
-
is ``None``.
|
|
142
|
+
A mapping for modifying environment variables in Fluent. Defaults to ``None``.
|
|
126
143
|
cleanup_on_exit : bool, optional
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
or if the session instance becomes unreferenced. The default is ``True``.
|
|
144
|
+
Determines whether to shut down the connected Fluent session when exiting PyFluent or calling
|
|
145
|
+
the session's `exit()` method. Defaults to True.
|
|
130
146
|
dry_run : bool, optional
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
a tuple containing Fluent launch string and the server info file name.
|
|
147
|
+
If True, does not launch Fluent but prints configuration information instead. The `call()` method
|
|
148
|
+
returns a tuple containing the launch string and server info file name. Defaults to False.
|
|
134
149
|
start_transcript : bool, optional
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Fluent transcript subsequently via the method calls, ``transcript.start()``
|
|
138
|
-
and ``transcript.stop()`` on the session object.
|
|
150
|
+
Indicates whether to start streaming the Fluent transcript in the client. Defaults to True;
|
|
151
|
+
streaming can be controlled via `transcript.start()` and `transcript.stop()` methods on the session object.
|
|
139
152
|
case_file_name : str, optional
|
|
140
|
-
Name of the case file to read into the
|
|
141
|
-
Fluent session. The default is ``None``.
|
|
153
|
+
Name of the case file to read into the Fluent session. Defaults to None.
|
|
142
154
|
case_data_file_name : str, optional
|
|
143
|
-
Name of the case data file. If
|
|
155
|
+
Name of the case data file. If both case and data files are provided, they are read into the session.
|
|
144
156
|
lightweight_mode : bool, optional
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
replace the current Fluent solver session once the mesh read is complete and the lightweight settings
|
|
148
|
-
made by the user in the current Fluent solver session have been applied in the background Fluent
|
|
149
|
-
solver session. This is all orchestrated by PyFluent and requires no special usage.
|
|
150
|
-
This parameter is used only when ``case_file_name`` is provided. The default is ``False``.
|
|
157
|
+
If True, runs in lightweight mode where mesh settings are read into a background solver session,
|
|
158
|
+
replacing it once complete. This parameter is only applicable when `case_file_name` is provided; defaults to False.
|
|
151
159
|
py : bool, optional
|
|
152
|
-
If True, Fluent
|
|
160
|
+
If True, runs Fluent in Python mode. Defaults to None.
|
|
153
161
|
gpu : bool, optional
|
|
154
|
-
If True, Fluent
|
|
155
|
-
cwd : str,
|
|
162
|
+
If True, starts Fluent with GPU Solver enabled.
|
|
163
|
+
cwd : str, optional
|
|
156
164
|
Working directory for the Fluent client.
|
|
157
|
-
fluent_path: str,
|
|
158
|
-
User
|
|
159
|
-
topy :
|
|
160
|
-
A
|
|
161
|
-
|
|
165
|
+
fluent_path: str, optional
|
|
166
|
+
User-specified path for Fluent installation.
|
|
167
|
+
topy : bool or str, optional
|
|
168
|
+
A flag indicating whether to write equivalent Python journals from provided journal files; can also specify
|
|
169
|
+
a filename for the new Python journal.
|
|
162
170
|
start_watchdog : bool, optional
|
|
163
|
-
When
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
file_transfer_service : optional
|
|
168
|
-
File transfer service. Uploads/downloads files to/from the server.
|
|
171
|
+
When `cleanup_on_exit` is True, defaults to True; an independent watchdog process ensures that any local
|
|
172
|
+
GUI-less Fluent sessions started by PyFluent are properly closed when the current Python process ends.
|
|
173
|
+
file_transfer_service : Any
|
|
174
|
+
Service for uploading/downloading files to/from the server.
|
|
169
175
|
|
|
170
176
|
Raises
|
|
171
177
|
------
|
|
@@ -174,9 +180,8 @@ class StandaloneLauncher:
|
|
|
174
180
|
|
|
175
181
|
Notes
|
|
176
182
|
-----
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
passed to Fluent.
|
|
183
|
+
In job scheduler environments (e.g., SLURM, LSF, PBS), resources and compute nodes are allocated,
|
|
184
|
+
and core counts are queried from these environments before being passed to Fluent.
|
|
180
185
|
"""
|
|
181
186
|
import ansys.fluent.core as pyfluent
|
|
182
187
|
|
|
@@ -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
|
"""Module to launch the PyFluent Watchdog to monitor PyFluent and the Fluent server.
|
|
2
24
|
|
|
3
25
|
Should not be used manually, PyFluent automatically manages it.
|