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:
Geom_BSplineSurface Class Reference
- documentation, user manuals, examples, Open CASCADE Technology
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.