Hi there--
I'm doing something wrong with clumps in yt3, and can't quite figure out what I"m doing. When I make some clumps, the field 'density' shows up, but no other fields seem to be well defined. Is this a familiar error to anyone? What I'm doing is the following:
I make some clumps from a sphere, similar to what's in the docs (details at the end of the email), and when I do
>>> leaf_clumps[n]['density']
I get something sensical. But if I do
>>> leaf_clumps[n]['cell_mass']
YTArray([], dtype=float64) g
I get this empty array.
If I instead try quantities.total_mass(), I get an odd error.
>>> leaf_clumps[22].quantities.total_mass()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/dcollins4096/local-yt-2014-08-27/src/yt-hg/yt/data_objects/derived_quantities.py", line 193, in __call__
rv = super(TotalMass, self).__call__(fields)
File "/home/dcollins4096/local-yt-2014-08-27/src/yt-hg/yt/data_objects/derived_quantities.py", line 160, in __call__
rv = super(TotalQuantity, self).__call__(fields)
File "/home/dcollins4096/local-yt-2014-08-27/src/yt-hg/yt/data_objects/derived_quantities.py", line 56, in __call__
sto.result = self.process_chunk(ds, *args, **kwargs)
File "/home/dcollins4096/local-yt-2014-08-27/src/yt-hg/yt/data_objects/derived_quantities.py", line 166, in process_chunk
for field in fields]
File "/home/dcollins4096/local-yt-2014-08-27/src/yt-hg/yt/data_objects/data_containers.py", line 248, in __getitem__
self.get_data(f)
File "/home/dcollins4096/local-yt-2014-08-27/src/yt-hg/yt/data_objects/selection_data_containers.py", line 749, in get_data
raise YTMixedCutRegion(self.conditionals, field)
yt.utilities.exceptions.YTMixedCutRegion: Can't mix particle/discrete and fluid/mesh conditions or
quantities. Field: ('all', 'particle_mass') and Conditions specified:
obj['contours_8d0408a91fc34e2bbe9eb838d48de46e'] == 1
I build the clumps in the following manner. I don't have any validators by design. Plotting the clumps with annotate_clumps(leaf_clumps) gives reasonable results.
ds = yt.load(setname)
loc = ds.arr([ 0.03613281, 0.79589844, 0.03027344], 'code_length')
width = (0.05,'code_length')
sphere = ds.sphere(loc,width)
master_clump = Clump(sphere,"density")
use_particles=False, use_thermal_energy=False)
c_min = sphere["gas", "density"].min()
c_max = sphere["gas", "density"].max()
step = 2.0
find_clumps(master_clump, c_min, c_max, step)
leaf_clumps = get_lowest_clumps(master_clump)
Thanks a ton!
d.
--