CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   numerical scheme without artificial diffusion artifact (https://www.cfd-online.com/Forums/openfoam-solving/93735-numerical-scheme-without-artificial-diffusion-artifact.html)

 mpeti October 25, 2011 05:22

numerical scheme without artificial diffusion artifact

Dear Forum members,

I am using a modified version of icoFoam to keep track of the concentration of an agent in a pipe flow setup. The scalar field representing the concentration is "carried along" by solving a convection diffusion equation for each timestep using the computed flow velocities. What I experience is that even though there are relatively large gradients in the concentration values around the inlet (resulting from time varying BCs) the gradients quickly diminish (e.g. there seems to be a strong diffusion effect) even if the diffusivity constant is set to zero (!)).

I thought it might be an effect of the numerical schemes used to introduce such artifacts, however I am not quite sure which ones to use instead.

The numerical schemes currently used:
div:
velocity: Gauss limitedLinearV 1;
agent concentration: Gauss limitedLinear 1;

laplacian:
velocity: Gauss linear corrected;
pressure:Gauss linear corrected;
agent concentration: Gauss linear corrected;

P.S. if a non limited numerical scheme is used for the div of the agent concentration the simulation blows up

Peter

 akidess October 26, 2011 05:03

Quote:
 Originally Posted by mpeti (Post 329318) What I experience is that even though there are relatively large gradients in the concentration values around the inlet (resulting from time varying BCs) the gradients quickly diminish (e.g. there seems to be a strong diffusion effect) even if the diffusivity constant is set to zero (!)).
Setting the diffusivity to zero will lead to a very stiff equation system, which is very hard to solve numerically without introducing artificial diffusion. There are numerical schemes designed to minimize numerical diffusion such as SuperBee or MUSCL (have a try if that improves your results for a realistic value of the diffusion coefficient). If I remember correctly the implementation of MUSCL in OpenFoam has the advantage that there is a bounded version (MUSCL01), but it's slightly more diffusive than SuperBee.

If you really need to solve a pure advection equation (e.g. for volume fraction in multiphase flows), even that will not be good enough. You'll need a special algorithm such as MULES + interface compression to handle such problems.

 alberto October 26, 2011 11:36

The best results in terms of reducing diffusion is obtained with central schemes (their diffusive error is zero, since only dispersive errors are present, but they put limitations on the grid size).

If you really need zero diffusion, one possible way is to solve the tracer in a Lagrangian sense.

Best,

 All times are GMT -4. The time now is 14:21.