Open ChristophSchlegel-7tech opened 2 months ago
@ChristophSchlegel-7tech Can you please mention dpf client version you are using? I do not see it listed in issue.
Dear @rajesh1359 unfortunately, I don't have the version number to hand. But the version number is not crucial. If you can show a solution to the problem in ANY version, then I would be very grateful. Please just specify the version number required for this solution.
@ChristophSchlegel-7tech Here is the force and moments sample code for your rst. I am using SMISC here.
`
from ansys.dpf import core as dpf from ansys.dpf.core import mesh_scoping_factory
rstpath = r"D:/../file.rst" mydatasource = dpf.DataSources(rstpath) model = dpf.Model(mydatasource) stream = model.metadata.streams_provider
mesh_op = dpf.operators.scoping.on_mesh_property() mesh_op.inputs.mesh.connect(model.metadata.meshed_region) mesh_op.inputs.property_name.connect("apdl_element_type") mesh_op.inputs.property_id.connect(188) beam_mesh_scoping = mesh_op.outputs.mesh_scoping.get_data()
beam_force_x = dpf.operators.result.smisc() beam_force_x.inputs.streams_container.connect(stream) beam_force_x.inputs.item_index(1) beam_force_x.inputs.mesh_scoping(beam_mesh_scoping) beam_x_force_fields = beam_force_x.outputs.fields_container.get_data()
beam_moment_x = dpf.operators.result.smisc() beam_moment_x.inputs.streams_container.connect(stream) beam_moment_x.inputs.item_index(2) beam_moment_x.inputs.mesh_scoping(beam_mesh_scoping) beam_moment_x = beam_moment_x.outputs.fields_container.get_data()
print(beam_moment_x[0].data,beam_x_force_fields[0].data)
joint_elemental_scoping = mesh_scoping_factory.elemental_scoping([389, 392, 395, 398,401,404]) print(joint_elemental_scoping)
joint_force_x = dpf.operators.result.smisc() joint_force_x.inputs.streams_container.connect(stream) joint_force_x.inputs.item_index(1) joint_force_x.inputs.mesh_scoping(joint_elemental_scoping) jf_x_fields = joint_force_x.outputs.fields_container.get_data() jf_x_field = jf_x_fields[0]
joint_force_y = dpf.operators.result.smisc() joint_force_y.inputs.streams_container.connect(stream) joint_force_y.inputs.item_index(2) joint_force_y.inputs.mesh_scoping(joint_elemental_scoping) jf_y_fields = joint_force_y.outputs.fields_container.get_data() jf_y_field = jf_y_fields[0]
joint_force_z = dpf.operators.result.smisc() joint_force_z.inputs.streams_container.connect(stream) joint_force_z.inputs.item_index(3) joint_force_z.inputs.mesh_scoping(joint_elemental_scoping) jf_z_fields = joint_force_z.outputs.fields_container.get_data() jf_z_fields = jf_z_fields[0]
print(jf_x_field.data,jf_y_field.data, jf_z_fields.data)
`
@ChristophSchlegel-7tech
with 2025R1Pre0 and DPF client 0.13.0, you can use dpf.operators.averaging.force_summation() for getting fsum quantities easily.
Below is another way to do fsum forces calculations in versions before that.
` from ansys.dpf import core as dpf from ansys.dpf.core import mesh_scoping_factory
rstpath = r"D:../file.rst" mydatasource = dpf.DataSources(rstpath) model = dpf.Model(mydatasource) stream = model.metadata.streams_provider
beam_elemental_scoping = mesh_scoping_factory.elemental_scoping([408])
op = dpf.operators.result.element_nodal_forces() op.inputs.streams_container.connect(stream) op.inputs.mesh_scoping.connect(beam_elemental_scoping) fc = op.outputs.fields_container.get_data() `
Hi @rajesh1359,
I tried your suggested approach and exact code using the SMISC operator. However, I encountered the following error in the line beam_force_x = dpf.operators.result.smisc():
ansysdpf\Lib\site-packages\ansys\dpf\core\dpf_operator.py:123 in __init__ raise KeyError( KeyError: "The operator SMISC doesn't exist in the registry. Check its spelling in the documentation or verify its availability in your loaded plugins. The current available operator names can be accessed using 'available_operator_names' method."
It seems like the SMISC operator is not recognized in my environment. I am using Ansys 2024 R1 with Python 3.11, and my DPF client version is 0.13.0.
Thank you for your help!
Hello @damGitdam,
I think this is due to the usage of PyDPF-Core 0.13.0 with Ansys 2024 R1.
What you can try is:
beam_force_x = dpf.Operator("mapdl::smisc")
Before submitting the issue
Description of the bug
Hi,
I try to read the (reaction)-Forces and -Moments at the nodes of Beams (BEAM188) and Joints (MPC184) from rst file. rst-file.zip
These data are certainly stored in the rst file, as I can read it out easily with APDL (fsum). Unfortunately, it seems as if this is NOT working with dpf.
There are well-documented commands such as the following for this, but in practical use these do not return any (useful) data. https://dpf.docs.pyansys.com/version/stable/api/ansys.dpf.core.operators.result.joint_force_reaction.html
If this is a bug, please privide a solution for that. If I have used the commands incorrectly, please show me the correct workflow (code-snippet).
The following alternative code returns 3 components (x,y,z forces) of the nodes, but NO MOMENTS:
Steps To Reproduce
rst-file.zip
Which Operating System causes the issue?
Windows
Which DPF/Ansys version are you using?
Ansys 2024 R1
Which Python version causes the issue?
3.11
Installed packages
Package Version
aext-assistant 4.0.15 aext-assistant-server 4.0.15 aext-core 4.0.15 aext-core-server 4.0.15 aext-panels 4.0.15 aext-panels-server 4.0.15 aext-share-notebook 4.0.15 aext-share-notebook-server 4.0.15 aext-shared 4.0.15 aiobotocore 2.7.0 aiohttp 3.9.3 aioitertools 0.7.1 aiosignal 1.2.0 alabaster 0.7.12 altair 5.0.1 anaconda-anon-usage 0.4.3 anaconda-catalogs 0.2.0 anaconda-client 1.12.3 anaconda-cloud-auth 0.5.1 anaconda-navigator 2.6.0 anaconda-project 0.11.1 anyio 4.2.0 appdirs 1.4.4 archspec 0.2.3 argon2-cffi 21.3.0 argon2-cffi-bindings 21.2.0 arrow 1.2.3 astroid 2.14.2 astropy 5.3.4 asttokens 2.0.5 async-lru 2.0.4 atomicwrites 1.4.0 attrs 23.1.0 Automat 20.2.0 autopep8 1.6.0 Babel 2.11.0 backports.functools-lru-cache 1.6.4 backports.tempfile 1.0 backports.weakref 1.0.post1 bcrypt 3.2.0 beautifulsoup4 4.12.2 binaryornot 0.4.4 black 23.11.0 bleach 4.1.0 blinker 1.6.2 bokeh 3.3.4 boltons 23.0.0 botocore 1.31.64 Bottleneck 1.3.7 Brotli 1.0.9 cachetools 4.2.2 certifi 2024.2.2 cffi 1.16.0 chardet 4.0.0 charset-normalizer 2.0.4 click 8.1.7 cloudpickle 2.2.1 clyent 1.2.2 colorama 0.4.6 colorcet 3.0.1 comm 0.1.2 conda 24.5.0 conda-build 24.1.2 conda-content-trust 0.2.0 conda_index 0.4.0 conda-libmamba-solver 24.1.0 conda-pack 0.6.0 conda-package-handling 2.2.0 conda_package_streaming 0.9.0 conda-repo-cli 1.0.75 conda-token 0.4.0 conda-verify 3.4.2 constantly 23.10.4 contourpy 1.2.0 cookiecutter 2.5.0 cryptography 42.0.2 cssselect 1.2.0 cycler 0.11.0 cytoolz 0.12.2 dask 2023.11.0 datashader 0.16.0 debugpy 1.6.7 decorator 5.1.1 defusedxml 0.7.1 diff-match-patch 20200713 dill 0.3.7 distributed 2023.11.0 distro 1.8.0 docstring-to-markdown 0.11 docutils 0.18.1 entrypoints 0.4 et-xmlfile 1.1.0 executing 0.8.3 fastjsonschema 2.16.2 filelock 3.13.1 flake8 6.0.0 Flask 2.2.5 fonttools 4.25.0 frozendict 2.4.2 frozenlist 1.4.0 fsspec 2023.10.0 future 0.18.3 gensim 4.3.0 gitdb 4.0.7 GitPython 3.1.37 gmpy2 2.1.2 greenlet 3.0.1 h11 0.14.0 h5py 3.9.0 HeapDict 1.0.1 holoviews 1.18.3 httpcore 1.0.2 httpx 0.26.0 hvplot 0.9.2 hyperlink 21.0.0 idna 3.4 imagecodecs 2023.1.23 imageio 2.33.1 imagesize 1.4.1 imbalanced-learn 0.11.0 importlib-metadata 7.0.1 incremental 22.10.0 inflection 0.5.1 iniconfig 1.1.1 intake 0.6.8 intervaltree 3.1.0 ipykernel 6.28.0 ipython 8.20.0 ipython-genutils 0.2.0 ipywidgets 7.6.5 isort 5.9.3 itemadapter 0.3.0 itemloaders 1.1.0 itsdangerous 2.0.1 jaraco.classes 3.2.1 jedi 0.18.1 jellyfish 1.0.1 Jinja2 3.1.3 jmespath 1.0.1 joblib 1.2.0 json5 0.9.6 jsonpatch 1.32 jsonpointer 2.1 jsonschema 4.19.2 jsonschema-specifications 2023.7.1 jupyter 1.0.0 jupyter_client 8.6.0 jupyter-console 6.6.3 jupyter_core 5.5.0 jupyter-events 0.8.0 jupyter-lsp 2.2.0 jupyter_server 2.10.0 jupyter_server_terminals 0.4.4 jupyterlab 4.0.11 jupyterlab-pygments 0.1.2 jupyterlab_server 2.25.1 jupyterlab-widgets 3.0.9 keyring 23.13.1 kiwisolver 1.4.4 lazy_loader 0.3 lazy-object-proxy 1.6.0 lckr_jupyterlab_variableinspector 3.1.0 libarchive-c 2.9 libmambapy 1.5.6 linkify-it-py 2.0.0 llvmlite 0.42.0 lmdb 1.4.1 locket 1.0.0 lxml 4.9.3 lz4 4.3.2 Markdown 3.4.1 markdown-it-py 2.2.0 MarkupSafe 2.1.3 matplotlib 3.8.0 matplotlib-inline 0.1.6 mccabe 0.7.0 mdit-py-plugins 0.3.0 mdurl 0.1.0 menuinst 2.0.2 mistune 2.0.4 mkl-fft 1.3.8 mkl-random 1.2.4 mkl-service 2.4.0 more-itertools 10.1.0 mpmath 1.3.0 msgpack 1.0.3 multidict 6.0.4 multipledispatch 0.6.0 munkres 1.1.4 mypy 1.8.0 mypy-extensions 1.0.0 navigator-updater 0.4.0 nbclient 0.8.0 nbconvert 7.10.0 nbformat 5.9.2 nest-asyncio 1.6.0 networkx 3.1 nltk 3.8.1 notebook 7.0.8 notebook_shim 0.2.3 numba 0.59.0 numexpr 2.8.7 numpy 1.26.4 numpydoc 1.5.0 openpyxl 3.0.10 overrides 7.4.0 packaging 23.1 pandas 2.1.4 pandocfilters 1.5.0 panel 1.3.8 param 2.0.2 paramiko 2.8.1 parsel 1.8.1 parso 0.8.3 partd 1.4.1 pathlib 1.0.1 pathspec 0.10.3 patsy 0.5.3 pexpect 4.8.0 pickleshare 0.7.5 pillow 10.2.0 pip 23.3.1 pkce 1.0.3 pkginfo 1.9.6 platformdirs 3.10.0 plotly 5.9.0 pluggy 1.0.0 ply 3.11 prometheus-client 0.14.1 prompt-toolkit 3.0.43 Protego 0.1.16 protobuf 3.20.3 psutil 5.9.0 ptyprocess 0.7.0 pure-eval 0.2.2 py-cpuinfo 9.0.0 pyarrow 14.0.2 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycodestyle 2.10.0 pycosat 0.6.6 pycparser 2.21 pyct 0.5.0 pycurl 7.45.2 pydantic 1.10.12 pydeck 0.8.0 PyDispatcher 2.0.5 pydocstyle 6.3.0 pyerfa 2.0.0 pyflakes 3.0.1 Pygments 2.15.1 PyJWT 2.4.0 pylint 2.16.2 pylint-venv 2.3.0 pyls-spyder 0.4.0 PyNaCl 1.5.0 pyodbc 5.0.1 pyOpenSSL 24.0.0 pyparsing 3.0.9 PyQt5 5.15.10 PyQt5-sip 12.13.0 PyQtWebEngine 5.15.6 PySocks 1.7.1 pytest 7.4.0 python-dateutil 2.8.2 python-dotenv 0.21.0 python-json-logger 2.0.7 python-lsp-black 1.2.1 python-lsp-jsonrpc 1.0.0 python-lsp-server 1.7.2 python-slugify 5.0.2 python-snappy 0.6.1 pytoolconfig 1.2.6 pytz 2023.3.post1 pyviz_comms 3.0.0 pywavelets 1.5.0 pywin32 305.1 pywin32-ctypes 0.2.0 pywinpty 2.0.10 PyYAML 6.0.1 pyzmq 25.1.2 QDarkStyle 3.0.2 qstylizer 0.2.2 QtAwesome 1.2.2 qtconsole 5.4.2 QtPy 2.4.1 queuelib 1.6.2 referencing 0.30.2 regex 2023.10.3 requests 2.31.0 requests-file 1.5.1 requests-toolbelt 1.0.0 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rich 13.3.5 rope 1.7.0 rpds-py 0.10.6 Rtree 1.0.1 ruamel.yaml 0.17.21 ruamel-yaml-conda 0.17.21 s3fs 2023.10.0 scikit-image 0.22.0 scikit-learn 1.2.2 scipy 1.11.4 Scrapy 2.8.0 seaborn 0.12.2 semver 2.13.0 Send2Trash 1.8.2 service-identity 18.1.0 setuptools 68.2.2 sip 6.7.12 six 1.16.0 smart-open 5.2.1 smmap 4.0.0 sniffio 1.3.0 snowballstemmer 2.2.0 sortedcontainers 2.4.0 soupsieve 2.5 Sphinx 5.0.2 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 spyder 5.4.3 spyder-kernels 2.4.4 SQLAlchemy 2.0.25 stack-data 0.2.0 statsmodels 0.14.0 streamlit 1.30.0 sympy 1.12 tables 3.9.2 tabulate 0.9.0 tblib 1.7.0 tenacity 8.2.2 terminado 0.17.1 text-unidecode 1.3 textdistance 4.2.1 threadpoolctl 2.2.0 three-merge 0.1.1 tifffile 2023.4.12 tinycss2 1.2.1 tldextract 3.2.0 toml 0.10.2 tomlkit 0.11.1 toolz 0.12.0 tornado 6.3.3 tqdm 4.65.0 traitlets 5.7.1 truststore 0.8.0 Twisted 23.10.0 twisted-iocpsupport 1.0.2 typing_extensions 4.9.0 tzdata 2023.3 tzlocal 2.1 uc-micro-py 1.0.1 ujson 5.4.0 Unidecode 1.2.0 urllib3 2.0.7 validators 0.18.2 w3lib 2.1.2 watchdog 2.1.6 wcwidth 0.2.5 webencodings 0.5.1 websocket-client 0.58.0 Werkzeug 2.2.3 whatthepatch 1.0.2 wheel 0.41.2 widgetsnbextension 3.5.2 win-inet-pton 1.1.0 wrapt 1.14.1 xarray 2023.6.0 xlwings 0.29.1 xyzservices 2022.9.0 yapf 0.31.0 yarl 1.9.3 zict 3.0.0 zipp 3.17.0 zope.interface 5.4.0 zstandard 0.19.0