|
[Sponsors] |
Is it possible to use multigrid like methods for timestepping? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 23, 2023, 20:39 |
Is it possible to use multigrid like methods for timestepping?
|
#1 |
Senior Member
Sayan Bhattacharjee
Join Date: Mar 2020
Posts: 495
Rep Power: 8 |
Hello everyone,
This is just a theoretical question which could be completely wrong, but is it possible to use multigrid like methods for timestepping? My intuition is, flow doesn't diverge easily ... There are some regions of flow that will always remain stable, and will not change too drastically between let's say 10 or 20 or 30 iterations. Even for an unsteady von karman vortex street simulation, a majority of the flow domain will remain rather stable. The wrong solutions are created from very small unstable regions of the flow domain where we need a small dh, and small dt to accurately capture the fluid flow, and advance it in time. Taking a high CFL or high dt prevents us from capturing the unsteady behavior correctly, and those create the wrong solutions. But even for an unsteady case like von karman vortex street, different information travels through the domain at different rates, and different regions of the mesh face different kinds of flow. So following the multigrid inspired idea, would it be possible to .. 1. use a very large dt for the stable regions of the flow, and 2. use a very small dt for the unstable regions of the flow, and 3. use some deferred-correction method to propagate the correction from the low dt to high dt timesteps??? This is surprisingly very similar to pseudo-timestepping for steady-state flows, but I think it might one day be possible for unsteady flows too. The perceived advantage, if this is possible, would be that the small dt would probably be required in only (let's say) 30% of the cells that have unsteady flow, so just resolving those cells would be extremely fast, and the whole simulation would be extremely fast too. This is just a theoretical question, but I'm hoping it's possible. Thanks! |
|
October 23, 2023, 20:56 |
|
#2 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,747
Rep Power: 66 |
For purely temporal discretization, you're talking about runge-kutta methods. These are usually taught in introductory numerical methods for initial value problems.
It can be extended to spatiotemporal problems, these are referred to as multi-scale methods. For pure navier-stokes, multiscale methods are not very popular. It is a more extreme form of adapative time-stepping and causes your solution at individual cells to become asynchronous with one another. Since CFD is bandwidth limited, this leads to severe load balancing issues as the solution progresses. Even when you figure this out, you now have a post-processing nightmare. For example, just look up how to do a non-uniform FFT. It is a PITA. That can of worms can be avoided by not being fancy. Nonetheless, multiscale methods have been demonstrated before and is an ongoing active area of research. Keep in mind that for implicit CFD, after temporal discretization you are solving a steady state system for both steady or unsteady problems. Any type of preconditioner (i.e. accelerator) plus appropriate mesh partitioning is already nearly optimal (for a fixed mesh) or can be tuned to be nearly optimal. Like my NUFFT example, it is super annoying to implement for no real obvious gains. Just use uniform dt and use the classic FFT. |
|
October 24, 2023, 05:41 |
|
#3 |
Senior Member
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,849
Rep Power: 73 |
I would say only for steady solution that can be meaningful.
In unsteady flows the errors can propagate everywhere. Let miltigrid work for the spatial discretization 😉 |
|
October 24, 2023, 11:34 |
|
#4 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,747
Rep Power: 66 |
Something to consider in your own example and it demonstrates quickly why the potential gains are very limited.
In your example: 30% of the cells (and you actually mean 30% of the volume) is the unsteady flow and these require some cell size dh and time-step dt. What you are implying is that you have a uniform grid or equivalently, that the computational expense is divided between the two regions proportionally. Let's say you have a million cells, that means 300k cells are in the unsteady region and 700k cells being wasted in the steady regions. In the remaining 70% of the domain volume you can grow your cell size to 2dh. Doubling the linear cell dimension means a 1/2^3 reduction in cell count in that sub-region. So now 700k cells becomes 87.5k cells and what you actually have is 77% of the cells are actually in the region of interest. You only have 23% computational waste. Your hypothetical method in this example would at best provide a 2x speedup only on this 23% of the calculation, meaning the throughput is 23/2=11.5% wall time reduction. The coarser your make the grid in the unwanted regions, the less the potential speedup. So, 90% of the problem is solved by simply having a robust solver with a flexible meshing tool. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multigrid methods for structured grids with odd no. of rows and columns | aerosayan | Main CFD Forum | 1 | July 9, 2021 19:36 |
multigrid methods | davidwilcox | Main CFD Forum | 3 | April 25, 2016 02:35 |
About multigrid methods | Lionel S. | Main CFD Forum | 10 | April 20, 2007 10:22 |
Multigrid methods | Amith | Main CFD Forum | 3 | April 6, 2002 00:50 |
Multigrid applied to k-e models | Paulo Zandonade | Main CFD Forum | 9 | May 24, 1999 09:10 |