Houdini 21.0 Nodes Copernicus nodes

Solve Poisson Multigrid Copernicus node

Solves Poisson’s equation in a rectangular region using geometric multigrid.

On this page

This operator solves Poisson’s equation inside a layer using geometric multigrid (in a V-cycle). This equation naturally arises in many physical and optimization problems. For example, pressure projection in a fluid simulation involves solution of Poisson’s equation, and the Solve Poisson Multigrid node is used for this purpose inside Flow Project Non-Divergent Multgrid and Flow Block.

Parameters

Iterations

Number of V-cycle iterations to perform. The solution will be more accurate with a higher number of iterations, but will also take longer to produce.

Smoothing Method

The method used for relaxation on up- and down-strokes. Gauss-Seidel offers better asymptotic convergence; it also requires less memory, as the red-black partitioning of cells allows for in-place smoothing. The Jacobi method, on the other hand, works on all pixels at once. This avoids systemic checkerboard patterns in the residuals, but requires an extra copy of the image.

Up Smoothing Iterations

Number of smoothing iterations to perform on the up-stroke (after prolongation of the coarse solution). Higher values will increase cost, but also improve the solution.

Down Smoothing Iterations

Number of smoothing iterations to perform on the down-stroke (before restriction of the fine residual). Higher values will increase cost, but also improve the solution.

Coarsest Smoothing Iterations

Number of smoothing iterations to perform at the final coarsest level (in lieu of an exact solution). Higher values will increase cost, but also improve the solution. Value of this parameter should be on the same order as square of Target Coarse Dimensions.

Target Coarse Dimensions

The multigrid solver iteratively coarsens the layer to build a hierarchy of grids for rapid convergence at all scales. This parameter controls when the coarsening ceases; namely, coarsening along a dimension will stop once the number of cells falls below Target Coarse Dimensions. While larger values give a leaner hierarchy with fewer levels, they also result in larger number of variables at the coarsest level, which in turn may require more Coarsest Smoothing Iterations for adequate convergence.

X Borders

State of borders on the left and right sides of the layer. Open borders correspond to Dirichlet boundary conditions (prescribing value of 0). Closed borders correspond to Neumann boundary conditions (enforcing normal derivative of 0). When set to Periodic, left and right sides of the layer are virtually connected.

Y Borders

State of borders on the bottom and top sides of the image. Open borders correspond to Dirichlet boundary conditions (prescribing value of 0). Closed borders correspond to Neumann boundary conditions (enforcing normal derivative of 0). When set to Periodic, bottom and top sides of the layer are virtually connected.

Inputs

rhs

Mono layer containing the residual.

Outputs

solution

Mono layer containing the solution.

See also

Copernicus nodes