示例#1
0
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])