Hi all, I am trying to compute specific angular momentum using YT. I am getting the following error. It is already in derived fields list but does not work. Am i doing some thing wrong here? Any ideas what is going wrong here? Thanks in advance! Cheers Latif pc.add_profile_sphere(150, "kpc", ["Radiuspc", "SpecificAngularMomentum"], weight="CellMassMsun", accumulation=False, x_bins=64, x_log=True, x_bounds=None,lazy_reader=True, id=None, figure=None, axes=None) # x, y, weight id=None, figure=None, axes=None) # x, y, weight File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py", line 1033, in add_profile_sphere figure=figure, axes=axes) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py", line 943, in add_profile_object profile.add_fields(fields[1], weight=weight, accumulation=accumulation) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 147, in add_fields self._lazy_add_fields(fields, weight, accumulation) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 107, in _lazy_add_fields args=args, check_cut=True) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 56, in save_state tr = func(*args, **kwargs) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 243, in _bin_field source_data = self._get_field(source, field, check_cut) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 183, in _get_field data.append(source[field][pointI].ravel().astype('float64')) IndexError: index (3) out of range (0<=index<2) in dimension 0
Hi Latif,
These fields should be removed -- they are difficult to get working
correctly, because they are vectors.
What you can do is get:
SpecificAngularMomentumX
SpecificAngularMomentumY
SpecificAngularMomentumZ
for each individually, and then you can combine them yourself.
Unfortunately because there are a number of ways to evaluate the
"total" L in a cell, this is not terribly easy to do from
add_profile_sphere. I would recommend using BinnedProfile1D by hand,
and then constructing a final result from that after you have weighted
(or not weighted) specifically how you would like them to be combined.
Hope that helps -- feel free to write back if you would like more
info. This would be a great addition to the cookbook, if you end up
with something you like and that works for you!
-Matt
On Thu, Jul 12, 2012 at 9:25 AM, Latif
Hi all,
I am trying to compute specific angular momentum using YT. I am getting the following error. It is already in derived fields list but does not work. Am i doing some thing wrong here? Any ideas what is going wrong here? Thanks in advance! Cheers Latif
pc.add_profile_sphere(150, "kpc", ["Radiuspc", "SpecificAngularMomentum"], weight="CellMassMsun", accumulation=False, x_bins=64, x_log=True, x_bounds=None,lazy_reader=True, id=None, figure=None, axes=None) # x, y, weight
id=None, figure=None, axes=None) # x, y, weight File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py", line 1033, in add_profile_sphere figure=figure, axes=axes) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py", line 943, in add_profile_object profile.add_fields(fields[1], weight=weight, accumulation=accumulation) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 147, in add_fields self._lazy_add_fields(fields, weight, accumulation) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 107, in _lazy_add_fields args=args, check_cut=True) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 56, in save_state tr = func(*args, **kwargs) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 243, in _bin_field source_data = self._get_field(source, field, check_cut) File "/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py", line 183, in _get_field data.append(source[field][pointI].ravel().astype('float64')) IndexError: index (3) out of range (0<=index<2) in dimension 0
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
Hi Matt,
Many thanks for response!
I will try to compute SAG as you suggested and let you guys know.
Cheers
Latif
On Thu, Jul 12, 2012 at 6:27 PM, Matthew Turk
Hi Latif,
These fields should be removed -- they are difficult to get working correctly, because they are vectors.
What you can do is get:
SpecificAngularMomentumX SpecificAngularMomentumY SpecificAngularMomentumZ
for each individually, and then you can combine them yourself. Unfortunately because there are a number of ways to evaluate the "total" L in a cell, this is not terribly easy to do from add_profile_sphere. I would recommend using BinnedProfile1D by hand, and then constructing a final result from that after you have weighted (or not weighted) specifically how you would like them to be combined.
Hope that helps -- feel free to write back if you would like more info. This would be a great addition to the cookbook, if you end up with something you like and that works for you!
-Matt
Hi all,
I am trying to compute specific angular momentum using YT. I am getting
On Thu, Jul 12, 2012 at 9:25 AM, Latif
wrote: the following error. It is already in derived fields list but does not work. Am i doing some thing wrong here? Any ideas what is going wrong here? Thanks in advance! Cheers Latif
pc.add_profile_sphere(150, "kpc", ["Radiuspc", "SpecificAngularMomentum"], weight="CellMassMsun", accumulation=False, x_bins=64, x_log=True, x_bounds=None,lazy_reader=True, id=None, figure=None, axes=None) # x, y, weight
id=None, figure=None, axes=None) # x, y, weight File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py",
line 1033, in add_profile_sphere figure=figure, axes=axes) File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py",
line 943, in add_profile_object profile.add_fields(fields[1], weight=weight, accumulation=accumulation) File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py",
line 147, in add_fields self._lazy_add_fields(fields, weight, accumulation) File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py",
line 107, in _lazy_add_fields args=args, check_cut=True) File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py",
line 56, in save_state tr = func(*args, **kwargs) File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py",
line 243, in _bin_field source_data = self._get_field(source, field, check_cut) File
"/home/astro73/mlatif/YT/yt-x86_64/src/yt-hg/yt/data_objects/profiles.py",
line 183, in _get_field data.append(source[field][pointI].ravel().astype('float64')) IndexError: index (3) out of range (0<=index<2) in dimension 0
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
participants (2)
-
Latif
-
Matthew Turk