Hi everyone,
I think there is a small error in the angular momentum calculation.
Below, L is calculated as:
L = velocity x radius
def _SpecificAngularMomentumX(field, data):
xv, yv, zv = obtain_velocities(data)
rv = obtain_rvec(data)
return yv*rv[2,:] - zv*rv[1,:]
def _SpecificAngularMomentumY(field, data):
xv, yv, zv = obtain_velocities(data)
rv = obtain_rvec(data)
return -(xv*rv[2,:] - zv*rv[0,:])
def _SpecificAngularMomentumZ(field, data):
xv, yv, zv = obtain_velocities(data)
rv = obtain_rvec(data)
return xv*rv[1,:] - yv*rv[0,:]
but it should be:
L = radius x velocity
This leads to a sign error (and gives me a whole load of retrograde GMCs!)
def _SpecificAngularMomentumX(field, data):
xv, yv, zv = obtain_velocities(data)
rv = obtain_rvec(data)
return zv*rv[1,:] - yv*rv[2,:]
def _SpecificAngularMomentumY(field, data):
xv, yv, zv = obtain_velocities(data)
rv = obtain_rvec(data)
return -(zv*rv[0,:] - xv*rv[2,:])
def _SpecificAngularMomentumZ(field, data):
xv, yv, zv = obtain_velocities(data)
rv = obtain_rvec(data)
return yv*rv[0,:] - xv*rv[1,:]
Does that look right?
Elizabeth
------------------------------------------------------
Elizabeth TASKER
Assistant Professor
Physics Department, Faculty of Science
Hokkaido University
Sapporo, Japan
------------------------------------------------------