ansys / pyfluent

Pythonic interface to Ansys Fluent
https://fluent.docs.pyansys.com
MIT License
277 stars 41 forks source link

Unable to start pyfluent session (ConnectEx: Connection refused ) #3149

Open Venu-41 opened 3 months ago

Venu-41 commented 3 months ago

🔍 Before submitting the issue

🐞 Description of the bug

Hi I am trying to start a fluent session from jupyter notebook. I am session is not getting started. I am using Virtual environment.

Here is my code import ansys.fluent.core as pyfluent from ansys.fluent.core import examples session = pyfluent.launch_fluent(mode="meshing", show_gui=True)

pyfluent.launcher ERROR: Exception caught - RuntimeError: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:55155: ConnectEx: Connection refused (No connection could be made because the target machine actively refused it. -- 10061)

📝 Steps to reproduce

import ansys.fluent.core as pyfluent from ansys.fluent.core import examples session = pyfluent.launch_fluent(mode="meshing", show_gui=True)

💻 Which operating system are you using?

Windows

📀 Which ANSYS version are you using?

Ansys 2042R2

🐍 Which Python version are you using?

3.12

📦 Installed packages

about-time==4.2.1
aiohappyeyeballs==2.3.2
aiohttp==3.10.0
aiosignal==1.3.1
alive-progress==3.1.5
ansys-api-fluent==0.3.27
ansys-api-platform-instancemanagement==1.1.0
ansys-api-tools-filetransfer==0.1.0
ansys-fluent-core==0.23.dev0
ansys-fluent-parametric==0.10.0
ansys-fluent-visualization==0.12.dev0
ansys-platform-instancemanagement==1.1.2
ansys-tools-filetransfer==0.1.0
ansys-units==0.3.2
anyio==4.4.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
async-timeout==4.0.3
attrs==23.2.0
Babel==2.15.0
beartype==0.17.2
beautifulsoup4==4.12.3
bleach==6.1.0
certifi==2024.7.4
cffi==1.16.0
charset-normalizer==3.3.2
click==8.1.7
cmocean==4.0.3
colorama==0.4.6
colorcet==3.1.0
comm==0.2.2
contourpy==1.2.1
cycler==0.12.1
debugpy==1.8.2
decorator==5.1.1
defusedxml==0.7.1
docker==7.1.0
exceptiongroup==1.2.2
executing==2.0.1
fastjsonschema==2.20.0
fonttools==4.53.1
fqdn==1.5.1
frozenlist==1.4.1
grapheme==0.6.0
grpcio==1.65.1
grpcio-health-checking==1.62.2
h11==0.14.0
h5py==3.11.0
httpcore==1.0.5
httpx==0.27.0
idna==3.7
imageio==2.34.2
importlib_metadata==8.2.0
ipykernel==6.29.5
ipython==8.26.0
ipywidgets==8.1.3
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.4
joblib==1.4.2
json5==0.9.25
jsonpointer==3.0.0
jsonschema==4.23.0
jsonschema-specifications==2023.12.1
jupyter==1.0.0
jupyter-console==6.6.3
jupyter-events==0.10.0
jupyter-lsp==2.2.5
jupyter_client==8.6.2
jupyter_core==5.7.2
jupyter_server==2.14.2
jupyter_server_proxy==4.3.0
jupyter_server_terminals==0.5.3
jupyterlab==4.2.4
jupyterlab_pygments==0.3.0
jupyterlab_server==2.27.3
jupyterlab_widgets==3.0.11
kiwisolver==1.4.5
lxml==4.9.4
markdown-it-py==3.0.0
MarkupSafe==2.1.5
matplotlib==3.9.1
matplotlib-inline==0.1.7
mdurl==0.1.2
meshio==5.3.5
mistune==3.0.2
more-itertools==10.3.0
msgpack==1.0.8
multidict==6.0.5
nbclient==0.10.0
nbconvert==7.16.4
nbformat==5.10.4
nest-asyncio==1.6.0
nltk==3.8.1
notebook==7.2.1
notebook_shim==0.2.4
numpy==1.26.4
overrides==7.7.0
packaging==24.1
pandas==1.5.3
pandocfilters==1.5.1
parso==0.8.4
pillow==10.4.0
platformdirs==3.11.0
pooch==1.8.2
prometheus_client==0.20.0
prompt_toolkit==3.0.47
protobuf==4.25.4
psutil==5.9.8
pure_eval==0.2.3
pycparser==2.22
Pygments==2.18.0
pyparsing==3.1.2
python-dateutil==2.9.0.post0
python-json-logger==2.0.7
pytz==2024.1
pyvista==0.44.1
pyvistaqt==0.11.1
pywin32==306
pywinpty==2.0.13
PyYAML==6.0.1
pyzmq==26.0.3
qtconsole==5.5.2
QtPy==2.4.1
referencing==0.35.1
regex==2024.7.24
requests==2.32.3
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rich==13.7.1
rpds-py==0.19.1
scikit-learn==1.5.1
scipy==1.14.0
scooby==0.10.0
Send2Trash==1.8.3
simpervisor==1.0.0
six==1.16.0
sniffio==1.3.1
soupsieve==2.5
stack-data==0.6.3
terminado==0.18.1
threadpoolctl==3.5.0
tinycss2==1.3.0
tomli==2.0.1
tornado==6.4.1
tqdm==4.66.4
traitlets==5.14.3
trame==3.6.3
trame-client==3.2.1
trame-server==3.0.3
trame-vtk==2.8.9
trame-vuetify==2.6.2
types-python-dateutil==2.9.0.20240316
typing_extensions==4.12.2
tzdata==2024.1
uri-template==1.3.0
urllib3==2.2.2
vtk==9.3.1
wcwidth==0.2.13
webcolors==24.6.0
webencodings==0.5.1
websocket-client==1.8.0
widgetsnbextension==4.0.11
wslink==2.1.1
yarl==1.9.4
zipp==3.19.2
prmukherj commented 3 months ago

