5 #################################
6 Example generated from HexaBlock
7 #################################
10 .. image:: _static/bride.PNG
20 # -*- coding: latin-1 -*-
30 STEP_PATH = os.path.expandvars("$HEXA_ROOT_DIR/bin/salome/crank.stp")
33 doc = hexablock.addDocument()
37 # ======================================================== merge_quads
38 def merge_quads (doc, quart, demi, ni1, nj1, ni2, nj2, option=0):
40 prems = option == OPT_QUAD_IK
41 quad_ik = option == OPT_FIRST
44 orig = quart.getQuadIK (ni1, nj1, k1)
46 orig = quart.getQuadJK (ni1, nj1, k1)
48 dest = demi .getQuadJK (ni2, nj2, k1)
50 v1 = dest.getVertex (quad_ik);
51 v3 = dest.getVertex (1-quad_ik);
53 v2 = orig.getVertex (0);
54 v4 = orig.getVertex (1);
56 doc.mergeQuads (dest, orig, v1, v2, v3, v4)
58 #================================================================================= Begin
59 orig1 = doc.addVertex (0,0,0)
60 orig2 = doc.addVertex (6,0,0)
62 dz = doc.addVector (0,0,1)
63 dx = doc.addVector (1,0,0)
76 quart = doc.makeCylindrical (orig1,dx,dz,drq, 45, dl, nrq, naq, dim_z, True)
77 for nk in range(dim_z-2):
78 ## Elagage du quart (de brie)
84 for ni in range(nrq-ideb):
85 doc.removeHexa(quart.getHexaIJK(ni+ideb, nj, nk+2))
89 for ni in range(nrq-2):
90 doc.removeHexa(quart.getHexaIJK(ni+2, nj, k0))
93 demi = doc.makeCylindrical(orig2, dx, dz, drd, 180, dl, nrd, nad, dim_z, True)
95 for nk in range(dim_z-2):
98 for ni in range(nrd-ni0):
99 doc.removeHexa(demi.getHexaIJK(ni+ni0, nj, nk+2))
103 for ni in range(jmax-3):
104 doc.removeHexa(quart.getHexaIJK (ni+3, nj, k1))
106 ###merge_quads (doc, quart, demi, 7, 0, nrd, 0, OPT_FIRST);
107 ###rge_quads (doc, quart, demi, 7, 1, nrd, 1);
109 #______________________________________________________________
111 ### mesh = smesh.HexaBlocks(doc)
112 mesh = hexablock.mesh("bride:hexas", doc)