ansys / pymapdl

Pythonic interface to MAPDL
https://mapdl.docs.pyansys.com
MIT License
426 stars 120 forks source link

Bug? Volume plotting results in a perspective(?) view. #2417

Closed mikerife closed 11 months ago

mikerife commented 1 year ago

🤓 Before submitting the issue

🔍 Description of the bug

A VPLOT of a cylindrical volume has the cylindrical faces in I think a perspective view. Instead of them looking straight. And something funky is going on with the circular edges.

image

Enabling parallel projection results in this:

image

🕵️ Steps To Reproduce

from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl()
print(mapdl)
mapdl.clear()
mapdl.prep7()

inn_rad=50.0e-2
out_rad=55.0e-2
start_surface=0.0
end_surface=30.0e-2
theta1=0.0
theta2=360.0

secnum_cyl = mapdl.cyl4(0.0, 0.0, inn_rad, theta1, out_rad, theta2, (end_surface-start_surface))
mapdl.vplot()

pl = mapdl.vplot(return_plotter = True)
pl.enable_parallel_projection()
pl.show()

mapdl.exit()

💻 Which Operating System are you using?

Windows

🐍 Which Python version are you using?

3.10

📝 PyMAPDL Report

Show the Report! ```text PyMAPDL Software and Environment Report Packages Requirements ********************* Core packages ------------- ansys.mapdl.core : 0.67.0 numpy : 1.24.2 platformdirs : 3.9.1 scipy : 1.10.1 grpc : Package not found ansys.api.mapdl.v0 : Package not found ansys.mapdl.reader : 0.52.19 google.protobuf : Package not found Optional packages ----------------- matplotlib : 3.7.1 pyvista : 0.38.5 pyiges : 0.3.1 tqdm : 4.65.0 Ansys Installation ****************** Version Location ------------------ 201 C:\Program Files\ANSYS Inc\v201 202 C:\Program Files\ANSYS Inc\v202 211 C:\Program Files\ANSYS Inc\v211 212 C:\Program Files\ANSYS Inc\v212 221 C:\Program Files\ANSYS Inc\v221 222 C:\Program Files\ANSYS Inc\v222 231 C:\Program Files\ANSYS Inc\v231 232 C:\Program Files\ANSYS Inc\v232 Ansys Environment Variables *************************** ANSYS201_DIR C:\Program Files\ANSYS Inc\v201\ANSYS ANSYS202_DIR C:\Program Files\ANSYS Inc\v202\ANSYS ANSYS211_DIR C:\Program Files\ANSYS Inc\v211\ANSYS ANSYS212_DIR C:\Program Files\ANSYS Inc\v212\ANSYS ANSYS221_DIR C:\Program Files\ANSYS Inc\v221\ANSYS ANSYS222_DIR C:\Program Files\ANSYS Inc\v222\ANSYS ANSYS231_DIR C:\Program Files\ANSYS Inc\v231\ANSYS ANSYS232_DIR C:\Program Files\ANSYS Inc\v232\ANSYS ANSYSCLOUDCLI_ROOT C:\Program Files\ANSYS Inc\ANSYS Cloud\ANSYS Cloud CLI\ ANSYSELECTRON_ROOT C:\Program Files\ANSYS Inc\ANSYS Cloud\ANSYS Electron\ ANSYSEM_ROOT231 C:\Program Files\AnsysEM\v231\Win64 ANSYSLIC_DIR C:\Program Files\ANSYS Inc\Shared Files\Licensing ANSYSNCODE221_DIR C:\Program Files\nCode\ANSYS 2022 R1 nCode DesignLife 64-bit ANSYS_SYSDIR winx64 ANSYS_SYSDIR32 win32 AWP_LOCALE201 en-us AWP_LOCALE211 en-us AWP_LOCALE212 en-us AWP_LOCALE221 en-us AWP_LOCALE222 en-us AWP_LOCALE231 en-us AWP_LOCALE232 en-us AWP_ROOT201 C:\Program Files\ANSYS Inc\v201 AWP_ROOT202 C:\Program Files\ANSYS Inc\v202 AWP_ROOT211 C:\Program Files\ANSYS Inc\v211 AWP_ROOT212 C:\Program Files\ANSYS Inc\v212 AWP_ROOT221 C:\Program Files\ANSYS Inc\v221 AWP_ROOT222 C:\Program Files\ANSYS Inc\v222 AWP_ROOT231 C:\Program Files\ANSYS Inc\v231 AWP_ROOT232 C:\Program Files\ANSYS Inc\v232 CADOE_LIBDIR201 C:\Program Files\ANSYS Inc\v201\CommonFiles\Language\en-us CADOE_LIBDIR211 C:\Program Files\ANSYS Inc\v211\CommonFiles\Language\en-us CADOE_LIBDIR212 C:\Program Files\ANSYS Inc\v212\CommonFiles\Language\en-us CADOE_LIBDIR221 C:\Program Files\ANSYS Inc\v221\CommonFiles\Language\en-us CADOE_LIBDIR222 C:\Program Files\ANSYS Inc\v222\CommonFiles\Language\en-us CADOE_LIBDIR231 C:\Program Files\ANSYS Inc\v231\CommonFiles\Language\en-us CADOE_LIBDIR232 C:\Program Files\ANSYS Inc\v232\CommonFiles\Language\en-us ICEFLOW_ANSYS_PORT 9600 ```

