poynting calculation comparison
This commit is contained in:
parent
6333dbd110
commit
6850fe532f
@ -62,6 +62,7 @@ def test0(solver=generic_solver):
|
|||||||
J = [numpy.zeros_like(grid.grids[0], dtype=complex) for _ in range(3)]
|
J = [numpy.zeros_like(grid.grids[0], dtype=complex) for _ in range(3)]
|
||||||
J[1][15, grid.shape[1]//2, grid.shape[2]//2] = 1
|
J[1][15, grid.shape[1]//2, grid.shape[2]//2] = 1
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Solve!
|
Solve!
|
||||||
'''
|
'''
|
||||||
@ -195,16 +196,18 @@ def test1(solver=generic_solver):
|
|||||||
H = functional.e2h(omega, dxes)(E)
|
H = functional.e2h(omega, dxes)(E)
|
||||||
poynting = 0.5 * fdtd.poynting(e=E, h=H.conj()) * dx * dx
|
poynting = 0.5 * fdtd.poynting(e=E, h=H.conj()) * dx * dx
|
||||||
cross1 = operators.poynting_e_cross(vec(E), dxes) @ vec(H).conj()
|
cross1 = operators.poynting_e_cross(vec(E), dxes) @ vec(H).conj()
|
||||||
# cross2 = operators.poynting_h_cross(h.conj(), dxes) @ e
|
cross2 = operators.poynting_h_cross(vec(H), dxes) @ vec(E).conj() * -1
|
||||||
s1 = unvec(0.5 * numpy.real(cross1), grid.shape)
|
s1 = unvec(0.5 * numpy.real(cross1), grid.shape)
|
||||||
# s2 = unvec(0.5 * numpy.real(-cross2), grid.shape)
|
s2 = unvec(0.5 * numpy.real(cross2), grid.shape)
|
||||||
s2 = poynting.real
|
s0 = poynting.real
|
||||||
# s2 = poynting.imag
|
# s2 = poynting.imag
|
||||||
return s1, s2
|
return s0, s1, s2
|
||||||
|
|
||||||
s1x, s2x = poyntings(E)
|
s0x, s1x, s2x = poyntings(E)
|
||||||
pyplot.plot(s1x[0].sum(axis=2).sum(axis=1))
|
pyplot.plot(s0x[0].sum(axis=2).sum(axis=1), label='s0')
|
||||||
pyplot.plot(s2x[0].sum(axis=2).sum(axis=1))
|
pyplot.plot(s1x[0].sum(axis=2).sum(axis=1), label='s1')
|
||||||
|
pyplot.plot(s2x[0].sum(axis=2).sum(axis=1), label='s2')
|
||||||
|
pyplot.legend()
|
||||||
pyplot.show()
|
pyplot.show()
|
||||||
|
|
||||||
q = []
|
q = []
|
||||||
|
Loading…
Reference in New Issue
Block a user