[yt-dev] Issue #1259: magnetic field units for athena frontend (yt_analysis/yt)
Chang-Goo Kim
issues-reply at bitbucket.org
Thu Aug 11 11:30:10 PDT 2016
New issue 1259: magnetic field units for athena frontend
https://bitbucket.org/yt_analysis/yt/issues/1259/magnetic-field-units-for-athena-frontend
Chang-Goo Kim:
I set unit conversion factors with 'unit_override' keyword. These are the units I'm using
>>> print ya.unit_base
{'length_unit': (1.0, 'pc'),
'mass_unit': (2.38858753789e-24, 'g/cm**3*pc**3'),
'time_unit': (1.0, 's*pc/km')}
This should set the magnetic field unit as follows:
>>> mu=yt.YTQuantity(ya.unit_base['mass_unit'][0],ya.unit_base['mass_unit'][1])
>>> lu=yt.YTQuantity(ya.unit_base['length_unit'][0],ya.unit_base['length_unit'][1])
>>> tu=yt.YTQuantity(ya.unit_base['time_unit'][0],ya.unit_base['time_unit'][1])
>>> mag_unit=(np.sqrt(4*np.pi*mu/lu)/tu)
>>> print mag_unit.convert_to_units('gauss')
5.4786746797e-07 gauss
But, what I found in the unit_registry is a bit strange number.
>>> print ds.unit_registry['code_magnetic']
(3.5449077018110318,
sqrt((mass))/(sqrt((length))*(time)),
0.0,
'\\rm{code\\ magnetic}')
It seems that "magnetic_unit" was set correctly in yt/frontends/athena/data_structures.py:
self.magnetic_unit = np.sqrt(4*np.pi * self.mass_unit /
(self.time_unit**2 * self.length_unit))
self.magnetic_unit.convert_to_units("gauss")
More information about the yt-dev
mailing list