Hi @Venu-41, I am not able to reproduce this issue. Could you please confirm a few things?

  1. Are you able to start PyFluent locally from cmd using the same virtual environment?
  2. Is jupyter notebook installed and being run from the same virtual environment?
Wharfish commented 3 months ago

Hello,

I have the same problem as Venu-41.

What I do: import ansys.fluent.core as pyfluent solver = pyfluent.launch_fluent(precision="double",dimension=3,processor_count=4, mode="solver", ui_mode="gui", additional_arguments="-post")

What I get: ERROR: Exception caught - RuntimeError: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:10.220.0.90:8080: End of TCP stream

prmukherj commented 3 months ago

Is it in jupyter notebook for you as well @Wharfish ?

Wharfish commented 3 months ago

Yes, it is also in Jupyter notebook. But the the same problem appears if I execute the commands directly in the prompt.

prmukherj commented 3 months ago

@Wharfish, could you please check pyfluent.version and let us know? Also which version of fluent you are using and can you launch that fluent session independently? Thank you

Wharfish commented 3 months ago

Python 3.12.4 Fluent 2024.R1

And yes, I can start Fluent independently.

prmukherj commented 3 months ago

Python 3.12.4 Fluent 2024.R1

And yes, I can start Fluent independently.

Pyfluent version?

Wharfish commented 3 months ago

image

prmukherj commented 3 months ago

@Wharfish, could you please try to do a pip freeze and share the results here. Also type "set AWP" in the command prompt and share the output?

Thank you for your patience and help, actually I am not able to reproduce the issue, so trying to mimic your local setup and try.

Wharfish commented 3 months ago

requirements.txt

When I enter "set AWP" nothing happens: image

prmukherj commented 3 months ago

Thank you @Wharfish. Will get back to you soon.

Wharfish commented 3 months ago

Thank you @prmukherj for looking into it!

prmukherj commented 3 months ago

@Wharfish, could you please try one more thing?

>>> solver = pyfluent.launch_fluent(precision="double",dimension=3,processor_count=4, mode="solver", ui_mode="gui", additional_arguments="-post", fluent_path=r".....")

In the 'fluent_path=r"....."' argument above could you please try to provide the entire path to the fluent.exe and try once? Thank you

Wharfish commented 3 months ago

If I do this: solver = pyfluent.launch_fluent(precision="double",dimension=3,processor_count=4, mode="solver", ui_mode="gui", additional_arguments="-post", fluent_path=r"C:\Program Files\ANSYS Inc\v241\fluent\fluent24.1.0\win64\3ddp_host\fl2410.exe")

nothing happens. Is this the right .exe file?

prmukherj commented 3 months ago

