Skip to content

Commit 566622c

Browse files
feat: Change working directory (#3691)
* feat: Change Cortex and Fluent working directories using PyFluent * chore: adding changelog file 3691.added.md [dependabot-skip] * feat: Change Cortex and Fluent working directories using PyFluent * feat: Change Cortex and Fluent working directories using PyFluent * feat: Change Cortex and Fluent working directories using PyFluent * feat: Change Cortex and Fluent working directories using PyFluent * feat: Change Cortex and Fluent working directories using PyFluent * feat: Change Cortex and Fluent working directories using PyFluent * chore: adding changelog file 3691.added.md [dependabot-skip] * feat: Change working directory * feat: Change working directory --------- Co-authored-by: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com>
1 parent 5fb2b55 commit 566622c

File tree

5 files changed

+41
-2
lines changed

5 files changed

+41
-2
lines changed

doc/changelog.d/3691.added.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Change working directory

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ classifiers = [
2020
"Operating System :: OS Independent",
2121
]
2222
dependencies = [
23-
"ansys-api-fluent>=0.3.34",
23+
"ansys-api-fluent>=0.3.35",
2424
"ansys-platform-instancemanagement~=1.1",
2525
"ansys-tools-filetransfer>=0.1,<0.3",
2626
"ansys-units>=0.3.3,<0.5",

src/ansys/fluent/core/services/app_utilities.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ def exit(
143143
"""Exit RPC of AppUtilities service."""
144144
return self._stub.Exit(request, metadata=self._metadata)
145145

146+
def set_working_directory(
147+
self, request: AppUtilitiesProtoModule.SetWorkingDirectoryRequest
148+
) -> AppUtilitiesProtoModule.SetWorkingDirectoryResponse:
149+
"""SetWorkingDirectory RPC of AppUtilities service."""
150+
return self._stub.SetWorkingDirectory(request, metadata=self._metadata)
151+
146152

147153
class AppUtilitiesOld:
148154
"""AppUtilitiesOld."""
@@ -292,6 +298,10 @@ def exit(self) -> None:
292298
"""Exit."""
293299
self.scheme_eval.exec(("(exit-server)",))
294300

301+
def set_working_directory(self, path: str) -> None:
302+
"""Change client cortex dir."""
303+
self.scheme_eval.scheme_eval(f'(syncdir "{path}")')
304+
295305

296306
class AppUtilities:
297307
"""AppUtilities."""
@@ -428,3 +438,9 @@ def exit(self) -> None:
428438
"""Exit."""
429439
request = AppUtilitiesProtoModule.ExitRequest()
430440
self.service.exit(request)
441+
442+
def set_working_directory(self, path: str) -> None:
443+
"""Change client cortex dir."""
444+
request = AppUtilitiesProtoModule.SetWorkingDirectoryRequest()
445+
request.path = path
446+
self.service.set_working_directory(request)

src/ansys/fluent/core/session.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,16 @@ def download(self, file_name: str, local_directory: str | None = "."):
427427
if self._file_transfer_service:
428428
return self._file_transfer_service.download(file_name, local_directory)
429429

430+
def chdir(self, path: str) -> None:
431+
"""Change Fluent working directory.
432+
433+
Parameters
434+
----------
435+
path : str
436+
Path of the directory to change.
437+
"""
438+
self._app_utilities.set_working_directory(path)
439+
430440
def __enter__(self):
431441
return self
432442

tests/test_session.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ def test_general_exception_behaviour_in_session(new_solver_session):
595595
# solver.settings.file.read(file_type='case', file_name=mesh_file_2d)
596596

597597

598-
@pytest.mark.fluent_version(">=23.2")
598+
@pytest.mark.fluent_version(">=23.2,<25.2")
599599
def test_app_utilities_new_and_old(mixing_elbow_settings_session):
600600
solver = mixing_elbow_settings_session
601601

@@ -608,3 +608,15 @@ def test_app_utilities_new_and_old(mixing_elbow_settings_session):
608608
assert solver._app_utilities.is_wildcard("yes*")
609609

610610
assert not solver._app_utilities.is_solution_data_available()
611+
612+
tmp_dir = tempfile.mkdtemp(dir=pyfluent.EXAMPLES_PATH)
613+
614+
solver.chdir(tmp_dir)
615+
616+
assert Path(
617+
solver._app_utilities.get_controller_process_info()["working_directory"]
618+
) == Path(tmp_dir)
619+
620+
assert Path(
621+
solver._app_utilities.get_solver_process_info()["working_directory"]
622+
) == Path(tmp_dir)

0 commit comments

Comments
 (0)