It will be a little tough but possible nfor interior face : INTERIOR_FACE_GEOMETRY(f,t,A,ds,es,A_by_es,dr0,dr1) returns dr0 and dr1 which are the vectors to the adjacent cells ... C0 and C1nFor boundary face: BOUNDARY_FACE_GEOMETRY(f,t,A,ds,es,A_by_es,dr0) returns dr0 which is the vector to the adjacent cell C0 nBOUNDARY_FACE_THREAD_P(t) returns TRUE if Thread *t is a boundary face threadnF_C0(f,t) and F_C1(f,t) return the cells C0 and C1 adjacent to the facenTHREAD_T0(t) and THREAD_T1(t) returns the threads T0 and T1 for cells C0 and C1 abovenC_P(c,t) returns the pressure in a cellnC_P_G(c,t) returns a vector of the pressure gradients in x, y and znnNow you have all the required info, do the mathnnn n