7 print("Loading a triangular mesh of a 2D square")
8 filename = "./meshSquare"
9 M=cdmath.Mesh(filename+".med")
11 print("Checking boundary group names")
12 boundaryFaceGroupNames=M.getNameOfFaceGroups()
13 boundaryNodeGroupNames=M.getNameOfNodeGroups()
14 print(len(boundaryFaceGroupNames), " Boundary Face Group detected : ", boundaryFaceGroupNames)
15 print(len(boundaryNodeGroupNames), " Boundary Node Group detected : ", boundaryNodeGroupNames)
17 assert(len(boundaryFaceGroupNames)==5)
18 assert(len(boundaryNodeGroupNames)==5)
20 assert boundaryFaceGroupNames[0]=="Top"
21 assert boundaryFaceGroupNames[1]=="Right"
22 assert boundaryFaceGroupNames[2]=="Left"
23 assert boundaryFaceGroupNames[3]=="Bottom"
24 assert boundaryFaceGroupNames[4]=="Boundary"
26 assert boundaryNodeGroupNames[0]=="Top"
27 assert boundaryNodeGroupNames[1]=="Right"
28 assert boundaryNodeGroupNames[2]=="Left"
29 assert boundaryNodeGroupNames[3]=="Bottom"
30 assert boundaryNodeGroupNames[4]=="Boundary"
38 radius = min(xmax-xmin,ymax-ymin)/4
39 xcentre = (xmax+xmin)/2
40 ycentre = (ymax+ymin)/2
42 nbCells = M.getNumberOfCells()
43 nbNodes = M.getNumberOfNodes()
45 # Create scalar fields
46 temperature_field_cells = cdmath.Field("Temperature", cdmath.CELLS, M, 1)
47 temperature_field_nodes = cdmath.Field("Temperature", cdmath.NODES, M, 1)
51 for i in range(nbCells):
54 distance = sqrt( (x - xcentre) * (x - xcentre) + (y - ycentre) * (y - ycentre) )
56 temperature_field_cells[i] = Tin
58 temperature_field_cells[i] = Tout
60 temperature_field_cells.writeMED(filename, False)
62 for i in range(nbNodes):
65 distance = sqrt( (x - xcentre) * (x - xcentre) + (y - ycentre) * (y - ycentre) )
67 temperature_field_nodes[i] = Tin
69 temperature_field_nodes[i] = Tout
71 temperature_field_nodes.writeMED(filename, False)