<div dir="ltr"><div><div><div>Hi everyone,<br><br></div>Okay, so I am trying to make a SlicePlot, a ProjectionPlot, and a phase_object for a bunch of different outputs.  My code keeps using up all my memory and dying after the first loop.  I am not using variables, I think, so how do I free up my memory at the end of each loop?<br>
</div><br></div><div>See code below.<br><br></div>Thanks,<br><br>Stephanie<br><br><br>import matplotlib.pylab as pl<br>from mpl_toolkits.mplot3d import Axes3D<br>from yt.mods import *<br><br>def _xkpc(field,data):<br>    return(data["x"]*26.)<br>
<br>def _ykpc(field,data):<br>    return(data["y"]*26.)<br><br>def _zkpc(field,data):<br>    return(data["z"]*26.)<br><br>def _CellMassSolar(field,data):<br>    return(data["CellMass"]/1.99e33)<br>
<br>add_field("xkpc",function=_xkpc,units="kpc")<br>add_field("ykpc",function=_ykpc,units="kpc")<br>add_field("zkpc",function=_zkpc,units="kpc")<br>add_field("CellMassSolar",function=_CellMassSolar,units=r'M$_{\odot}$')<br>
<br>outstring = ['0020','0030','0040','0050','0060','0070','0080','0090','0100','0110','0120','0130']<br>i = 0<br>while i < len(outstring):<br>
    pf = load("id0/rps."+outstring[i]+".vtk",parameters={"TimeUnits":3.086e14,"LengthUnits":8.0236e22,"DensityUnits":9.999e-30,"VelocityUnits":2.6e8})<br><br><br>
    p = SlicePlot(pf,"x","Density")<br>    p.set_log("Density", True)<br>    p.save()<br>    <br>    <br>    p2 = ProjectionPlot(pf,"x","Density")<br>    p2.set_log("Density", True)<br>
    p2.save()<br>    <br>    <br>    alld = pf.h.all_data()<br><br>    pc = PlotCollection(pf)<br>    tracerp25 = alld.cut_region(["grid['specific_scalar[0]'] > 0.25", "grid['z'] > 0.04"])<br>
    tp25extrema = tracerp25.quantities["Extrema"]("Density")<br>    pc.add_phase_object(tracerp25,["zkpc","z-velocity","CellMassSolar"],weight=None,x_bins=50,y_bins=50,y_bounds = [-1e8,1.5e8],x_log=False,y_log=False)<br>
    pc.set_zlim(10000,1e10)<br>    pc.save()<br>    <br>    i = i+1<br><br></div>