[yt-users] Problem with Units in a Derived Field

Nathan Goldbaum nathan12343 at gmail.com
Mon Aug 24 17:13:41 PDT 2015


On Monday, August 24, 2015, Cameron Hummels <chummels at gmail.com> wrote:

> Hi Jared,
>
> The problem is one of units.  In order to make common arithmetic work like
> addition, yt requires both arguments going into the addition operator to
> have the same units.
>
> In your line,
>
> fHI = (recomb * ne) / (gamma_HI + (gamma_c *ne))
>
> you're adding two things (gamma_HI) and (gamma_c*ne) that have different
> units--in this case, something with (code_mass/code_length**3) units and
> something with no units defined as (1).
>

Just a quick clarification: they need not have the same units, just the
same dimensions.  You can add two quantities with units of grams and solar
masses (for example) but not grams and liters.


>
> In order to fix this, you can re-assign the appropriate units to different
> arrays or quantities with the YTArray and YTQuantity classes.  In this
> case, make sure that the two arguments going into the addition have the
> same units.  If you want to recast "ne" to have number density units, you
> can do this:  from yt.units.yt_array import YTQuantity; ne = YTQuantity(ne,
> 'cm**-3').  For more info on units, check out
> http://yt-project.org/docs/dev/analyzing/units/index.html
>
> I hope this helps!
>
> Cameron
>
> On Mon, Aug 24, 2015 at 4:12 PM, Jared Coughlin <
> Jared.W.Coughlin.29 at nd.edu
> <javascript:_e(%7B%7D,'cvml','Jared.W.Coughlin.29 at nd.edu');>> wrote:
>
>> Hello! I have a gadget snapshot for which the standard internal energy
>> block has been replaced by one containing the temperature.  I'm trying to
>> calculate a derived field for the neutral hydrogen number density,  but I'm
>> getting an error when I try to do ds.add_field():
>>
>> http://paste.yt-project.org/show/5833/
>>
>> However, I get an error about being unable to add quantities with
>> differing units:
>>
>> http://paste.yt-project.org/show/5834/
>>
>> The docs say not to do any unit conversion because that is apparently
>> taken care of behind the scenes, so I didn't.  I was just wondering if
>> there was a way around this? Thanks!
>> -Jared
>>
>>
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> <javascript:_e(%7B%7D,'cvml','yt-users at lists.spacepope.org');>
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>
>>
>
>
> --
> Cameron Hummels
> NSF Postdoctoral Fellow
> Department of Astronomy
> California Institute of Technology
> http://chummels.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20150824/b618cc54/attachment.html>


More information about the yt-users mailing list