HyperMesh Freezes up while running calculation intensive scripts

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Hi all,

 

I am running a tcl script inside HyperMesh. The script is very computationally intensive and when the script is running, HyperMesh just locks up. It wont even 'puts' information into the command window while its running. Once the scripts is complete everything returs to normal. 

 

Does anyone know of a way to prevent this from happening or have any suggestions on how to pause my script and output information to the command window while its running?

 

Thanks

Brian

Tagged:

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2014

    Hi Brian,

     

    i'm still using TCL window support in the following way:

     

    creating the window:

    PopupWorkingWindow 'Detecting welds ...' 500 500

     

    updating the window:

    set msg 'Detecting welds ... $count_comps % done';

    UpdateWorkingWindow $msg

     

    close the window:

    PopdownWorkingWindow

     

     

    To speed up Hypermesh scripts switch off the response, e.g.

     

    switch off:

    *entityhighlighting 0
    hm_blockmessages 1

     

    your code...

     

    switch on: (don't forget!!!)

    *entityhighlighting 1
    hm_blockmessages 0

     

    Best regards,

    Mario

  • tinh
    tinh Altair Community Member
    edited April 2014

    Hi all,

     

    I am running a tcl script inside HyperMesh. The script is very computationally intensive and when the script is running, HyperMesh just locks up. It wont even 'puts' information into the command window while its running. Once the scripts is complete everything returs to normal. 

     

    Does anyone know of a way to prevent this from happening or have any suggestions on how to pause my script and output information to the command window while its running?

     

    Thanks

    Brian

     

    If your script has some loops with huge iterations then you should put in such loops tcl command 'update'

    ex:

     

    set stop 0

    while {!$stop} {

        #long time works

       ...    

      ...

       update

       hm_usermessage 'processing ...'

    }

     

    with update command, GUI will response to user events and temporary stop processing if user interacts

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited June 2014

    Found another option using HyperMesh commands

     

     

    hwbrowsermanager view flush false

     

    ..... intensive calculations......

     

    hwbrowsermanager view flush true

     

     

    make sure to turn back to TRUE after.