Thank you Federico for your reply.

Yes, I am using the output of F_C0 to obtain the cell centroid and it does work. My apologies as my question wasn't exactly clear, perhaps I should get straight to the point. How exactly do I choose the cell immediately right of a face? and then choose the cell next to that and so on? 

In my UDF I tried to use an "internal" that sits in between the porous media and the inlet area and apply either F_C0 or F_C1 to find the cell immediately to the right (meaning that the cell belongs to the porous media) to apply a formula for change in concentration but everytime I do that, it selects the porous media cell zone. In the image below you can see the concentration at the walls of the porous media is 0.1 for visualization purposes. That's the cell zone selected when I apply 

        threadC1 = THREAD_T1(thread);
        ThreadIDC1 = THREAD_ID(threadC1);
where thread is the pointer that points to the "internal" boundary condition discussed above.
Below are the messages I printed on the console. The thread with ID 5 belongs to the porous media cell zone and thread with ID 2 belongs to an internal boundary condition. 
I am basically teaching myself to code and I am not experienced at this at all. Any help is appreciated. Also If you have any suggestions on modelling adsorption using bohart adams model and how I should proceed with doing that, that would be awesome. Thank you