u-anurag / vfo-docs

Documentation for vfo (Visualization for OpenSees)
https://vfo.readthedocs.io
1 stars 1 forks source link

vfo.animate_deformedshape error and vfo.plot_fiberResponse2D error #3

Closed wxyeah closed 1 year ago

wxyeah commented 1 year ago

Hello, Sorry to interrupt you. I'm using the vfo (thanks for this great tool) but encountered some errors that I coulnd't figure out. I tried to search for solutions online but realized the AttributeError points towards vfo. Please see below the error messages. By any chance, can you give me some suggestions? Thank you in advance!

[1] When using 'vfo.animate_deformedshape', I got the error message below. Meanwhile, the PyVista is not responding and I always have to close the window but end up with restarting the kernel. `ani_case1 = vfo.animate_deformedshape(model=model_scope, loadcase="axial_monotonic", line_width=3) Reading structure data from panel1_ODB. Reading loadcase 'axial_monotonic' data from panel1_ODB. calculating maximum node deflections Creating animation gif/movie file. On-screen updating may seem choppy/slow. Please don't close the window. Traceback (most recent call last):

File "C:\Users\AppData\Local\Temp\ipykernel_57508\902515223.py", line 1, in ani_case1 = vfo.animate_deformedshape(model=model_scope, loadcase="axial_monotonic", line_width=3)

File "C:\Users\Softwares\Anaconda3\envs\OpenSeesPy3402-env\lib\site-packages\vfo\vfo.py", line 1052, in animate_deformedshape pl.update()

File "C:\Users\Softwares\Anaconda3\envs\OpenSeesPy3402-env\lib\site-packages\pyvista\plotting\plotting.py", line 1943, in update self.right_timer_id = self.iren.create_repeating_timer(stime)

File "C:\Users\Softwares\Anaconda3\envs\OpenSeesPy3402-env\lib\site-packages\pyvista\plotting\render_window_interactor.py", line 780, in create_repeating_timer self.interactor.DestroyTimer(timer_id)

AttributeError: 'NoneType' object has no attribute 'DestroyTimer'`

[2] When using 'vfo.plot_fiberResponse2D', I saw the following error messages. `vfo.plot_fiberResponse2D(model_scope,'axial_monotonic', 118, 1) Traceback (most recent call last):

File "C:\Users\AppData\Local\Temp\ipykernel_57508\2757491952.py", line 1, in vfo.plot_fiberResponse2D(model_scope,'axial_monotonic', 118, 1)

File "C:\Users\Softwares\Anaconda3\envs\OpenSeesPy3402-env\lib\site-packages\vfo\vfo.py", line 1151, in plot_fiberResponse2D axisIndex, axisXlabel = ipltf._getAxisInfo(LocalAxis)

AttributeError: module 'vfo.internal_plotting_functions' has no attribute '_getAxisInfo'`

u-anurag commented 1 year ago

Hi, thanks for reporting the bugs.

1) What version of PyVista and vfo are you using? Make sure you use the latest ones. If you are already updated on the latest versions, this error seems little strange since I have tested this animation command for 2D and 3D OpenSees models.

Could you upload your output database (ODB folder) to your GitHub and send me a link? I'll download the output files and see if I can recreate the error.

2) I think I know what is causing the error. I'll try to fix it soon.

wxyeah commented 1 year ago

Hi Dr. Upadhyay, Thank you so much for your prompt response, and my apologies for the late reply.

Please let me know if you need any further information or clarification. Thank you again for your time and efforts!

u-anurag commented 1 year ago

Thanks for sharing, this will work for me. I'll try to dig deeper into these bugs.

u-anurag commented 1 year ago

I didn't encounter any error while plotting the deformed shape. Here is what I get using the ODB data you provided.

vfo.plot_deformedshape(model="panel1", loadcase="axial_monotonic", scale = 500, overlap='yes')

image

wxyeah commented 1 year ago

Thank you for your reply. Yes, the 'plotting' of the deformed shape worked for me too. It is the 'animation' of the deformed shape that gave me error, as I mentioned above.

u-anurag commented 1 year ago

It is a bug in the latest release of PyVista. The next release of PyVista will fix the issue. Until then, do the following to make the animation work,

Step 1] pip uninstall pyvista Step 2] pip install pyvista==0.36.1

Now run the animation.

wxyeah commented 1 year ago

It works like magic! Thanks so much for looking into this. As the print suggests, the animation is choppy and slow, especially in the later part. If I close the window (although I shouldn't) I will lose everything in the variable space.

I'm also closing this issue for your convenience. Thanks again.

u-anurag commented 1 year ago

Yeah, the purpose here is to save the animation as a movie/gif hence I didn't worry too much about the choppy display while the program is creating the animation.

Also, closing the animation window will cause vfo to dump the animation frames and no movie will be saved.