CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   LES by Multigrid (https://www.cfd-online.com/Forums/main/66267-les-multigrid.html)

mnabi July 10, 2009 04:19

LES by Multigrid
 
I am trying to solve a turbulent flow by LES, using multigrid. I am using multigrid for Pressure correction solver. But to increase the CFL number (larger time steps), I am solve the momentum equations implicitly, and I am trying to use Multigrid to increase their convergence rate. Thus what I do:
1. solve the momentum equations by multigrid
2. solve the pressure by Multigrid
3. correct the velocity field
But I recognised that the flow sometimes, tends to become laminar. Is it so that the Multigrid kills the turbulence, if we use it for the momentum equations?
It is clear that Multigrid removes the high frequency errors on the coarser grids. Does it also removes the high frequency eddies, and transfer the results to the finer grids ?
I thank you in advance

jed July 10, 2009 05:31

Quote:

Originally Posted by mnabi (Post 222196)
I am trying to solve a turbulent flow by LES, using multigrid. I am using multigrid for Pressure correction solver. But to increase the CFL number (larger time steps), I am solve the momentum equations implicitly, and I am trying to use Multigrid to increase their convergence rate. Thus what I do:
1. solve the momentum equations by multigrid
2. solve the pressure by Multigrid
3. correct the velocity field
But I recognised that the flow sometimes, tends to become laminar. Is it so that the Multigrid kills the turbulence, if we use it for the momentum equations?

This semi-implicit scheme commits a splitting error that is first-order in time and involves first derivatives of the velocity that is being fixed. So if you are running much beyond advective CFL, it is probably not even first-order accurate in time. This is a common problem with splitting schemes. High-order splitting can increase the formal order of accuracy, but they cannot attain their quoted order when you significantly exceed CFL for the stiffest wave in your system. To reliably exceed the stiff CFL, you should use a fully implicit method (ideally an L-stable integrator with high stage order).

Quote:

It is clear that Multigrid removes the high frequency errors on the coarser grids. Does it also removes the high frequency eddies, and transfer the results to the finer grids ?
I thank you in advance
Multigrid is just a solver/preconditioner and can only affect performance as compared to e.g. a direct solver, GMRES/ILU, or BiCG/ASM. Your problem almost certainly comes from the integration scheme and time step on which you are running. Any time you step over CFL (semi- or fully-implicitly) you no longer track phase. This will tend to damp eddies which may not be what you want.

mnabi July 10, 2009 09:02

Thank you Jed for your kindly help.
Actually, I am using semi implicit method. I am using Adams-Bashforth-Crank-Nicolson. Second order AB for the convective term, and CN for the diffusion.
To solve the diffusion (implicitly), I am useing the convection term and a part of diffusion (because of CN) as a source term.
I don't fix any value, it is the case I update the turbulent viscosity and the source term after each MG cycle. During this update, the convection term stay unchanged, but the diffusion term changes because of turbulent viscosity and also participation of other velocity components in the diffusion part.
I have in total three MG-cycles for the momentum, which are coupled on eachothers. after the cycle for u, I have a cycle for v, and then w. update the viscosity and source term and then repeat the cycles, untill convergence.
I am still useing a small CFL number. In anycase, I am trying to don't exceed the smallest turbulent time scale.
Does this kind of splitting removes the second order accuracy in time (and also kills the eddies)? If wel, is it possible to adjust the accuracy by applying third or forth order Adams-Bashforth for the convection? What is your advise to keep the second order accuracy? Do you have any idea?
Thank you very much.

jed July 10, 2009 10:01

Quote:

Originally Posted by mnabi (Post 222256)
I don't fix any value

Using a different integration method for different terms in the equation amounts to fixing certain values while solving for others. This is basically what it means to be semi-implicit. Apparently you are iterating something to convergence, but I suspect it's not the whole system. To be fully implicit, you should be able to write the whole thing as

Code:

F(x',x) = 0
where x represents all the degrees of freedom (velocity, pressure, temperature, fields in your turbulence model, etc) and x' is their time derivative. Any time discretization will require you to solve

Code:

G(x) = F(x0 + ax,x) = 0
where x0 and a are determined by your integration scheme.

If you are not actually solving these fully-coupled nonlinear systems on each time step (e.g. with Newton iterations), then a modified equation analysis of the integration scheme will have splitting errors dependent on various derivatives involving the fastest time scales in the system. The point of high-order splittings are to raise the orders of these splitting errors, but in the presence of multiple time scales, splitting schemes rarely achieve their design order (or even first order) once they step significantly over the stiff time scale. For more on this, a good start is

Code:

@article{knoll2003bat,
  title={{On balanced approximations for time integration of multiple time scale systems}},
  author={Knoll, DA and Chacon, L. and Margolin, LG and Mousseau, VA},
  journal={Journal of Computational Physics},
  volume={185},
  number={2},
  pages={583--611},
  year={2003},
  publisher={Elsevier}
}

Quote:

I am still useing a small CFL number. In anycase, I am trying to don't exceed the smallest turbulent time scale.
Does this kind of splitting removes the second order accuracy in time (and also kills the eddies)? If wel, is it possible to adjust the accuracy by applying third or forth order Adams-Bashforth for the convection? What is your advise to keep the second order accuracy?
What CFL are you running at? Does your turbulence model produce a time scale faster than advective CFL? As you decrease the CFL number, do you eventually see it's design accuracy? If not, then I would blame the splitting scheme. Note that an explicit filter normally removes any chance of high-order accuracy. If you have issues with oscillations, you may want to have a look at strong stability preserving (SSP) integrators. Unfortunately, there are non-existance proofs for high-order SSP L-stable (even A-stable) integrators.

If you do manage to step significantly over advective CFL while maintaining accuracy, I'd certainly like to hear about it.

sbaffini July 10, 2009 11:02

what kind of splitting are you using for the pressure and what boundary conditions?

moreover, how are you treating the sgs term (CN,AB)?

mnabi July 10, 2009 12:29

Quote:

Originally Posted by sbaffini (Post 222282)
what kind of splitting are you using for the pressure and what boundary conditions?

moreover, how are you treating the sgs term (CN,AB)?

I am using frictional step method. solving the momentum, and then solve the pressure correction, and correct the velocity field.
In streamwise, and spanwise direction, I am using peiodic boundary condition. in the normal direction, I am using solid boundary, and plan-symmetry. No slip for the bed, and free-slip for the top.
I treat the sgs term dynamically. I use the method of Meneveau (1996). I tried also smagoronisky model, using log-law model.

sbaffini July 10, 2009 12:45

Maybe it could be the frictional step that dissipate too much energy....

...no, i'm joking, i couldn't resist :).

The fractional procedure is ok and, if correctly implemented, it has a second order splitting error. Almost all the academic and research LES codes uses the fractional step with the AB for the convective terms and CN for the viscous ones.

Four issues remains:

1) What spatial schemes are you using for the convective and diffusive terms?

