CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   flux conservation after mesh refinement (

aanton August 13, 2011 19:21

flux conservation after mesh refinement
Hello folks,

I am trying to understand and implement the procedure described in 5.4 of Prof. Jasak's Thesis, and on pages 143-146, for preserving the flux conservation. That is, I need to solve the pressure equation again, and obtain conservative fluxes on a new, refined mesh. I come from computer science, and I am not a CFD user, but my field of study (CiSE) has confluenced with CFD and I am stuck with some problems. I will appreciate any help, gratefully ask for it, and I appologize for possibly poor/obvious questions/solutions. Thanks ;).

Question 1: If i am running an unsteady simulation, and at some moment proceed to refine the mesh and map the fields (using mapFields) from the coarse mesh to the new mesh, provided that the refinement zone is not located anywhere on the inlet or outlet, do I need to worry about violating mass conservation? I am working with incompressible flows, with the pimpleFoam solver.

Question 2: From what I understood on page 236, I edited the pEqn.H from the pimpleFoam solver and simply added the two lines to the end of it that are present in the beginning of the file, for flux calculation:

phi = (fvc::interpolate(U) & mesh.Sf()) + fvc::ddtPhiCorr(rUA, U, phi);
adjustPhi(phi, U, p);

I hope these wont get scrambled by the editor. Anyway, could you please comment on this implementation? What I am trying to do is solving the pressure equation again, and afterwards obtaining conservative fluxes.

Question 3: Can I skip solving UEqn? Can I comment out all lines that modify U in UEqn.H, including relaxation, solve(), etc, and restrict the procedure to solving pEqn.H with interpolated U values? It is faster and does not modify the velocity field.

Question 4: Can I skip the PISO-SIMPLE loop, meaning that I simply call pEqn.solve() or solve(mesh.solver("pFinal"))? How bad is it? All I need is conservative fluxes not different p -> current p, along with k and nuSgs are interpolated on the new mesh.

Question 5 (last): In order to avoid unboundedness problems, do I need to actually save all the updated values for p, k, nuSgs, U along with the face flux field phi? Or all I need is pEqn.solve() , and phi?

Thank you in advance, I appreciate and value your time, help and advices. I know some questions overlap, it seems easier this way to pinpoint the issues.

I am also aware of the two following threads:

Thank you guys,

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