Speed up the simulation without affecting the physics

if you want to run the simulation at precisely 10x wall Clock time, you’d need some sort of timed loop (e.g it enters the loop every 1/600s)

This can only be achieved if the full simulation takes less time to solve than sim_step/10 (i.e. you can simulate a physics step ten times faster than the period simulated - For a simulation running on 1/60s you’d need the physics step to be simulated at most at 1/600s)

assuming you are able to run your simulation at 1/(10*60)s, you’d need your loop to be something like this

period = 1/600.0
while True:
    start_time = time.time()
    do_stuff() # a function where you call the physx update simulation and everything you need to do
    end_time = time.time()
    threading.sleep(period - (end_time -start_time)) # Sleep this loop for the period minus the time it took to execute the code

Bear in mind that Ubuntu is not an RTOS, so it will sleep the thread for the requested time at best effort (it will try to stay on time, but no guarantees it will sleep precisely for the given time requested)