예제 #1
0
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()
예제 #2
0
	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')
예제 #3
0

# 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('')
예제 #4
0

# 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')