📝 Installed packages

Show the installed packages! ```text aiofiles==22.1.0 aiohttp==3.8.4 aiosignal==1.3.1 aiosqlite==0.18.0 ansys-api-mapdl==0.5.1 ansys-api-platform-instancemanagement==1.0.0b3 ansys-dpf-core==0.8.1 ansys-dpf-gate==0.3.1 ansys-dpf-gatebin==0.3.1 ansys-grpc-dpf==0.7.1 ansys-mapdl-core==0.67.0 ansys-mapdl-reader==0.52.19 ansys-math-core==0.1.3 ansys-platform-instancemanagement==1.1.1 ansys-tools-path==0.3.1 anyio==3.6.2 appdirs==1.4.4 argon2-cffi==21.3.0 argon2-cffi-bindings==21.2.0 arrow==1.2.3 asttokens==2.2.1 async-timeout==4.0.2 attrs==22.2.0 Babel==2.12.1 backcall==0.2.0 beautifulsoup4==4.12.0 bleach==6.0.0 cachetools==5.3.1 certifi==2022.12.7 cffi==1.15.1 charset-normalizer==3.1.0 click==8.1.3 colorama==0.4.6 comm==0.1.2 contourpy==1.0.7 cycler==0.11.0 debugpy==1.6.6 decorator==5.1.1 defusedxml==0.7.1 executing==1.2.0 fastjsonschema==2.16.3 fonttools==4.39.2 fqdn==1.5.1 frozenlist==1.3.3 geomdl==5.3.1 google-api-core==2.11.1 google-api-python-client==2.92.0 google-auth==2.21.0 google-auth-httplib2==0.1.0 googleapis-common-protos==1.58.0 grpcio==1.51.3 httplib2==0.22.0 idna==3.4 imageio==2.26.1 importlib-metadata==6.1.0 ipykernel==6.22.0 ipython==8.11.0 ipython-genutils==0.2.0 ipywidgets==8.0.5 isoduration==20.11.0 jedi==0.18.2 Jinja2==3.1.2 json5==0.9.11 jsonpointer==2.3 jsonschema==4.17.3 jupyter-events==0.6.3 jupyter-ydoc==0.2.3 jupyter_client==8.1.0 jupyter_core==5.3.0 jupyter_server==2.5.0 jupyter_server_fileid==0.8.0 jupyter_server_terminals==0.4.4 jupyter_server_ydoc==0.8.0 jupyterlab==3.6.2 jupyterlab-pygments==0.2.2 jupyterlab-widgets==3.0.6 jupyterlab_server==2.20.0 kiwisolver==1.4.4 MarkupSafe==2.1.2 matplotlib==3.7.1 matplotlib-inline==0.1.6 mistune==2.0.5 multidict==6.0.4 nbclassic==0.5.3 nbclient==0.7.2 nbconvert==7.2.10 nbformat==5.8.0 nest-asyncio==1.5.6 notebook==6.5.3 notebook_shim==0.2.2 numpy==1.24.2 packaging==23.0 pandas==2.0.2 pandocfilters==1.5.0 parso==0.8.3 pickleshare==0.7.5 Pillow==9.4.0 platformdirs==3.9.1 pooch==1.7.0 prometheus-client==0.16.0 prompt-toolkit==3.0.38 protobuf==3.20.3 protoc-gen-swagger==0.1.0 psutil==5.9.4 pure-eval==0.2.2 pyansys-tools-versioning==0.4.0 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycparser==2.21 Pygments==2.14.0 pyiges==0.3.1 pyparsing==3.0.9 pyrsistent==0.19.3 python-dateutil==2.8.2 python-json-logger==2.0.7 pytz==2023.3 pyvista==0.38.5 pywin32==305 pywinpty==2.0.10 PyYAML==6.0 pyzmq==25.0.2 requests==2.28.2 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rsa==4.9 scipy==1.10.1 scooby==0.7.1 Send2Trash==1.8.0 six==1.16.0 sniffio==1.3.0 soupsieve==2.4 stack-data==0.6.2 terminado==0.17.1 tinycss2==1.2.1 tomli==2.0.1 tornado==6.2 tqdm==4.65.0 traitlets==5.9.0 trame==2.3.2 trame-client==2.7.4 trame-components==2.1.0 trame-deckgl==2.0.1 trame-markdown==2.0.2 trame-matplotlib==2.0.1 trame-plotly==2.1.0 trame-rca==0.3.0 trame-router==2.0.1 trame-server==2.9.1 trame-simput==2.3.1 trame-vega==2.0.2 trame-vtk==2.3.5 trame-vuetify==2.2.4 tzdata==2023.3 uri-template==1.2.0 uritemplate==4.1.1 urllib3==1.26.15 vtk==9.2.6 wcwidth==0.2.6 webcolors==1.12 webencodings==0.5.1 websocket-client==1.5.1 widgetsnbextension==4.0.6 wslink==1.10.1 y-py==0.5.9 yarl==1.8.2 ypy-websocket==0.8.2 zipp==3.15.0 ```

