simu = guitar_model.simulation() # sk.TimeStepping(time_discr, osi, osnspb) # # -- Model setup with dynamics, interaction and simulation -- # -- Save inital state -- # Note about savings: # For each iteration k, we need : # - the current time value, saved in guitar_model.time[k] # - data for ds (positions, velocities ...): # use save_ds_state(k, ds) for each required ds # - data for interactions (impulsion at impact, distance ...) # use save_interaction_state(k, interaction) guitar_model.time[0] = initial_time guitar_model.save_ds_state(0, guitar_string) for i in range(len(frets)): guitar_model.save_interaction_state(0, frets[i]) k = 1 print("Start simulation ...") start_time = time.clock() while simu.hasNextEvent(): if k % 100 == 0: print('step = ', k, '---- time = ', simu.nextTime(), '------------------------') simu.computeOneStep() guitar_model.time[k] = simu.nextTime() guitar_model.save_ds_state(k, guitar_string) for i in range(len(frets)): guitar_model.save_interaction_state(k, frets[i])