Evaluating at arbitrary points

I know this is pretty elementary, but after I solve my problem, i.e.,

problem = LinearProblem(a, L, bcs= my_bcs ,petsc_options=my_opts)
uh = problem.solve()

I would like to evaluate uh, the solution at a an array of (x,y,z) points. Thanks for any help.

Next time, please read Read before posting: How do I get my question answered? before bosting, because:

  1. it would have been better to provide a minimal example. Put yourself in the shoes of someone willing to reply: if you don’t provide a minimal example, not only they will have to come up with the code of the feature you are asking (function evaluation), but also all the code leading up to uh = problem.solve()
  2. if you had searched for previous posts, e.g. with a query like “evaluate function” ordered by date, you would have found this post Duplicates can happen when evaluating function at points - safe version which links to this tutorial Implementation — FEniCSx tutorial. That is probably the answer you are looking for (or very close to it), and you wouldn’t have needed to wait for anyone to reply, especially on days like new year’s eve/day where the community might be slower to respond.

Sorry about that. I come back to fenics every couple of years for some FEM problem, and things have just changed a lot (i.e., this is what I was using the last time: https://fenicsproject.org/qa/6374/what-is-the-best-way-to-evaluate-function-in-list-coordinates/)