Prisms, meshing, integration of bilinear forms issue in 6.2.2606

Hi,

I hope you don’t mind, but would like to report a possible bug in 6.2.2606 compared to an earlier NGSolve version (6.2.2506). This is concerns constructing a mesh using OCC geometry (one small sphere inside a large box) using a couple of layers of prismatic layers inside the smaller sphere and testing the convergence of the curl-curl stiffness matrix and mass matrix using a H(curl) conforming elements and curved geometry (mesh.Curve(5)) when increasing the number (degree) of bonus integration points.

Running the attached script on the earlier 6.2.2506, we see the expected behaviour with the coefficients of the computed stiffness and mass matrices converging (tolerance set as 1e-10) as the bonus integration points are increased. However, running the same code on 6.2.2606 we see the convergence stagnate. See plots attached. The number of elements in the meshes generated in each case are the same, but I think geometric information has changed. Using a mesh generated (and saved from 6.2.2506) then the convergence is OK again. So I think this could be meshing related.

I would be grateful if could take a look and if this is indeed a bug revert to the previous behaviour from 6.2.2506.

Thanks very much in advance

Paul.

Testingscript.py (4.6 KB)

K_Convergence_6_2_2506.pdf (14.0 KB)

M_Convergence_6_2_2506.pdf (14.0 KB)

K_Convergence_6_2_2606.pdf (14.1 KB)

M_Convergence_6_2_2606.pdf (15.8 KB)

Hi, thanks for reporting
this was a bug I introduced when adding curvature to the boundarylayer and edgedescriptor changes. Fix is running through the pipelines and should be in netgen master soon on github.
Note that in that change I added curvature prolongation into the boundarylayer, so the layers are curved internally, allowing for thin layers without pressing through elements, as in the old version.
Best
Christopher

Thanks for the update Christopher.

Best wishes

Paul.