📝 Logger output file

Show the logger output file. ```text # PASTE HERE THE CONTENT OF THE LOGGER OUTPUT FILE. ```
mikerife commented 1 year ago

I'm not sure with the updates recently to VTK and/or PyVista, and PyMAPDL if this is expected or not. MIke

germa89 commented 1 year ago

Interesting.... in MacOS I get...

image

And then:

image

I shall check later on Windows.

PyMAPDL report

Details

------------------------------------------------------------------------------- PyAnsys Software and Environment Report ------------------------------------------------------------------------------- Date: Mon Oct 16 12:00:37 2023 CEST OS : Darwin CPU(s) : 8 Machine : arm64 Architecture : 64bit RAM : 16.0 GiB Environment : Python File system : apfs GPU Vendor : Apple GPU Renderer : Apple M2 GPU Version : 4.1 Metal - 83.1 Python 3.11.5 (main, Aug 24 2023, 15:09:45) [Clang 14.0.3 (clang-1403.0.22.14.1)] ansys.mapdl.core : 0.66.dev0 numpy : 1.25.2 platformdirs : 3.10.0 scipy : 1.11.2 grpc : 1.57.0 ansys.api.mapdl.v0 : Version unknown ansys.mapdl.reader : 0.52.20 google.protobuf : 3.20.3 matplotlib : 3.7.2 pyvista : 0.41.1 pyiges : 0.3.1 tqdm : 4.66.1 ansys_sphinx_theme : 0.10.2 ansys.dpf.core : 0.9.0 ansys.dpf.post : Module not found ansys.dpf.gate : Version unknown ansys.fluent.core : Module not found ansys.fluent.visualization : Module not found ansys.fluent.parametric : Module not found ansys.grantami.bomanalytics : Module not found ansys.openapi.common : Module not found ansys.platform.instancemanagement : 1.1.2 ansys.seascape : Module not found ansys.tools.report : 0.6.0 ansys.tools.versioning : 0.4.0 pyaedt : Module not found appdirs : 1.4.4 pexpect : 4.8.0 ------------------------------------------------------------------------------- Ansys Environment Report ------------------------------------------------------------------------------- Ansys Installation ****************** No Ansys installations provided Ansys Environment Variables *************************** DPF_START_SERVER false DPF_DOCKER_IMAGE ghcr.io/ansys/dpf-core:22.2dev DPF_DEFAULT_PORT 50056 ANSYSLMD_LICENSE_FILE 1055@13.95.70.166:1055@40.117.133.38:1055@punlnxlicense4.ansys.com DPF_PORT 50056

germa89 commented 1 year ago

@mikerife your pyvista version (0.38.5) seems quite old. Can you update??

You can update all dependencies running the code from the fourth item in this issue

image

Which is:

pip install --upgrade --upgrade-strategy eager ansys-mapdl-core
germa89 commented 1 year ago

Regarding the differences between the lines and the volume, this is probably due to how we retrieves the lines (from the IGES file, which can include arcs) vs how we retrieves the volumes (from a fake mesh).

I do not think we can fix anything on client side but I will think about it.

mikerife commented 1 year ago

@germa89 what do the plots look like when the cpos is set so that we are looking down the Z axis on macOS? Just curious.

germa89 commented 1 year ago

It looks.... artistic I would say...

mapdl.vplot(cpos=(0,0,1))
image

If I disable show_lines:

mapdl.vplot(cpos=(0,0,1), show_lines=False)
image
mikerife commented 1 year ago

@germa89 BTW sorry - had too many venvs and cmd windows open and used wrong one to start JL. Just did a fresh venv for this and installed PyMAPDL. Now everything is updated and same perspective view.

germa89 commented 11 months ago

Don't worry @mikerife !! It happens to all of us from time to time! :)

Closing issue because I opened #2478