|
1 | 1 | from pyvnt import *
|
2 | 2 |
|
3 | 3 | blockMeshDict = Node_C("blockMeshDict")
|
4 |
| -cM = Key_C("convertToMeters", "1.0") |
| 4 | +cM = Key_C("convertToMeters", Flt_P("convertToMeters", 0.1)) |
5 | 5 |
|
6 | 6 | blockMeshDict.add_data(cM)
|
7 | 7 |
|
8 |
| -vertices = List_CP("vertices") |
9 |
| - |
10 | 8 | v = [
|
11 | 9 | [0, 0, 0],
|
12 | 10 | [1, 0, 0],
|
|
18 | 16 | [0, 1, 0.1]
|
19 | 17 | ]
|
20 | 18 |
|
| 19 | +v_elem = [] |
| 20 | + |
21 | 21 | for i in range(len(v)):
|
22 |
| - vertices.append_elem(List_CP(name=f'v_{i+1}', elems=[[Flt_P('x', i[0]), Flt_P('y', i[1]), Flt_P('z', i[2])]])) |
| 22 | + v_elem.append([List_CP(f"v{i}", elems=[[Flt_P('x', v[i][0]), Flt_P('y', v[i][1]), Flt_P('z', v[i][2])]])]) |
| 23 | + |
| 24 | +vertices = List_CP("vertices", elems=v_elem) |
23 | 25 |
|
24 | 26 | verts = Key_C("vertices", vertices)
|
25 | 27 |
|
26 | 28 | blockMeshDict.add_data(verts)
|
27 | 29 |
|
28 |
| -blocks = List_CP("blocks") |
| 30 | +e1 = [ |
| 31 | + Enm_P("type", {"hex"}, "hex"), |
| 32 | + List_CP("faces", elems=[[ |
| 33 | + Int_P("v0", 0), |
| 34 | + Int_P("v1", 1), |
| 35 | + Int_P("v2", 2), |
| 36 | + Int_P("v3", 3), |
| 37 | + Int_P("v4", 4), |
| 38 | + Int_P("v5", 5), |
| 39 | + Int_P("v6", 6), |
| 40 | + Int_P("v7", 7) |
| 41 | + ]]), |
| 42 | + List_CP("res", elems=[[ |
| 43 | + Int_P("nx", 20), |
| 44 | + Int_P("ny", 20), |
| 45 | + Int_P("nz", 1) |
| 46 | + ]]), |
| 47 | + Enm_P("grading", {"simpleGrading"}, "simpleGrading"), |
| 48 | + List_CP("simpleGrading", elems=[[ |
| 49 | + Int_P("x", 1), |
| 50 | + Int_P("y", 1), |
| 51 | + Int_P("z", 1) |
| 52 | + ]]) |
| 53 | +] |
| 54 | + |
| 55 | +blocks = List_CP("blocks", elems=[e1]) |
| 56 | + |
| 57 | +blks = Key_C("blocks", blocks) |
| 58 | + |
| 59 | +blockMeshDict.add_data(blks) |
| 60 | + |
| 61 | +edges = List_CP("edges", elems=[[]]) |
| 62 | + |
| 63 | +edgs = Key_C("edges", edges) |
| 64 | + |
| 65 | +blockMeshDict.add_data(edgs) |
| 66 | + |
| 67 | +typ = Key_C("type", Enm_P("type", {"wall", "empty"}, "wall")) |
| 68 | + |
| 69 | +faces_1 = List_CP("faces", elems=[ |
| 70 | + [List_CP("f0", elems=[[ |
| 71 | + Int_P("v0", 3), |
| 72 | + Int_P("v1", 7), |
| 73 | + Int_P("v2", 6), |
| 74 | + Int_P("v3", 2) |
| 75 | + ]])] |
| 76 | +]) |
| 77 | + |
| 78 | +fcs1 = Key_C("faces", faces_1) |
| 79 | + |
| 80 | +mWall = Node_C("movingWall", None, [], typ, fcs1) |
| 81 | + |
| 82 | +fcs2 = Key_C("faces", List_CP("faces", elems=[ |
| 83 | + [List_CP("f0", elems=[ |
| 84 | + [ |
| 85 | + Int_P("v0", 0), |
| 86 | + Int_P("v1", 4), |
| 87 | + Int_P("v2", 7), |
| 88 | + Int_P("v3", 3) |
| 89 | + ]])], [List_CP("f1", elems=[ |
| 90 | + [ |
| 91 | + Int_P("v0", 2), |
| 92 | + Int_P("v1", 6), |
| 93 | + Int_P("v2", 5), |
| 94 | + Int_P("v3", 1) |
| 95 | + ]])], [List_CP("f2", elems=[ |
| 96 | + [ |
| 97 | + Int_P("v0", 1), |
| 98 | + Int_P("v1", 5), |
| 99 | + Int_P("v2", 4), |
| 100 | + Int_P("v3", 0) |
| 101 | + ]])], |
| 102 | + |
| 103 | +])) |
| 104 | + |
| 105 | +fwall = Node_C("fixedWalls", None, [], typ, fcs2) |
| 106 | + |
| 107 | +fcs3 = Key_C("faces", List_CP("faces", elems=[ |
| 108 | + [List_CP("f0", elems=[[ |
| 109 | + Int_P("v0", 0), |
| 110 | + Int_P("v1", 3), |
| 111 | + Int_P("v2", 2), |
| 112 | + Int_P("v3", 1) |
| 113 | + ]])], |
| 114 | + [List_CP("f1", elems=[[ |
| 115 | + Int_P("v0", 4), |
| 116 | + Int_P("v1", 5), |
| 117 | + Int_P("v2", 6), |
| 118 | + Int_P("v3", 7) |
| 119 | + ]])] |
| 120 | + |
| 121 | +])) |
| 122 | + |
| 123 | +typ2 = Key_C("type", Enm_P("type", {"wall", "empty"}, "empty")) |
| 124 | + |
| 125 | +fnb = Node_C("frontAndBack", None, [], typ2 , fcs3) |
| 126 | + |
| 127 | +bnd = List_CP("boundary", values=[mWall, fwall, fnb], isNode=True) |
| 128 | + |
| 129 | +blockMeshDict.add_child(bnd) |
| 130 | + |
| 131 | +mergePatchPairs = List_CP("mergePatchPairs", elems=[[]]) |
| 132 | + |
| 133 | +mpp = Key_C("mergePatchPairs", mergePatchPairs) |
| 134 | + |
| 135 | +blockMeshDict.add_data(mpp) |
29 | 136 |
|
| 137 | +writeTo(blockMeshDict, "Demo_case_files/") |
0 commit comments