From 3b00b36dc6d223e148c583894a05ecef075a1b33 Mon Sep 17 00:00:00 2001 From: Julian Litz <91479202+julianlitz@users.noreply.github.com> Date: Wed, 11 Feb 2026 20:55:02 +0100 Subject: [PATCH] Update fmg_interpolation.cpp --- src/Interpolation/fmg_interpolation.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Interpolation/fmg_interpolation.cpp b/src/Interpolation/fmg_interpolation.cpp index 4e7f0c7c..738ccb7f 100644 --- a/src/Interpolation/fmg_interpolation.cpp +++ b/src/Interpolation/fmg_interpolation.cpp @@ -1,10 +1,13 @@ #include "../../include/Interpolation/interpolation.h" /* - * Bicubic FMG Interpolator Using Lagrange Polynomial - * ---------------------------------------------------- - * This implementation computes an interpolated value using a bicubic Full Multigrid (FMG) - * scheme. The interpolator applies a scaling factor of 1/16 with the coefficient vector [-1, 9, 9, -1]. + * Bicubic FMG Interpolator using the Lagrange Interpolating Polynomial + * -------------------------------------------------------------------- + * In contrast to the interpolation of the multigrid cycle, which is applied to corrections, + * the FMG interpolation transfers approximations of the solution to the fine grid. + * The FMG scheme requires interpolation of higher order than the discretization order + * of the PDE. For second-order discretizations, bicubic interpolation is commonly used. + * For a uniform grid, this reduces to the 1D stencil: 1/16 * [-1, 9, 9, -1] * * The method uses Lagrange interpolation with 4 coarse grid nodes to calculate a single interpolated value. * Nodes with an X are the 4 coarse interpolation points used for the interpolation.