(mesh1,mesh2)
| 61 | |
| 62 | |
| 63 | def MakeMesh2D(mesh1,mesh2): |
| 64 | tpmesh = ngmeshing.Mesh(dim = mesh1.dim + mesh2.dim) |
| 65 | ngm1 = mesh1.ngmesh |
| 66 | ngm2 = mesh2.ngmesh |
| 67 | |
| 68 | els1 = ngm1.Elements1D() |
| 69 | els2 = ngm2.Elements1D() |
| 70 | vert1 = ngm1.Points() |
| 71 | vert2 = ngm2.Points() |
| 72 | pids = [] |
| 73 | for i in range(len(vert1)): |
| 74 | for j in range(len(vert2)): |
| 75 | pids.append(tpmesh.Add(MeshPoint(Pnt(vert1[ngmeshing.PointId(i+1)].p[0],vert2[ngmeshing.PointId(j+1)].p[0],0 )))) |
| 76 | tpmesh.Add (FaceDescriptor(surfnr=1,domin=1,bc=1)) |
| 77 | for elx in els1: |
| 78 | for ely in els2: |
| 79 | pnum = [(elx.vertices[1].nr-1) * len(vert2) + ely.vertices[1].nr-1, |
| 80 | (elx.vertices[0].nr-1) * len(vert2) + ely.vertices[1].nr-1, |
| 81 | (elx.vertices[0].nr-1) * len(vert2) + ely.vertices[0].nr-1, |
| 82 | (elx.vertices[1].nr-1) * len(vert2) + ely.vertices[0].nr-1] |
| 83 | |
| 84 | elpids = [pids[p] for p in pnum] |
| 85 | tpmesh.Add(Element2D(1,elpids)) |
| 86 | return tpmesh |
| 87 | |
| 88 | def MakeMesh3D(mesh1,mesh2): |
| 89 | tpmesh = ngmeshing.Mesh(dim = mesh1.dim + mesh2.dim) |
no test coverage detected