Reduced diagnostics
WarpX has optional reduced diagnostics, that typically return one value (e.g., particle energy) per timestep.
A simple and quick way to read the data using python is
data = numpy.genfromtxt("filename.txt")
where data
is a two dimensional array, data[i][j]
gives the data in the ith row and the jth column.
A Python function to read the data is available from module read_raw_data
in WarpX/Tools/PostProcessing/
:
from read_raw_data import read_reduced_diags
filename = 'EF.txt'
metadata, data = read_reduced_diags( filename )
# list available diagnostics
data.keys()
# Print total field energy on level 0
data['total_lev0']
# Print units for the total field energy on level 0
metadata['units']['total_lev0']
In addition, for reduced diagnostic type ParticleHistogram
,
another Python function is available:
from read_raw_data import read_reduced_diags_histogram
filename = 'velocity_distribution.txt'
metadata_dict, data_dict, bin_value, bin_data = read_reduced_diags_histogram( filename )
# 1-D array of the ith bin value
bin_value[i]
# 2-D array of the jth bin data at the ith time
bin_data[i][j]
Another available reduced diagnostic is ParticleHistogram2D
.
It computes a 2D histogram of particle data with user-specified axes and value functions.
The output data is stored in openPMD files gathered in a hist2D/
folder.