From c0a5b01d857f9f91fdf9d8798b763db4e34d2df6 Mon Sep 17 00:00:00 2001 From: Mainak Kundu Date: Wed, 22 Oct 2025 08:40:37 -0400 Subject: [PATCH 1/4] fix: set-state via call --- examples/00-fluent/exhaust_system_settings_api.py | 2 +- src/ansys/fluent/core/solver/flobject.py | 11 ++++++++++- tests/test_settings_api.py | 5 +++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/examples/00-fluent/exhaust_system_settings_api.py b/examples/00-fluent/exhaust_system_settings_api.py index 79ee3abed548..d6aaa80d4433 100644 --- a/examples/00-fluent/exhaust_system_settings_api.py +++ b/examples/00-fluent/exhaust_system_settings_api.py @@ -641,7 +641,7 @@ # :width: 500pt # :align: center -solver_session.solution.run_calculation.iterate(iter_count=100) +solver_session.solution.run_calculation.iterate(iter_count=10) ############################################################################### # Write the case and data files diff --git a/src/ansys/fluent/core/solver/flobject.py b/src/ansys/fluent/core/solver/flobject.py index 3495fde77df7..d8bee32216d2 100644 --- a/src/ansys/fluent/core/solver/flobject.py +++ b/src/ansys/fluent/core/solver/flobject.py @@ -822,7 +822,8 @@ def to_python_keys(cls, value: StateT) -> StateT: def __call__(self, *args, **kwargs): """Get or set the state of the object.""" if kwargs: - self.set_state(kwargs) + # Send value of the first key only + self.set_state(next(iter(kwargs.values()))) elif args: self.set_state(args) else: @@ -1070,6 +1071,14 @@ def __init__(self, name: str | None = None, parent=None): cls = self.__class__._child_classes[query] self._setattr(query, _create_child(cls, None, self)) + def __call__(self, *args, **kwargs): + if kwargs: + self.set_state(kwargs) + elif args: + self.set_state(args) + else: + return self.get_state() + @classmethod def to_scheme_keys(cls, value, root_cls, path: list[str]): """Convert value to have keys with scheme names. diff --git a/tests/test_settings_api.py b/tests/test_settings_api.py index 98c6fce0c6ec..6f09b3de6cea 100644 --- a/tests/test_settings_api.py +++ b/tests/test_settings_api.py @@ -841,3 +841,8 @@ def test_migration_adapter_for_strings(mixing_elbow_settings_session): solver.settings.setup.models.discrete_phase.general_settings.unsteady_tracking.create_particles_at() == "particle-time-step" ) + + +def test_set_state_via_call(mixing_elbow_settings_session): + solver = mixing_elbow_settings_session + solver.settings.results.graphics.views.camera.position(xyz=[1.70, 1.14, 0.29]) From 8ff69717eea0b7f744a48fe7669c955853abe48a Mon Sep 17 00:00:00 2001 From: Mainak Kundu Date: Wed, 22 Oct 2025 08:45:36 -0400 Subject: [PATCH 2/4] fix: set-state via call --- examples/00-fluent/exhaust_system_settings_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/00-fluent/exhaust_system_settings_api.py b/examples/00-fluent/exhaust_system_settings_api.py index d6aaa80d4433..79ee3abed548 100644 --- a/examples/00-fluent/exhaust_system_settings_api.py +++ b/examples/00-fluent/exhaust_system_settings_api.py @@ -641,7 +641,7 @@ # :width: 500pt # :align: center -solver_session.solution.run_calculation.iterate(iter_count=10) +solver_session.solution.run_calculation.iterate(iter_count=100) ############################################################################### # Write the case and data files From 5d547ec124106c8abb2ababecd228ea00c572a31 Mon Sep 17 00:00:00 2001 From: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com> Date: Wed, 22 Oct 2025 12:47:21 +0000 Subject: [PATCH 3/4] chore: adding changelog file 4567.fixed.md [dependabot-skip] --- doc/changelog.d/4567.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/changelog.d/4567.fixed.md diff --git a/doc/changelog.d/4567.fixed.md b/doc/changelog.d/4567.fixed.md new file mode 100644 index 000000000000..e695e3620b22 --- /dev/null +++ b/doc/changelog.d/4567.fixed.md @@ -0,0 +1 @@ +Set-state via call From 3ce44df0d190a7501dad118a516e1efdd24af759 Mon Sep 17 00:00:00 2001 From: Mainak Kundu Date: Wed, 22 Oct 2025 08:51:13 -0400 Subject: [PATCH 4/4] fix: Add warning --- src/ansys/fluent/core/solver/flobject.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ansys/fluent/core/solver/flobject.py b/src/ansys/fluent/core/solver/flobject.py index d8bee32216d2..5e89c93189de 100644 --- a/src/ansys/fluent/core/solver/flobject.py +++ b/src/ansys/fluent/core/solver/flobject.py @@ -823,6 +823,11 @@ def __call__(self, *args, **kwargs): """Get or set the state of the object.""" if kwargs: # Send value of the first key only + if len(kwargs) > 1: + warnings.warn( + f"Only the first keyword argument is used when setting state at {self.python_path}.", + PyFluentUserWarning, + ) self.set_state(next(iter(kwargs.values()))) elif args: self.set_state(args)