ansys / pyfluent

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

Fault-tolerant meshing workflow #1217

Closed PyPablo closed 4 months ago

PyPablo commented 1 year ago

🔍 Before submitting the issue

🐞 Description of the bug

When running Fault-tolerant meshing, in the Generate the Volume Mesh task, the input required to get the expected results include the following arguments:

_({'EditVolumeSettings' : True, 'OldRegionSizeList' : ['3.6', '3.6', '3.6'], 'RegionSizeList' : ['3.6', '3.6', '3.6'], 'OldRegionVolumeFillList' : ['hexcore', 'hexcore', 'hexcore'], 'RegionVolumeFillList' : ['poly', 'poly', 'poly-hexcore'],
'AllRegionVolumeFillList' : ['none', 'none', 'none', 'none', 'none', 'poly', 'poly', 'poly-hexcore', 'poly', 'poly'], 'AllRegionSizeList' : ['3.6', '3.6', '3.6', '3.6', '3.6', '3.6', '3.6', '3.6', '3.6', '3.6'], 'AllRegionNameList' : ['solid_cooler', 'solid_fr41', 'fluid_out', 'fluid_in', 'fluid_cooler', 'solid-region-2', 'solid-region-1', 'fluid-region-3', 'fluid-region-2', 'fluid-region-1'], 'OldRegionNameList' : ['fluid-region-1', 'fluid-region-2', 'fluid-region-3'], 'EnableParallel' : True, 'RegionNameList' : ['fluid-region-1', 'fluid-region-2', 'fluid-region-3']}_

In particular, the arguments in bold referring to all the zones is required. If not added, the meshing task ignores them.

If this is expected then this is not a bug (an enhancement then), but in that case the behavior is different from Generate the Volume Mesh task in Watertight workflow and from Generate the Surface Mesh tasks.

It would also be great if only zones affected by the changes were needed as input arguments.

📝 Steps to reproduce

I can provide case and script, but this problem should hold for other cases.

Problem found in Fluent 23.1

💻 Which operating system are you using?

Windows

🐍 Which Python version are you using?

3.9

📦 Installed packages

alabaster==0.7.12
ansys-api-discovery==0.3.0
ansys-api-fluent==0.3.5
ansys-api-platform-instancemanagement==1.0.0b3
ansys-discovery==0.2.1
ansys-discovery-server-addin==0.0.30.dev0
-e git+https://github.com/pyansys/pyfluent.git@d517bbaec1fd6dad2a725881ff437ba11e4d16e1#egg=ansys_fluent_core
ansys-platform-instancemanagement==1.0.2
ansys-sphinx-theme==0.5.2
anyio==3.6.2
appdirs==1.4.4
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
asttokens==2.2.0
attrs==22.1.0
Babel==2.11.0
backcall==0.2.0
beautifulsoup4==4.11.1
bleach==5.0.1
cachetools==5.2.0
certifi==2022.9.24
cffi==1.15.1
charset-normalizer==2.1.1
colorama==0.4.6
contourpy==1.0.6
coverage==6.5.0
cycler==0.11.0
debugpy==1.6.4
decorator==5.1.1
defusedxml==0.7.1
distlib==0.3.6
docutils==0.19
entrypoints==0.4
executing==1.2.0
fastjsonschema==2.16.2
filelock==3.8.2
flit==3.8.0
flit_core==3.8.0
fonttools==4.38.0
google-api-core==2.8.2
google-api-python-client==2.68.0
google-auth==2.15.0
google-auth-httplib2==0.1.0
googleapis-common-protos==1.56.4
grpcio==1.51.1
h5py==3.7.0
httplib2==0.21.0
idna==3.4
imagesize==1.4.1
importlib-metadata==5.1.0
iniconfig==1.1.1
ipykernel==6.17.1
ipython==8.7.0
ipython-genutils==0.2.0
ipywidgets==8.0.2
jedi==0.18.2
Jinja2==3.1.2
joblib==1.2.0
json5==0.9.10
jsonschema==4.17.3
jupyter-server==1.23.3
jupyter-sphinx==0.4.0
jupyter_client==7.4.7
jupyter_core==5.1.0
jupyterlab==3.5.0
jupyterlab-pygments==0.2.2
jupyterlab-widgets==3.0.3
jupyterlab_server==2.16.3
kiwisolver==1.4.4
livereload==2.6.3
MarkupSafe==2.1.1
matplotlib==3.6.0
matplotlib-inline==0.1.6
mistune==2.0.4
nbclassic==0.4.8
nbclient==0.7.2
nbconvert==7.2.5
nbformat==5.7.0
nest-asyncio==1.5.6
notebook==6.5.2
notebook_shim==0.2.2
numpy==1.23.5
numpydoc==1.4.0
packaging==21.3
pandas==1.5.2
pandocfilters==1.5.0
parso==0.8.3
pickleshare==0.7.5
Pillow==9.3.0
platformdirs==2.5.4
pluggy==1.0.0
prometheus-client==0.15.0
prompt-toolkit==3.0.33
protobuf==3.20.0
protoc-gen-swagger==0.1.0
psutil==5.9.4
pure-eval==0.2.2
py==1.11.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.21
pydata-sphinx-theme==0.9.0
Pygments==2.13.0
pypandoc==1.9
pyparsing==3.0.9
pyrsistent==0.19.2
pytest==7.1.3
pytest-cov==4.0.0
python-dateutil==2.8.2
pytz==2022.6
pywin32==305
pywinpty==2.0.9
pyzmq==24.0.1
requests==2.28.1
rsa==4.9
scikit-learn==1.1.3
scipy==1.9.3
Send2Trash==1.8.0
six==1.16.0
sniffio==1.3.0
snowballstemmer==2.2.0
soupsieve==2.3.2.post1
Sphinx==5.2.3
sphinx-autobuild==2021.3.14
sphinx-copybutton==0.5.0
sphinx-gallery==0.11.1
sphinx-notfound-page==0.8.3
sphinx_autodoc_typehints==1.19.4
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
sphinxcontrib-websupport==1.2.4
sphinxemoji==0.2.0
stack-data==0.6.2
terminado==0.17.0
threadpoolctl==3.1.0
tinycss2==1.2.1
tomli==2.0.1
tomli_w==1.0.0
tornado==6.2
tox==3.27.1
traitlets==5.6.0
uritemplate==4.1.1
urllib3==1.26.13
virtualenv==20.17.1
wcwidth==0.2.5
webencodings==0.5.1
websocket-client==1.4.2
widgetsnbextension==4.0.3
zipp==3.11.0
PyPablo commented 1 year ago

I've just tested and by only including the full list of arguments it works (AllRegionVolumeFillList and AllRegionNameList). These two arguments contain modified + non-modified zones. Ideally only the modified ones would be required

mesh.generate_the_volume_mesh({ 'EditVolumeSettings' : True, 'EnableParallel' : True, 'AllRegionVolumeFillList' : ['none', 'none', 'none', 'none', 'none', 'poly', 'poly', 'poly-hexcore', 'poly', 'poly'], 'AllRegionNameList' : ['solid_cooler', 'solid_fr41', 'fluid_out', 'fluid_in', 'fluid_cooler', 'solid-region-2', 'solid-region-1', 'fluid- region-3', 'fluid-region-2', 'fluid-region-1'], })

seanpearsonuk commented 1 year ago

@PyPablo this reflects the design of meshing workflow. I will remove the bug label here and pass this on to the team for comment.

seanpearsonuk commented 1 year ago

@PyPablo I have created a fluent defect, 764066

PyPablo commented 1 year ago

@seanpearsonuk Thanks for taking over.