Mass transfer: negative concentrations
I simulate mass transfer problems by solving advection-diffusion (and possibly reaction) equation with a finite element method.
Numerical instabilities and insufficient mesh resolution sometimes lead to non-physical negative concentration values. I heard somewhere that these problems can be elegantly circumvented by reformulating the transport equations in terms of log(c) -- instead of solving for c directly.
- Does anyone here have experience with such log(c)-problems?
- I'd be happy if anyone could point me to a publication on this topic!
- How will a zero concentration be expressed in terms of log?
c=0 ==> log(c)=-inf ...?
Thanks for your help!
I'm not aware about this logC transformation, but for me it won't prevail you from negative concentration.
Anyway to my mind your problem is due to an inapropriate numerical scheme for convection term of your transport equation.
If your flow is convection dominated (small diffusion coefficient or hyperbolic equation) and if you use centred scheme (CD) or higher order scheme like Quick for example it may lead to such spurious overshoots and undershoots.
use low order scheme, upwind, second order upwind or TVD schemes.
Yes, my problems are highly convection dominant.
For the simulations I use a first order Galerkin method which is stabilized by an SUPG-like least squares technique. In general this works fine, except a few overshoots in the vicinity of steep gradients that are almost impossible to eliminate completely. I can live with them as long as the concentrations remain positive (because negative concentrations may totally screw up reaction mechanisms). As for the numerical scheme, I know there might be better solutions, but I am not planning to revise my code.
I have tried to derive the log-equations by myself, and I am actually quite sure that it might work this way for pure transport equations. However, reactive terms sometimes pose difficulties. Moreover, there really seems to be no way of expressing concentrations identical to zero.
An alternative could be a quadratic transformation. This has been done here:
(just in case anyone else is interested)
Yet another thought:
Suppose I stay with the original formulation of the equations (i.e. in terms of c, not logc). How about simply cutting off all negative values after each iteration? Would this bring any problems in mass conservation? Probably so... But how bad can might this be compared to having non-physical negative values?
use a TVD scheme like for example MUSCLE, SMART , or Roe with superbee flux limiter and all your problems of undershoot and overshhot will be settled.
just try ;)
first order reaction mechanism in fluent
whats the meaning of first order reaction mechanism in fluent?i dont know what this?
|All times are GMT -4. The time now is 18:09.|