From 03f7bae43e41015ed6ff68016e94ef62a0efafb2 Mon Sep 17 00:00:00 2001 From: Craig Warren Date: Tue, 21 Feb 2017 12:30:05 +0000 Subject: [PATCH] Moved store_outputs function into this module. --- gprMax/fields_outputs.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gprMax/fields_outputs.py b/gprMax/fields_outputs.py index c7cbd9fb..0db3ad57 100644 --- a/gprMax/fields_outputs.py +++ b/gprMax/fields_outputs.py @@ -21,6 +21,31 @@ import h5py from gprMax._version import __version__ +def store_outputs(iteration, Ex, Ey, Ez, Hx, Hy, Hz, G): + """Stores field component values for every receiver and transmission line. + + Args: + iteration (int): Current iteration number. + Ex, Ey, Ez, Hx, Hy, Hz (memory view): Current electric and magnetic field values. + G (class): Grid class instance - holds essential parameters describing the model. + """ + + for rx in G.rxs: + for output in rx.outputs: + # Store electric or magnetic field components + if 'I' not in output: + field = locals()[output] + rx.outputs[output][iteration] = field[rx.xcoord, rx.ycoord, rx.zcoord] + # Store current component + else: + func = globals()[output] + rx.outputs[output][iteration] = func(rx.xcoord, rx.ycoord, rx.zcoord, Hx, Hy, Hz, G) + + for tl in G.transmissionlines: + tl.Vtotal[iteration] = tl.voltage[tl.antpos] + tl.Itotal[iteration] = tl.current[tl.antpos] + + def write_hdf5_outputfile(outputfile, Ex, Ey, Ez, Hx, Hy, Hz, G): """Write an output file in HDF5 format.