I'm trying to solve the Convection-Diffusion-Reaction (CDR) equation on a rectangular domain, using cylindrical coordinates and Finite Difference Methods (FDM) (this approximates a flow reactor).
Specifically, I want to solve
$D ( \frac{\partial^2 u}{\partial r^2} + \frac{1}{r}\frac{\partial u}{\partial r} ) - v(r) \frac{\partial u}{\partial z} = S(r)$
Here, r and z are the coordinates in the respective directions, u is the property I want to solve for, v is the laminar velocity profile, S is a given source and D is the diffusion coefficient.
The Boundary conditions are:
$\frac{\partial c}{\partial r} = 0, $ at $r=0$ and at $r=R$ (where R is the length of the rectangle in the r direction).
My approach is to use the Method of Lines, i.e. to solve the system in the r direction for each step in the z direction.
When discretizing the above equation, I run into the practical problem that I divide by the velocity v, i.e. my discretized version of the above equation reads:
$\frac{du}{dz} = \frac{D}{v_i}(\frac{u_{i+1} - 2u_i + u{i-1}}{2h}+\frac{1}{r_i}\frac{u_{i+1}-u_{i-1}}{2h}) - S_i$
The problem with this is that $v_i=0$ at one edge of the computational domain, i.e. where $r=R$
So far, I have approximated my Boundary Conditions by using central differences. This means that I divide entries in my solution matrix by 0.
I'm thinking of fixing this problem with using either unsymmetric difference approximations.
I just wanna ask if that is a good idea or if there is a better fix to this problem.