imag = plt.imshow(global_ez.T, cmap=plt.cm.hot, origin='lower', vmin=0, vmax=0.05) plt.colorbar() # Main loop from datetime import datetime t0 = datetime.now() for tstep in xrange(1, tmax + 1): for fdtd in fdtds: fdtd.update_e() src.update(tstep) exch.update_e() for fdtd in fdtds: fdtd.update_h() exch.update_h() if tstep % tgap == 0: print('[%s] %d/%d (%d %%)\r' % (datetime.now() - t0, tstep, tmax, float(tstep) / tmax * 100)), sys.stdout.flush() idxs = [0] + [i * nx - (i - 1) for i in range(1, ngpu + 1)] for i, output in enumerate(outputs): output.get_event().wait() outf = output.get_fields()
plt.plot((idx,idx), (0,ny), color='w', linewidth=0.2) global_ez = np.ones((idxs[-1], ny), dtype=fdtds[0].dtype) imag = plt.imshow(global_ez.T, cmap=plt.cm.hot, origin='lower', vmin=0, vmax=0.05) plt.colorbar() # Main loop from datetime import datetime t0 = datetime.now() for tstep in xrange(1, tmax+1): for fdtd in fdtds: fdtd.update_e() src_e.update(tstep) exch.update_e() for fdtd in fdtds: fdtd.update_h() exch.update_h() if tstep % tgap == 0: print('[%s] %d/%d (%d %%)\r' % (datetime.now() - t0, tstep, tmax, float(tstep)/tmax*100)), sys.stdout.flush() for i, output in enumerate(outputs): output.get_event().wait() outf = output.get_fields() global_ez[idxs[i]:idxs[i+1],:] = output.get_fields('ez')
# Plot import matplotlib.pyplot as plt plt.ion() imag = plt.imshow(output.get_fields('ez').T, cmap=plt.cm.hot, origin='lower', vmin=0, vmax=0.05) plt.colorbar() # Main loop from datetime import datetime t0 = datetime.now() for tstep in xrange(1, tmax+1): fdtd.update_h() fdtd.update_e() src.update(tstep) if tstep % tgap == 0: print('[%s] %d/%d (%d %%)\r' % (datetime.now() - t0, tstep, tmax, float(tstep)/tmax*100)), sys.stdout.flush() output.get_event().wait() f = output.get_fields('ez') imag.set_array(f.T**2 ) #plt.savefig('./simple.png') plt.draw() #print('[%s] %d/%d (%d %%)' % (datetime.now() - t0, tstep, tmax, float(tstep)/tmax*100)) print('')
# Plot import matplotlib.pyplot as plt plt.ion() imag = plt.imshow(output.get_fields().T, cmap=plt.cm.hot, origin='lower', vmin=0, vmax=0.01) plt.colorbar() # Main loop from datetime import datetime t0 = datetime.now() for tstep in xrange(1, tmax+1): fdtd.update_e() src_e.update(tstep) pml.update_e() pbc.update_e() fdtd.update_h() pml.update_h() pbc.update_h() if tstep % tgap == 0: print('[%s] %d/%d (%d %%)\r' % (datetime.now() - t0, tstep, tmax, float(tstep)/tmax*100)), sys.stdout.flush() output.get_event().wait() f = output.get_fields() imag.set_array(f.T**2 ) #plt.savefig('./simple.png')