[yt-users] YT Phase Plot Loop

Nicholas Earl earlnich at msu.edu
Fri Dec 31 11:44:25 PST 2010


Thank you! Worked like a charm.

Nick

On Dec 30, 2010, at 4:13 PM, j s oishi wrote:

> Hi Nicholas,
> 
> Alternatively, and possibly preferably, you could move the
> 
> pc.save() call outside of the "for item in field" loop.
> 
> j
> 
> On Thu, Dec 30, 2010 at 1:11 PM, Britton Smith <brittonsmith at gmail.com> wrote:
>> Hi Nick.
>> 
>> I believe the problem is related to the fact that you define the
>> PlotCollection outside of the (for item in field) loop.  Each time you do
>> pc.add_phase_sphere, you are adding another item to the PlotCollection,
>> which contains everything that has been added since it was created.  Thus,
>> when you call pc.save, it is saving each item in the collection.  To remedy
>> this, all you need to do is move the pc = PlotCollection line inside the
>> loop.  Also, adding a "del pc" line at the end of the loop, while probably
>> not totally necessary, couldn't hurt either.
>> 
>> Britton
>> 
>> On Thu, Dec 30, 2010 at 4:05 PM, Nicholas Earl <earlnich at msu.edu> wrote:
>>> 
>>> Hey all,
>>> I am trying to to have yt load up a data set, and then create phase plots
>>> with varying weighted fields like the script below.
>>> The problem is that when reaches the 'for item in field' loop, after each
>>> image output, the loop starts over instead of continuing to the next
>>> field... for instance, the output for a series of numbers representing the
>>> images would look like this:
>>> 1
>>> 1
>>> 2
>>> 1
>>> 2
>>> 3
>>> 1
>>> 2
>>> 3
>>> 4
>>> etc
>>> I am not quite sure how to remedy this, so I'm hoping someone could point
>>> me in the right direction.
>>> Thanks for your efforts!
>>> Nicholas Earl
>>> 
>>> from yt.mods import * # set up our namespace
>>> #field = ['Temperature','Cooling_Time']
>>> field =
>>> ['Cooling_Time','Density','Electron_Fraction','Gas_Energy','H2II_Fraction','H2I_Fraction','HII_Fraction','HI_Fraction','HM_Fraction','HeIII_Fraction','HeII_Fraction','HeI_Fraction','Metal_Fraction','Temperature','Total_Energy','x-velocity','y-velocity']
>>> for n in range(1,402):
>>>         #for item in field:
>>>         pf = load("DD%04i/DD%04i" % (n,n))
>>>         # load dataset
>>>         #for item in field:
>>>         pc = PlotCollection(pf, center=[1.0, 0.5, 0.5]) # defaults to
>>> center at most dense point
>>>         for item in field:
>>>                 #value, position = pf.h.find_max("Density")
>>>                 #print value, position
>>>                 pc.add_phase_sphere(10.0, "pc", # how many of which unit
>>> at pc.center
>>>                         ["Density", "Temperature", "CellMassMsun"], # our
>>> fields: x, y, color
>>>                         weight="%s" % (item))# don't take the average
>>> value in a cell, just sum them up
>>>                 #print item
>>>                 pc.save('./denstemp_weighted/%s' % (pf))  # save all plots
>>> 
>>> _______________________________________________
>>> yt-users mailing list
>>> yt-users at lists.spacepope.org
>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>> 
>> 
>> 
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>> 
>> 
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org




More information about the yt-users mailing list