Closed mikerife closed 5 months ago
Hi @mikerife
it is because one the arguments in mapdl.rpsd
is empty:
PyMAPDL does skip all the empty arguments. Therefore the function signature:
def rpsd(
self,
ir="",
ia="",
ib="",
itype="",
datum="",
name="",
signif="",
**kwargs,
):
"""Calculates response power spectral density (PSD).
APDL Command: RPSD
So, if you want it to work, just remove the empty argument.
This makes me think if that design choice (omitting empty arguments) is a good one.... It is not super compatible with MAPDL.
The converter deal with them by just skipping the conversion of those commands, using mapdl.run
.
But then...
Python users expect to have empty arguments... If just don't make sense (for me neither, maybe it was a deprecated/undocumented feature?). I mean you could implement empty arguments in Python, just don't use it inside the function and that's, but it might trigger some linters and such. And again, it is not needed.
MAPDL users expect to use the MAPDL documentation/command arguments.
Not sure what to think.
Pinging @mikerife @pmaroneh @koubaa @FredAns for feedback.
Hi @germa89 Interesting question. The "Name" field is not strictly necessary if you test MAPDL. But the MAPDL documentation on RPSD implies that it is necessary. Pretty sure you only need a name for plot legends; everything else that references does so by the "IR" number. My assumption is that anyone using PyMAPDL would create the RSPD plot with matplotlib or the like.
No no... I mean the "--" argument. 😊
@german Doh! The empty field, got it. I'd prefer to allow the empty fields. Some of them have hidden options. Some really are empty. And some are empty but could be used in the future. Or maybe my brain is just too hard-wired for APDL and not Python.
@germa89 @mikerife +1 for including empty arguments. Some of those are placeholders for undocumented arguments that may one day be documented, and by skipping over it PyMAPDL may be signing up for future compatibility breaks. Good thing we are still at 0.x 😃
In that case, I can close this PR because the current behaviour is the desired one.
🤓 Before submitting the issue
pip install --upgrade --upgrade-strategy eager ansys-mapdl-core
in your activated virtual environment.🔍 Description of the bug
The following example returns a Type Error:
":TypeError: Special.rpsd() takes from 1 to 8 positional arguments but 9 were given"
Using VM19 as an test.
🕵️ Steps To Reproduce
💻 Which Operating System are you using?
None
🐍 Which Python version are you using?
None
📝 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.42.3 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_LOCALE202 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-lru==2.0.4 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 bokeh==3.2.2 cachetools==5.3.1 certifi==2022.12.7 cffi==1.15.1 charset-normalizer==3.1.0 click==8.1.3 cmocean==3.0.3 colorama==0.4.6 colorcet==3.0.1 comm==0.1.4 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 flake8==7.0.0 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 ipycanvas==0.13.1 ipydatawidgets==4.3.5 ipyevents==2.0.2 ipykernel==6.22.0 ipython==8.11.0 ipython-genutils==0.2.0 ipyvtklink==0.2.3 ipywidgets==8.1.1 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-lsp==2.2.0 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_proxy==4.1.0 jupyter_server_terminals==0.4.4 jupyter_server_ydoc==0.8.0 jupyterlab==4.0.7 jupyterlab-pygments==0.2.2 jupyterlab-widgets==3.0.9 jupyterlab_server==2.20.0 kiwisolver==1.4.4 linkify-it-py==2.0.2 Markdown==3.5 markdown-it-py==3.0.0 MarkupSafe==2.1.2 matplotlib==3.7.1 matplotlib-inline==0.1.6 mccabe==0.7.0 mdit-py-plugins==0.4.0 mdurl==0.1.2 meshio==5.3.4 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 panel==1.2.3 param==1.13.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 pycodestyle==2.11.1 pycparser==2.21 pyct==0.5.0 pyflakes==3.2.0 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 pythreejs==2.4.2 pytz==2023.3 pyvista==0.42.3 pyviz_comms==3.0.0 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 rich==13.6.0 rsa==4.9 scipy==1.10.1 scooby==0.7.1 Send2Trash==1.8.0 simpervisor==1.0.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 traittypes==0.2.1 trame==3.2.7 trame-client==2.12.6 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.12.0 trame-simput==2.3.1 trame-vega==2.0.2 trame-vtk==2.5.9 trame-vuetify==2.3.1 typing_extensions==4.8.0 tzdata==2023.3 uc-micro-py==1.0.2 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.9 wslink==1.12.3 xyzservices==2023.10.0 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 ```