class serpentTools.DepmtxReader(filePath, sparse=None)

Reader for processing depletion matrix files

  • filePath (str) – Path to file to be read

  • sparse (bool or None) – Use scipy sparse matrices if True. If passed as None, only use sparse if scipy is installed


Length of depletion interval




Vector of original isotopics




Integer vector of isotope ZAI (zzaaai) identifiers




Depletion matrix for this material. Will be scipy.sparse.csc_matrix if scipy is installed and the sparse-engine option is either not specified (None) during read() or passed as True. Otherwise, will be a numpy.ndarray


numpy.ndarray or


Vector for isotopics after depletion




Return True if the object is configured for sparse support

compare(other, lower=0, upper=10, sigma=2, verbosity=None)

Compare the results of this reader to another.

For values without uncertainties, the upper and lower arguments control what passes and what messages get raised. If a quantity in other is less than lower percent different that the same quantity on this object, consider this allowable and make no messages. Quantities that are greater than upper percent different will have a error messages printed and the comparison will return False, but continue. Quantities with difference between these ranges will have warning messages printed.

  • other – Other reader instance against which to compare. Must be a similar class as this one.

  • lower (float or int) – Lower limit for relative tolerances in percent Differences below this will be considered allowable

  • upper (float or int) – Upper limit for relative tolerances in percent. Differences above this will be considered failure and errors messages will be raised

  • sigma (int) – Size of confidence interval to apply to quantities with uncertainties. Quantities that do not have overlapping confidence intervals will fail

  • verbosity (None or str) – If given, update the verbosity just for this comparison.


True if the objects are in agreement with each other according to the parameters specified

Return type


  • TypeError – If other is not of the same class as this class nor a subclass of this class

  • ValueError – If upper > lower, If sigma, lower, or upper are negative

plotDensity(what='both', ax=None, logx=False, logy=True, loglog=None, legend=None, title=None, labels=None, markers=None, xlabel=None, ylabel=None, ylim=None)

Plot initial, final, or both number densities.

  • what (str) –

    Concentrations to plot.

    1. 'both': plot initial and final

    2. 'n0' or 'initial': only initial

    3. 'n1' or 'final': only final

  • ax (matplotlib.axes.Axes, optional) – Ax on which to plot the data. If not provided, create a new plot

  • logx (bool) – Apply a log scale to x axis.

  • logy (bool) – Apply a log scale to y axis.

  • loglog (bool) – Apply a log scale to both axes.

  • legend (bool or str or None) – Automatically label the plot. No legend will be made if a single item is plotted. Pass one of the following values to place the legend outside the plot: above, right

  • title (str) – Title to apply to the figure.

  • labels (None or str or list of strings) – Labels to apply to concentration plot(s). If given, must have length equal to the number of quantities plotted, e.g. plotting both concentrations and passing a single string for labels is not allowed

  • markers (None or str or list of strings) – Markers to apply to each plot. Must be a valid matplotlib marker such as 'o', '>', etc. If given, the number of markers given must equal the number of quantities to plot.

  • xlabel (str or bool, optional) – Label to apply to the x-axis. If given as None, a label will be determined from other arguments. If not None but evaluates to False, do not label.

  • ylabel (str or bool, optional) – Label to apply to the y-axis. If given as None, a label will be determined from other arguments. If not None but evaluates to False, do not label.

  • ylim (None or float or list of floats) – If a single value is given, set the lower y-axis limit to this value. If two values are given, set the upper and lower y-axis limits to this value


Ax on which the data was plotted.

Return type



The main method for reading that not only parses data, but also runs pre and post checks.

toMatlab(fileP, reconvert=True, append=True, format='5', longNames=True, compress=True, oned='row')

Write a binary MATLAB file from the contents of this object

  • fileP (str or file-like object) – Name of the file to write. .mat extension is not needed if append==True

  • reconvert (bool) – If this evaluates to true, convert values back into their original form as they appear in the output file.

  • append (bool) – If true and a file exists under output, append to that file. Otherwise the file will be overwritten

  • format ({'5', '4'}) – Format of file to write. '5' for MATLAB 5 to 7.2, '4' for MATLAB 4

  • longNames (bool) – If true, allow variable names to reach 63 characters, which works with MATLAB 7.6+. Otherwise, maximum length is 31 characters

  • compress (bool) – If true, compress matrices on write

  • oned ({'row', 'col'}) – Write one-dimensional arrays as row vectors if oned=='row' (default), or column vectors


ImportError – If scipy is not installed