Would someone please kindly explain to me how this code works? It comes from the following example in the documentation: FreeFEM - Poisson. Particularly, I don’t understand how to interpret the matrix Poisson and PoissonBoundary together in setting up the variational problem that is stated in the documentation.

Here, vPoisson defines the variation form. The syntax vPoisson(Uh, Uh,...) tells FreeFEM to create a matrix where the test and trial function spaces are defined by Uh. This takes care of the int3d(Th)(grad(u)'*grad(uh)) part. Conversely, the syntax vPoisson(0, Uh) tells FreeFEM to create a vector where the trial functions are evaluated for a test function defined in Uh. This takes care of the int3d(Th)(f*uh) part. Does that make more sense to you?