Surface Hessian of a GridFunction

I would like to know how one can compute the (covariant) surface Hessian of a given GridFunction (defined on a Lagrange space that is defined on a surface).

I know there is this:

u.Operator(“hesseboundary”)

where u is a Trial (or Test) function.

But if try to use this on a grid function, as in:

gfu.Operator(“hesseboundary”)

I get this error:

Operator "hesseboundary" does not support vb = VOL!

I tried doing gfu.Trace().Operator(“hesseboundary”), but that doesn’t work either.

Is this not implemented? I suppose I could set up an L^2 projection to do this, but I shouldn’t have to do that.

-Shawn

Hi Shawn,

Can you provide more context? If vb = VOL it seems to appear in a context where NGSolve does not know about an only-on-the-surface context.
Can you add the full line of usage here or a mwe?

Best,
Christoph

Here is an example.

Example_1.ipynb (6.2 KB)

I think this is something joachim fixed currently. In older ngs versions you needed to do

gf.Operator("hesseboundary", BND)

on the current master you should be able to not give the BND argument

Thanks for this. I can’t believe I forgot the BND argument.

-Shawn