Dear PLAXIS support team,
I have a question regarding the performance of Output 3D (version 21.01.00.479) while I am trying to extract data via Python scripting. This is related to a 3D dynamic calculation.
The function that I am using is rather simple as I am trying to access data (such as displacements) at pre-calc selected curve points, per dynamic time step. I am looping through the steps and collecting the required data. However, the response of PLAXIS Output to the script is extremely slow. I guess this is happening because I have a big amount of steps in the calc phase (~6000 steps). Not all of them are saved, but the curve points that I am looking into are pre-selected. In addition, the amount of selected curve points is high, ~40.
I am wondering if there are any tips to speed up the data reading from Output. I have the feeling that the delay is caused not only by the communication of the scripting server but also by Output itself as it loops through the data. For example, a simple command like "echo Step_xxx_Reached" for a random step of the 6000 directly in Output causes the app to freeze and reply after 30-60 sec.
How could I speed up Output's response? Do you have any suggestions? Some ideas from my side:
Thanks a lot in advance! Let me know if any info related to my PC could be of help. The basics are:
Best wishes,Stavros
Hello Stavro,
Thank you for sharing all the details to better understand the case you are dealing with.
I will first start by answering the questions and then elaborate a bit more.
To give you some more insight into what is happening:
PLAXIS Output stores results per step and when selected in curve blocks. The step results are stored depending on how many steps you have included in the Input phase settings. Each time you switch to a different step (or phase) Output tries to load all the information about: finite elements (nodes, stress points), all objects included (structures, colours), arrows (loads, dispalcements), of course the current result type, and more.
This amount of information, judging from what I see usually at support, tends to grow fast, which means that there is much more data to process in each case. There is definitely more room for improvements in our Output program and we are working on some big improvements. Unfortunately, that takes a long implementation time as we want to be able to provide the best experience in a smooth environment.
Specifically, the Step object contains more information even if you save one (1) step per phase. That makes it a "heavy" object to iterate which I agree is the bottleneck in your case, too. Since you do have a large number of steps that only makes the processing of all this data slower.
From this forum post, I am not sure how exactly to help you with your script, but if you send us a Service Request we can check directly your project and Python script to see what can be improved with the process: https://apps.bentley.com/srmanager/ProductSupport