(p1, dxi, nxi, deta, neta, facenr)
| 410 | netmesh.Add(Element3D(1, elpids)) |
| 411 | |
| 412 | def AddSurfEls(p1, dxi, nxi, deta, neta, facenr): |
| 413 | def add_seg(i, j, os): |
| 414 | base = p1 + i*dxi + j*deta |
| 415 | pnum = [base, base+os] |
| 416 | elpids = [pids[p] for p in pnum] |
| 417 | netmesh.Add(Element1D(elpids, index=facenr)) |
| 418 | for i in range(nxi): |
| 419 | for j in [0,neta]: |
| 420 | add_seg(i,j,dxi) |
| 421 | for i in [0,nxi]: |
| 422 | for j in range(neta): |
| 423 | add_seg(i,j,deta) |
| 424 | for i in range(nxi): |
| 425 | for j in range(neta): |
| 426 | base = p1 + i*dxi+j*deta |
| 427 | pnum = [base, base+dxi, base+dxi+deta, base+deta] |
| 428 | if prism: |
| 429 | if facenr <= 4: |
| 430 | qarr = [1,2,3,0] |
| 431 | elpids = [pids[pnum[p]] for p in qarr] |
| 432 | netmesh.Add(Element2D(facenr, elpids)) |
| 433 | else: |
| 434 | qarrs = [[3, 1, 2], [3, 0, 1]] |
| 435 | for qarr in qarrs: |
| 436 | elpids = [pids[p] for p in [pnum[q] for q in qarr]] |
| 437 | netmesh.Add(Element2D(facenr, elpids)) |
| 438 | elif hexes: |
| 439 | elpids = [pids[p] for p in pnum] |
| 440 | netmesh.Add(Element2D(facenr, elpids)) |
| 441 | else: |
| 442 | qarrs = [[0, 1, 2], [0, 2, 3]] |
| 443 | for qarr in qarrs: |
| 444 | elpids = [pids[p] for p in [pnum[q] for q in qarr]] |
| 445 | netmesh.Add(Element2D(facenr, elpids)) |
| 446 | |
| 447 | #order is important! |
| 448 | netmesh.Add(FaceDescriptor(surfnr=4, domin=1, bc=1)) |
no test coverage detected