Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/changelog.d/4567.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Set-state via call
16 changes: 15 additions & 1 deletion src/ansys/fluent/core/solver/flobject.py
Original file line number Diff line number Diff line change
Expand Up @@ -822,7 +822,13 @@ 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
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)
else:
Expand Down Expand Up @@ -1070,6 +1076,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.
Expand Down
5 changes: 5 additions & 0 deletions tests/test_settings_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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])
Loading