Please search for "fluent.exe". It can be found in: "......\ANSYS Inc\v241\fluent\ntbin\win64\fluent.exe"

Wharfish commented 3 months ago

ok, sorry.

If I do this, then I get the same error in the prompt: image

However, the GUI-Window opens correctly and it seems to work: image

prmukherj commented 3 months ago

12.4 Fluent 2024.R

I think there is some issue with your fluent installation. Could you please set up the AWP environment variable properly.

AWP_ROOT241=C:\Program Files\ANSYS Inc\v241

Wharfish commented 3 months ago

I think these variables are already properly set:

image

EGreen-22 commented 1 month ago

Hello,

We have been running into the same issue at my company. We got it to start working on a laptop after turning off and running Zscalar. Once it was run, we could turn Zscalar back on, and everything worked fine. That was on a Windows 10 laptop; however, the desktops do not have Scalar, so the fix was only on the laptops.

We also noticed that when http_proxy and https_proxy are set, it goes to 10.160, and with no proxy env var set, it goes to 127.0.0.1. Both return the same error, just with different IPs.

We also got it to run on all computers by stepping back installs with the ansys python manager.

We've been looking into this for a bit, so I wanted to add some info, revive this thread, and find a solution. I don't know if any previous information was helpful, but hopefully, it will flip a switch for someone.

EGreen-22 commented 1 month ago

@Wharfish , try to use the version argument and v232. That seemed to work for me. v241 and v242 both throw that connection refused error for me.

Wharfish commented 1 month ago

Hello @EGreen-22,

I used your update using the deleting and rewriting of the proxy settings and this worked in my case. I'm still using v241. Thanks a lot for this hint!

Update: I found that using Try: and Finally: to delete and rewrite the env variables worked. I have no idea why this worked and manually deleting them prior to starting up the code didn't. If anyone knows what the overarching issue is let me know.

########## Unset Proxy ############ http_proxy = os.environ.get('http_proxy') https_proxy = os.environ.get("https_proxy")

try: if 'http_proxy' in os.environ: del os.environ['http_proxy'] if 'https_proxy' in os.environ: del os.environ['https_proxy'] #####################################

 ##Whatever your code is ##

########## Set Proxy Again ############ finally: if http_proxy: os.environ['http_proxy'] = http_proxy if https_proxy: os.environ['https_proxy'] = https_proxy ########################################

ethanmal-25 commented 4 weeks ago

I am also having a similar issue and I have tried to apply some of the solutions in this thread, with no success. I also do recognize the typo in my environment name, I apologize. Any help would be greatly appreciated! Here is my error:

image

However, sometimes it does not even output past the "proceeding..." statement, which is weird.

I am using Ansys 2024R1 and here is my PyFluent version: image

My code: The reason why I have the delete statements, is because the Ansys2024R1 installer always creates paths for both 241 and 242 for some reason, so I deleted it to avoid confusion.

import os del os.environ["AWP_ROOT242"] del os.environ["ANSYS242_DIR"]

import ansys.fluent.core as pyfluent from ansys.fluent.core import examples

print(os.environ)

for key, value in os.environ.items(): print(f"{key} : {value}")

import_file_name = examples.download_file( "exhaust_system.fmd", "pyfluent/exhaust_system" ) meshing = pyfluent.launch_fluent( precision="double", processor_count=2, mode="meshing",

fluent_path = r"C:\Program Files\ANSYS Inc\v241\fluent\ntbin\win64\fluent.exe"

)

mkundu1 commented 4 weeks ago

@EGreen-22 It could be possible that Fluent infers an incorrect IP address for the gRPC server to which PyFluent connects. Could you please try setting the environment variable REMOTING_SERVER_ADDRESS to localhost or 127.0.0.1 or the correct IP address according to your network configuration before launching Fluent?

We have a mechanism on the PyFluent side to infer the correct IP for Fluent, but somehow that is probably not giving the correct result in this case.

EGreen-22 commented 2 weeks ago

@mkundu1 I still get the same error even with that added to environment variables. However, just to clarify I only get the issue with v242, v232 works fine.

ethanmal-25 commented 1 day ago

I have rolled back to v232, but I still get the same issues as before on both a vpn and direct wired connection. I do not see any firewall exclusions as well. Does anyone have any ideas?

EGreen-22 commented 13 hours ago

@ethanmal-25 What is the code you are using to launch fluently where you get the error? Do you have the remote server address that we talked about prior?