I see, How about obtaining the rotational curves for gas and matter separately and then adding them up? Would that be simpler (even if its an approximate) instead of considering the potential directly? I modelled stars and dark matter under particles and gas as fluid on the mesh and I have the following my fields_list: ( I am dealing with cartesian coordinates. So, I don't have the spherical coordinates in my fields_list)

" ('all', 'particle_extra_field_1')
('all', 'particle_extra_field_2')
('all', 'particle_extra_field_3')
('all', 'particle_extra_field_4')
('all', 'particle_extra_field_5')
('all', 'particle_identifier')
('all', 'particle_mass')
('all', 'particle_position_x')
('all', 'particle_position_y')
('all', 'particle_position_z')
('all', 'particle_refinement_level')
('all', 'particle_velocity_x')
('all', 'particle_velocity_y')
('all', 'particle_velocity_z')
('io', 'particle_extra_field_1')
('io', 'particle_extra_field_2')
('io', 'particle_extra_field_3')
('io', 'particle_extra_field_4')
('io', 'particle_extra_field_5')
('io', 'particle_identifier')
('io', 'particle_mass')
('io', 'particle_position_x')
('io', 'particle_position_y')
('io', 'particle_position_z')
('io', 'particle_refinement_level')
('io', 'particle_velocity_x')
('io', 'particle_velocity_y')
('io', 'particle_velocity_z')
('ramses', 'Density')
('ramses', 'Metallicity')
('ramses', 'Pressure')
('ramses', 'var6')
('ramses', 'x-velocity')
('ramses', 'y-velocity')
('ramses', 'z-velocity') "

So, I am thinking that the highlighted fields in the type 'all' could be used to compute circular velocity [sqrt(particle_velocity_x^2+particle_velocity_y^2)] and the radius [sqrt(particle_position_x^2+particle_position_y^2)] for particles. And for gas, 'ramses' fields could be used. However, I am not sure how to get the radius for the gas in this case. Would this be a right approach at all to begin with?