From 8802210a4bb5391ca5c4fbced515d961a85f9246 Mon Sep 17 00:00:00 2001 From: Craig Warren Date: Mon, 30 Jan 2017 18:19:43 +0000 Subject: [PATCH] Simplified storing of receiver output components. Removed extra enumerate on transmission line storage loop. --- gprMax/receivers.py | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/gprMax/receivers.py b/gprMax/receivers.py index e98ac49a..77bacdac 100644 --- a/gprMax/receivers.py +++ b/gprMax/receivers.py @@ -49,25 +49,16 @@ def store_outputs(timestep, Ex, Ey, Ez, Hx, Hy, Hz, G): """ for rx in G.rxs: - if 'Ex' in rx.outputs: - rx.outputs['Ex'][timestep] = Ex[rx.xcoord, rx.ycoord, rx.zcoord] - if 'Ey' in rx.outputs: - rx.outputs['Ey'][timestep] = Ey[rx.xcoord, rx.ycoord, rx.zcoord] - if 'Ez' in rx.outputs: - rx.outputs['Ez'][timestep] = Ez[rx.xcoord, rx.ycoord, rx.zcoord] - if 'Hx' in rx.outputs: - rx.outputs['Hx'][timestep] = Hx[rx.xcoord, rx.ycoord, rx.zcoord] - if 'Hy' in rx.outputs: - rx.outputs['Hy'][timestep] = Hy[rx.xcoord, rx.ycoord, rx.zcoord] - if 'Hz' in rx.outputs: - rx.outputs['Hz'][timestep] = Hz[rx.xcoord, rx.ycoord, rx.zcoord] - if 'Ix' in rx.outputs: - rx.outputs['Ix'][timestep] = Ix(rx.xcoord, rx.ycoord, rx.zcoord, Hy, Hz, G) - if 'Iy' in rx.outputs: - rx.outputs['Iy'][timestep] = Iy(rx.xcoord, rx.ycoord, rx.zcoord, Hx, Hz, G) - if 'Iz' in rx.outputs: - rx.outputs['Iz'][timestep] = Iz(rx.xcoord, rx.ycoord, rx.zcoord, Hx, Hy, G) + for output in rx.outputs: + # Store electric or magnetic field components + if not 'I' in output: + field = locals()[output] + rx.outputs[output][timestep] = field[rx.xcoord, rx.ycoord, rx.zcoord] + # Store current component + else: + func = globals()[output] + rx.outputs[output][timestep] = func(rx.xcoord, rx.ycoord, rx.zcoord, Hx, Hy, Hz, G) - for tlindex, tl in enumerate(G.transmissionlines): + for tl in G.transmissionlines: tl.Vtotal[timestep] = tl.voltage[tl.antpos] tl.Itotal[timestep] = tl.current[tl.antpos]