2) Have you checked the overall accuracy of your solver? (i.e., with the Taylor Vortex Solution)

3) The symmetry condition is not feasible in LES (this is probably the cause of the laminarization).

4) What kind of grid spacing (in wall units) are you using?

mnabi July 11, 2009 13:25

Quote:

Originally Posted by sbaffini (Post 222300)
Maybe it could be the frictional step that dissipate too much energy....

...no, i'm joking, i couldn't resist :).

The fractional procedure is ok and, if correctly implemented, it has a second order splitting error. Almost all the academic and research LES codes uses the fractional step with the AB for the convective terms and CN for the viscous ones.

Four issues remains:

1) What spatial schemes are you using for the convective and diffusive terms?

2) Have you checked the overall accuracy of your solver? (i.e., with the Taylor Vortex Solution)

3) The symmetry condition is not feasible in LES (this is probably the cause of the laminarization).

4) What kind of grid spacing (in wall units) are you using?

Thank you very much for your help.
1) I am using central differencing for the convection and diffusion terms. I don't use upwind.
2) Still I didn't check for turbulence. I checked the solver for cubic cavity flow. It gives very accurate results.
3) It may can be the reason !!!!. But I saw some papers, in which, they use this condition to approximate the free surface.
4) till now, I didn't check the grid spacing beside the wall. But I think I am using very higher than yplus. Can this factor be the reason for damping the turbulence?
Thanks

sbaffini July 11, 2009 20:21

1) Ok
2) You should be sure that your code gives you the the designed accuracy. The boundary consitions should also be carefully checked. For example, i was using fluent with the node-based gradient computation and bi-periodic boundary conditions...then i discovered that fluent has an inconsistency with this particular combination and that a costant error was created, regardless of the time or grid step. Thus you should be sure that with your setting your code gives you the required accuracy (the error goes down at the proper rate).

3) If you're performing a simulation of the turbulent channel flow then you can't apply the symmetry boundary condition. I don't know about other cases but, generally speaking, in LES you can't take advantage of any symmetry of the flow.

4) Of course it depends on the flow and the boundary coindition you're using. However, guidelines exists for LES of wall-bounded flows. In any case, a too coarse grid is never a good choice. The coarsest grid i've ever used for the turbulent channel flow was a 64x33x64 completely uniform grid with wall functions at a turbulent Reynolds number Ret=2000. Even with this coarse grid and a slightly dissipative scheme i had "turbulence".


All times are GMT -4. The time now is 11:32.