OpenACC/CUDA with CFD code


Does anybody have done OpeACC or CUDA with head transfer and fluid flow codes? I am trying to port a CFD code for a user, but I am not a CFD guy, so I need some suggestions on how to change the code for GPU if it can be done, or simply tell me this type of problems just cannot be ported to GPU. This code tries to solve non-linear partial differential equations. The code structure is as below. People who are familiar with CFD may know what I am referring to.

do timestep = 0.0d0 max_time, time_step
residualu = 1.0d0, residualv = 1.0d0. residualp = 1.0d0
do iteration=1, itermax
call reset_pressure
call velocity_coefficients
call u_solve
call v_solve
call momentum_interpolation
call p_coefficients
call pc_solve
call correction
call unsteady_vfunctions
call unsteady_tfunctions
call t_coefficients
call t_solve
call convergence_u
call convergence_v
call convergence_p
call convergence_t
if (all converged) exit