- #1
kolmog
- 11
- 0
Hello everybody,
I have a small question related to multigrid. I am trying to solve a Poisson equation in 3D with periodic boundary conditions with cell-centered multigrid. I have programmed a quite fast serial code which performs V-cycles with a maximum of 7 grids. For the interpolation from a coarse grid to a fine grid, I have used trilinear interpolation (that in page 69 of the book "An introduction to multigrid methods (Wesseling)"). My doubt deals with the choice of the restriction operator. In the case of using bilinear interpolation (2D) or trilinear interpolation in 3D, the most common choice is "full weighting" for the restriction operator. In my case I have adopted the following formula:
Fi=[itex]\frac{1}{8}[/itex]Ʃ[itex]^{8}_{j=1}[/itex]fj
with 'f' being the value of a function in the fine grid (spacing = h) and F being the value in the coarse grid (H=2h). That is, in my cell-centered multigrid code, values in the coarse grid, are generated by taking into account the first 8 fine grid neighbors surrounding the point in the coarse grid.
I think it is a reasonable choice, but taking into account that I use Galerkin approximation to compute the left-hand side operator in the different coarse grids, I want to be sure. I am considering a fourth-order (Mehrstellen) scheme for the discretization of the left-hand side oprator in the finest grid).
I would appreciate a response.
I have a small question related to multigrid. I am trying to solve a Poisson equation in 3D with periodic boundary conditions with cell-centered multigrid. I have programmed a quite fast serial code which performs V-cycles with a maximum of 7 grids. For the interpolation from a coarse grid to a fine grid, I have used trilinear interpolation (that in page 69 of the book "An introduction to multigrid methods (Wesseling)"). My doubt deals with the choice of the restriction operator. In the case of using bilinear interpolation (2D) or trilinear interpolation in 3D, the most common choice is "full weighting" for the restriction operator. In my case I have adopted the following formula:
Fi=[itex]\frac{1}{8}[/itex]Ʃ[itex]^{8}_{j=1}[/itex]fj
with 'f' being the value of a function in the fine grid (spacing = h) and F being the value in the coarse grid (H=2h). That is, in my cell-centered multigrid code, values in the coarse grid, are generated by taking into account the first 8 fine grid neighbors surrounding the point in the coarse grid.
I think it is a reasonable choice, but taking into account that I use Galerkin approximation to compute the left-hand side operator in the different coarse grids, I want to be sure. I am considering a fourth-order (Mehrstellen) scheme for the discretization of the left-hand side oprator in the finest grid).
I would appreciate a response.
Last edited: