Deleting results without deleting the load case

Guten Tag,

gerade habe ich mal wieder einen weiteren Rechendurchlauf meines API-Codes und habe dabei das Gefühl, dass jeder neue Lastfall der erstellt und berechnet wird mehr Rechenzeit braucht (das Programm rechnet iterativ immer wieder neue Lastfälle→ wertet aus → erstellt neuen Lastfall → rechnet diesen…).

Meine Theorie: durch die unglaubliche Menge an Ergebnisdaten, werden Rechnerkapazität wie Arbeitsspeicher etc. in Anspruch genommen was ab einer gewissen Menge LK’s sich auf die weiteren Berechnungen auswirkt.

Da ich die für mich maßgebenden Ergebnisse mit den jeweiligen Einwirkungen und Parametern in einer Excel automatisch durch Python speichern lasse wäre es daher schlau einfach nach jeder Berechnung die Ergebnisse zu löschen => leider scheint es mir so, als wäre es aktuell nur möglich den ganzen Lastfall zu löschen, dies würde ich jedoch nur ungern machen, da es durchaus praktisch ist für den Fall sich gewisse Zusammenstellungen nochmal genau anzuschauen (nicht nur automatisiert durch den Code) diese einfach nachträglich im Modell nochmal einzeln rechnen zu lassen und anhand des GUI auswerten zu können.

Gibt es doch eine Möglichkeit, anhand der API nur die Ergebnisse des zuletzt gerechneten Lastfall zu löschen ohne den Lastfall selbst zu löschen?

Liebe Grüße Nick

Hi DeflectionPerfection,

unfortunately, the desired function is not yet available in the API. As always in such cases, I have submitted a request to the developers (RUS ID 6232).

Until then, you can manage by making a change that automatically deletes the results. For example:

from dlubal.api import rfem

with rfem.Application(port=9000) as rfem_app:
    delete_value=999.0
    original_value=750.0

    rfem_app.update_object(
        rfem.loads.SurfaceLoad(
            no=1,
            load_case=1,
            uniform_magnitude=delete_value,
        ),
    )

    rfem_app.update_object(
        rfem.loads.SurfaceLoad(
            no=1,
            load_case=1,
            uniform_magnitude=original_value,
        ),
    )

    rfem_app.calculate_specific(
        loadings=[
            rfem.ObjectId(
                no=1,
                object_type=rfem.OBJECT_TYPE_LOAD_COMBINATION
            )
        ],
        skip_warnings=True,
    )

Of course, these are two requests, but you do not have to delete the results after every iteration.

Unfortunately, there is currently a bug in the method 'calculate_specific', which will be fixed in the next version. So you will have to be patient until next week to use this workaround.

I hope this helps you.

Best regards
Robert Milrath

1 Like

Thank you very much!

That really is a clever option that I could have thought of myself.

Best regards, Nick