Skip to content

potential solver module name clash #4154

Open
@seanpearsonuk

Description

@seanpearsonuk

solver module name clashes with the global session name in the Fluent Python console in solution mode.

It's currently necessary to work carefully to avoid a clash. The PyFluent side effect behaviour below is not obvious in terms of what's happened. In either scenario, many users will struggle to know how to resolve this. Shall we extend the troubleshooting section and the documentation for this solver settings module to provide some guidance? A name change could be in order but the documentation will be valuable for PyConsole users regardless.

In PyFluent

>>> from ansys.fluent.core import solver
>>>
>>> solver.Energy
<class 'ansys.fluent.core.generated.solver.settings_builtin.Energy'>
>>> solver = pf.launch_fluent()
Exception ignored in: <function Image.__del__ at 0x000001EF84268280>
>>> solver.Energy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<redacted>\session_solver.py", line 347, in __getattr__
    raise ex
  File "<redacted>\session_solver.py", line 338, in __getattr__
    return super().__getattribute__(name)
AttributeError: 'Solver' object has no attribute 'Energy'
>>> from ansys.fluent.core import solver as solver_mod # workaround
>>> solver_mod.Energy
<class 'ansys.fluent.core.generated.solver.settings_builtin.Energy'>
>>> solver = pf.launch_fluent()
>>> solver
<ansys.fluent.core.session_solver.Solver object at 0x000001EF80385DB0>
>>> solver_mod.Energy
<class 'ansys.fluent.core.generated.solver.settings_builtin.Energy'>
>>> pf.solver.Energy # we actually only document this format
<class 'ansys.fluent.core.generated.solver.settings_builtin.Energy'>

In PyConsole

>>> from ansys.fluent.core import solver
SyntaxError: The following global variables have been reverted to their original value: solver.
>>> solver.Energy
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "<redacted>\session_solver.py", line 355, in __getattr__
    return getattr(self._settings_api_root, attr)
AttributeError: 'SettingsRoot' object has no attribute 'Energy'
>>> 
>>> from ansys.fluent.core import solver
SyntaxError: The following global variables have been reverted to their original value: solver.
>>> from ansys.fluent.core import solver as solver_mod # workaround
>>> solver_mod.Energy
<class 'ansys.fluent.core.generated.solver.settings_builtin.Energy'>
>>> solver
<ansys.fluent.core.session_solver.Solver object at 0x00000000A923F8B0>
>>> ansys.fluent.core.solver.Energy
<class 'ansys.fluent.core.generated.solver.settings_builtin.Energy'>

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationDocumentation related (improving, adding, etc)

    Type

    No type

    Projects

    Status

    2025 Q2 Apr - Jun

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions