chtMultiRegionSimpleFoam - Stabilise mass flux in a sub-divided channel
When solving the flow through a sub-divided channel the mass fluxes should be equal in all divisions. However the mass fluxes in the individual splits diverge from the expected distribution after some iterations.
Starting from one inlet the channel is split up into eight separate channels (Here the mass flux is measured). Four of them are combined again to the two outlets.
The mesh consists of prismatic layers and a tetrahedra core mesh. The mesh seems coarse but this way I get quicker results. The problem occurs as well with a mesh triple the size.
Output from checkMesh:
Contents of fvSchemes and fvSolution for the fluid domain:
I have not a lot experience with different schemes so I just used the defaults from the heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeater tutorial. Maybe there is room for improvement here.
Here I already tried to lower the residual tolerances, add one NonOrthogonalCorrector and to under-relax a lot without success.
Adding further information in a second post as only five attachments are allowed per post.
Output from chtMultiRegionSimpleFoam:
This is the output from the first iterations and some at iteration number 200.
Mass flux of the different splits:
Mass flux of the two outlets:
Is there a way to stabilise the system to avoid the divergence of the mass flux?
The difference might be due to the asymmetry of the mesh.
Why don't you create one half and then mirror the other? You just have to include a file called mirrorMeshDict.
Also check the gravity direction!
You are using a One-Equation turbulent model right? Why don't you change to a more accurate two-equation method?
thank you for your answer.
I forgot to add some information about the boundary conditions applied.
At the inlet there is constant velocity and zeroGradient pressure. For the outflows there is zeroGradient velocity and constant pressure.
Nobody who can give me any hint here?
The mass flux on the inlet is 0.5kg/s so it should split to approximately 0.0625kg/s in the eight sub-divisions and 0.25kg/s should reach the two outlets. From the charts in the second post one can see that the mass fluxes in the individual channels as well as in the outlets diverge completely. Split 1-4 get high and 5-8 even negative. The total mass balance is correct but the individual flows are unrealistic.
I am trying to compare with another software which does not have this problem, so I think there must be anything wrong with my setup.
I found the reason for the extreme mass imbalance. If I increase the number of iterations the system balances after a high number of iterations. First of all refining the mesh and improving the mesh quality helps to some degree. The most influential factor however is relaxation. Until now I applied the same relaxation values for pressure and velocity. Lets say U = 0.6 and p = 0.6. Reducing both values only has the effect that it takes longer to converge but the imbalance remains the same. However under-relaxing velocity more than pressure greatly reduces the imbalance (U = 0.3, p = 0,7 like in the cht tutorial). There is still an initial imbalance but it is lower in magnitude and it takes a lot less iterations until the imbalance is resolved.
I also played a bit with different schemes and found that using leastSquares as gradScheme and corrected as snGradScheme also reduces the imbalance as well as the simulation time. The individual iterations take longer but with the faster convergence the overall simulation time is reduced.
|All times are GMT -4. The time now is 21:06.|