
Hello, I'm doing a simple analysis of looking for a gravitationally bound sphere centred at the most dense point in each level of clumps by iteratively increasing the radius from 0.5pc to 4pc until the derived quantity "IsBound" is True. I'm trying to use mpi4py as this iteration takes a very long time on serial but I'm getting an error very similar to the error I received when I tried mpi4py with clump finding routine: Traceback (most recent call last): bound = sp_cand.quantities["IsBound"](truncate=True, include_thermal_energy=False) File "/home/elee/accretion/analysis/codes/clump_excise_sph.py", line 71, in <module> File "/home/jchong/ytdev/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 86, in __call__ self.func(e, *args, **kwargs) self.func(e, *args, **kwargs) File "/home/jchong/ytdev/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 351, in _IsBound File "/home/jchong/ytdev/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 351, in _IsBound self.func(e, *args, **kwargs) File "/home/jchong/ytdev/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 351, in _IsBound bound = sp_cand.quantities["IsBound"](truncate=True, include_thermal_energy=False) File "/home/jchong/ytdev/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 86, in __call__ bv_x,bv_y,bv_z = data.quantities["BulkVelocity"]() bv_x,bv_y,bv_z = data.quantities["BulkVelocity"]() AttributeError: 'FieldDetector' object has no attribute 'quantities' self.func(e, *args, **kwargs) AttributeError: 'FieldDetector' object has no attribute 'quantities' File "/home/jchong/ytdev/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 351, in _IsBound bv_x,bv_y,bv_z = data.quantities["BulkVelocity"]() AttributeError: 'FieldDetector' object has no attribute 'quantities' bv_x,bv_y,bv_z = data.quantities["BulkVelocity"]() AttributeError: 'FieldDetector' object has no attribute 'quantities' It seems like parallelization loses the attribute "quantities" associated with data, which, if I understand correctly, should be the sphere object. Does this mean it somehow loses the sphere object that was passed in as an argument? Or is this somehow related to the parallel contouring algorithm that Britton has mentioned before? Thanks. Best Regards, Eve