Create surface mesh of height function over disk

I would like to create a surface (with boundary) that is a height function defined over a disk reference domain. I see the mapping function in:

but this assumes you are on a square. I guess I could create a mesh of the disk, then displace the z-coordinate of the mesh vertices to my desired height. But is that the only way? Is there an OpenCascade way to do this?


I think the displacement is the easiest way and i do not really see a downside

I am not aware of an opencascade algorithm doing that, maybe you find one.

Then we could wrap this function to Python - and also wrap the user-defined mapping function (in Python) into a C-function given to opencascade.


I found this:

a BSplineSurface class. However, this may assume that the reference domain is a square, which you already allow for in NGSolve.

There is also this:

a geomPlateSurface. But I’m not sure how this works either.

I’ll just map the vertices/DoFs.