~gggears/gggears/trunk

« back to all changes in this revision

Viewing changes to gggears/gear_tab.py

  • Committer: logari81
  • Date: 2015-05-29 22:15:09 UTC
  • Revision ID: svn-v4:433e8906-c453-4489-8f44-c7b8bebe3772:trunk:97
Fix an issue with newer versions of GMSH

Show diffs side-by-side

added added

removed removed

Lines of Context:
1073
1073
      file_gmsh.write('lJA = newl;\n')
1074
1074
      file_gmsh.write('Line(lJA) = {pJ,pA};\n\n')
1075
1075
 
1076
 
      file_gmsh.write('sFCDE = news;\n')
1077
 
      file_gmsh.write('Line Loop(sFCDE) = {lFC, lCD, lDE, lEF};\n')
1078
 
      file_gmsh.write('Plane Surface(sFCDE) = {sFCDE};\n')
 
1076
      file_gmsh.write('sFCDE~{0} = news;\n')
 
1077
      file_gmsh.write('Line Loop(sFCDE~{0}) = {lFC, lCD, lDE, lEF};\n')
 
1078
      file_gmsh.write('Plane Surface(sFCDE~{0}) = {sFCDE~{0}};\n')
1079
1079
 
1080
1080
      if self.mesh_variant == 1:
1081
 
         file_gmsh.write('sGBCF = news;\n')
1082
 
         file_gmsh.write('Line Loop(sGBCF) = {lGB, lBC, -lFC, lFG};\n')
1083
 
         file_gmsh.write('Plane Surface(sGBCF) = {sGBCF};\n')
1084
 
 
1085
 
         file_gmsh.write('sJABG = news;\n')
1086
 
         file_gmsh.write('Line Loop(sJABG) = {lJA, lAB, -lGB, lGJ};\n')
1087
 
         file_gmsh.write('Plane Surface(sJABG) = {sJABG};\n')
1088
 
 
1089
 
         file_gmsh.write('sHIJG = news;\n')
1090
 
         file_gmsh.write('Line Loop(sHIJG) = {lHI, lIJ, -lGJ, lGH};\n')
1091
 
         file_gmsh.write('Plane Surface(sHIJG) = {sHIJG};\n\n')
 
1081
         file_gmsh.write('sGBCF~{0} = news;\n')
 
1082
         file_gmsh.write('Line Loop(sGBCF~{0}) = {lGB, lBC, -lFC, lFG};\n')
 
1083
         file_gmsh.write('Plane Surface(sGBCF~{0}) = {sGBCF~{0}};\n')
 
1084
 
 
1085
         file_gmsh.write('sJABG~{0} = news;\n')
 
1086
         file_gmsh.write('Line Loop(sJABG~{0}) = {lJA, lAB, -lGB, lGJ};\n')
 
1087
         file_gmsh.write('Plane Surface(sJABG~{0}) = {sJABG~{0}};\n')
 
1088
 
 
1089
         file_gmsh.write('sHIJG~{0} = news;\n')
 
1090
         file_gmsh.write('Line Loop(sHIJG~{0}) = {lHI, lIJ, -lGJ, lGH};\n')
 
1091
         file_gmsh.write('Plane Surface(sHIJG~{0}) = {sHIJG~{0}};\n\n')
1092
1092
      else:
1093
 
         file_gmsh.write('sJACF = news;\n')
1094
 
         file_gmsh.write('Line Loop(sJACF) = {lJA, lAC, -lFC, lFJ};\n')
1095
 
         file_gmsh.write('Plane Surface(sJACF) = {sJACF};\n')
 
1093
         file_gmsh.write('sJACF~{0} = news;\n')
 
1094
         file_gmsh.write('Line Loop(sJACF~{0}) = {lJA, lAC, -lFC, lFJ};\n')
 
1095
         file_gmsh.write('Plane Surface(sJACF~{0}) = {sJACF~{0}};\n')
1096
1096
 
1097
 
         file_gmsh.write('sHIJF = news;\n')
1098
 
         file_gmsh.write('Line Loop(sHIJF) = {lHI, lIJ, -lFJ, lFH};\n')
1099
 
         file_gmsh.write('Plane Surface(sHIJF) = {sHIJF};\n\n')
 
1097
         file_gmsh.write('sHIJF~{0} = news;\n')
 
1098
         file_gmsh.write('Line Loop(sHIJF~{0}) = {lHI, lIJ, -lFJ, lFH};\n')
 
1099
         file_gmsh.write('Plane Surface(sHIJF~{0}) = {sHIJF~{0}};\n\n')
1100
1100
 
1101
1101
      file_gmsh.write('x_offset = %.15f;\n' % x_offset)
1102
1102
      file_gmsh.write('y_offset = %.15f;\n' % y_offset)
1130
1130
         nDE.append(nDE[-1])
1131
1131
      nIJ = self.elm_no_IJ + 1
1132
1132
 
1133
 
      file_gmsh.write('Transfinite Surface{sFCDE[0]} = {};\n')
 
1133
      file_gmsh.write('Transfinite Surface{sFCDE~{0}} = {};\n')
1134
1134
      if self.mesh_variant == 1:
1135
 
         file_gmsh.write('Transfinite Surface{sGBCF[0]} = {};\n')
1136
 
         file_gmsh.write('Transfinite Surface{sJABG[0]} = {};\n')
1137
 
         file_gmsh.write('Transfinite Surface{sHIJG[0]} = {};\n\n')
 
1135
         file_gmsh.write('Transfinite Surface{sGBCF~{0}} = {};\n')
 
1136
         file_gmsh.write('Transfinite Surface{sJABG~{0}} = {};\n')
 
1137
         file_gmsh.write('Transfinite Surface{sHIJG~{0}} = {};\n\n')
1138
1138
 
1139
 
         file_gmsh.write('Recombine Surface{sFCDE[0],sGBCF[0],sJABG[0],sHIJG[0]};\n\n')
 
1139
         file_gmsh.write('Recombine Surface{sFCDE~{0},sGBCF~{0},sJABG~{0},sHIJG~{0}};\n\n')
1140
1140
      else:
1141
 
         file_gmsh.write('Transfinite Surface{sJACF[0]} = {};\n')
1142
 
         file_gmsh.write('Transfinite Surface{sHIJF[0]} = {};\n\n')
 
1141
         file_gmsh.write('Transfinite Surface{sJACF~{0}} = {};\n')
 
1142
         file_gmsh.write('Transfinite Surface{sHIJF~{0}} = {};\n\n')
1143
1143
 
1144
 
         file_gmsh.write('Recombine Surface{sFCDE[0],sJACF[0],sHIJF[0]};\n\n')
 
1144
         file_gmsh.write('Recombine Surface{sFCDE~{0},sJACF~{0},sHIJF~{0}};\n\n')
1145
1145
 
1146
1146
      if self.mesh_variant == 1:
1147
1147
         file_gmsh.write( ''.join( [ 'nAB[] = {', ','.join(map(str,nAB)), '};\n'] ) )
1161
1161
         file_gmsh.write('    Transfinite Line{lDE,-lFC,-lGB,-lJA} = nDE[i+j];\n')
1162
1162
         file_gmsh.write('    Transfinite Line{lIJ,-lGH} = nIJ;\n\n')
1163
1163
         file_gmsh.write('    If (i != 0 || j != 0)\n')
1164
 
         file_gmsh.write('      tmp[] = Duplicata{ Surface{sFCDE[0],sGBCF[0],sJABG[0],sHIJG[0]}; };\n')
1165
 
         file_gmsh.write('      sFCDE[2*i+j] = tmp[0];\n')
1166
 
         file_gmsh.write('      sGBCF[2*i+j] = tmp[1];\n')
1167
 
         file_gmsh.write('      sJABG[2*i+j] = tmp[2];\n')
1168
 
         file_gmsh.write('      sHIJG[2*i+j] = tmp[3];\n')
 
1164
         file_gmsh.write('      tmp[] = Duplicata{ Surface{sFCDE~{0},sGBCF~{0},sJABG~{0},sHIJG~{0}}; };\n')
 
1165
         file_gmsh.write('      sFCDE~{2*i+j} = tmp[0];\n')
 
1166
         file_gmsh.write('      sGBCF~{2*i+j} = tmp[1];\n')
 
1167
         file_gmsh.write('      sJABG~{2*i+j} = tmp[2];\n')
 
1168
         file_gmsh.write('      sHIJG~{2*i+j} = tmp[3];\n')
1169
1169
         file_gmsh.write('    EndIf\n\n')
1170
1170
      else:
1171
1171
         file_gmsh.write('    Transfinite Line{lAC,-lFJ,-lHI} = nAC[i];\n')
1172
1172
         file_gmsh.write('    Transfinite Line{lDE,-lFC,-lJA} = nDE[i+j];\n')
1173
1173
         file_gmsh.write('    Transfinite Line{lIJ,-lFH} = nIJ;\n\n')
1174
1174
         file_gmsh.write('    If (i != 0 || j != 0)\n')
1175
 
         file_gmsh.write('      tmp[] = Duplicata{ Surface{sFCDE[0],sJACF[0],sHIJF[0]}; };\n')
1176
 
         file_gmsh.write('      sFCDE[2*i+j] = tmp[0];\n')
1177
 
         file_gmsh.write('      sJACF[2*i+j] = tmp[1];\n')
1178
 
         file_gmsh.write('      sHIJF[2*i+j] = tmp[2];\n')
 
1175
         file_gmsh.write('      tmp[] = Duplicata{ Surface{sFCDE~{0},sJACF~{0},sHIJF~{0}}; };\n')
 
1176
         file_gmsh.write('      sFCDE~{2*i+j} = tmp[0];\n')
 
1177
         file_gmsh.write('      sJACF~{2*i+j} = tmp[1];\n')
 
1178
         file_gmsh.write('      sHIJF~{2*i+j} = tmp[2];\n')
1179
1179
         file_gmsh.write('    EndIf\n\n')
1180
1180
 
1181
1181
      file_gmsh.write('    If (j == 1)\n')
1182
1182
      file_gmsh.write('      Symmetry {a, b, c, d}\n')
1183
1183
      if self.mesh_variant == 1:
1184
 
         file_gmsh.write('               { Surface{sFCDE[2*i+j],sGBCF[2*i+j],sJABG[2*i+j],sHIJG[2*i+j]}; }\n')
 
1184
         file_gmsh.write('               { Surface{sFCDE~{2*i+j},sGBCF~{2*i+j},sJABG~{2*i+j},sHIJG~{2*i+j}}; }\n')
1185
1185
      else:
1186
 
         file_gmsh.write('               { Surface{sFCDE[2*i+j],sJACF[2*i+j],sHIJF[2*i+j]}; }\n')
 
1186
         file_gmsh.write('               { Surface{sFCDE~{2*i+j},sJACF~{2*i+j},sHIJF~{2*i+j}}; }\n')
1187
1187
      file_gmsh.write('    EndIf\n\n')
1188
1188
 
1189
1189
      file_gmsh.write('    If (i != 0)\n')
1200
1200
         file_gmsh.write('    Extrude {{0, 0, %.15f}, {0,0,1}, {x_offset,y_offset,z_offset}, %.15f} {\n'
1201
1201
                                    % (self.facewidth, theta) )
1202
1202
         if self.mesh_variant == 1:
1203
 
            file_gmsh.write('      Surface{sFCDE[2*i+j], sGBCF[2*i+j], sJABG[2*i+j], sHIJG[2*i+j]};\n')
 
1203
            file_gmsh.write('      Surface{sFCDE~{2*i+j}, sGBCF~{2*i+j}, sJABG~{2*i+j}, sHIJG~{2*i+j}};\n')
1204
1204
         else:
1205
 
            file_gmsh.write('      Surface{sFCDE[2*i+j], sJACF[2*i+j], sHIJF[2*i+j]};\n')
 
1205
            file_gmsh.write('      Surface{sFCDE~{2*i+j}, sJACF~{2*i+j}, sHIJF~{2*i+j}};\n')
1206
1206
         file_gmsh.write('      Layers{%i};\n' % (self.elm_no_width + 1) )
1207
1207
         file_gmsh.write('      Recombine;\n')
1208
1208
         file_gmsh.write('    };\n\n')
1227
1227
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+43) = out[14];\n\n' % iii) #HI
1228
1228
 
1229
1229
      else:
1230
 
         file_gmsh.write('    Physical Surface(%i+100*i+40*j+11) = sFCDE[2*i+j];\n' % iii)
 
1230
         file_gmsh.write('    Physical Surface(%i+100*i+40*j+11) = sFCDE~{2*i+j};\n' % iii)
1231
1231
         if self.mesh_variant == 1:
1232
 
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+21) = sGBCF[2*i+j];\n' % iii)
1233
 
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+31) = sJABG[2*i+j];\n' % iii)
1234
 
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+41) = sHIJG[2*i+j];\n\n' % iii)
 
1232
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+21) = sGBCF~{2*i+j};\n' % iii)
 
1233
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+31) = sJABG~{2*i+j};\n' % iii)
 
1234
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+41) = sHIJG~{2*i+j};\n\n' % iii)
1235
1235
         else:
1236
 
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+31) = sJACF[2*i+j];\n' % iii)
1237
 
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+41) = sHIJF[2*i+j];\n\n' % iii)
 
1236
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+31) = sJACF~{2*i+j};\n' % iii)
 
1237
            file_gmsh.write('    Physical Surface(%i+100*i+40*j+41) = sHIJF~{2*i+j};\n\n' % iii)
1238
1238
 
1239
 
         file_gmsh.write('    tmp[] = Boundary { Surface{sFCDE[2*i+j]}; };\n')
 
1239
         file_gmsh.write('    tmp[] = Boundary { Surface{sFCDE~{2*i+j}}; };\n')
1240
1240
         file_gmsh.write('    Physical Line(%i+100*i+40*j+13) = tmp[1];\n' % iii)
1241
1241
         if self.mesh_variant == 1:
1242
 
            file_gmsh.write('    tmp[] = Boundary { Surface{sJABG[2*i+j]}; };\n')
 
1242
            file_gmsh.write('    tmp[] = Boundary { Surface{sJABG~{2*i+j}}; };\n')
1243
1243
         else:
1244
 
            file_gmsh.write('    tmp[] = Boundary { Surface{sJACF[2*i+j]}; };\n')
 
1244
            file_gmsh.write('    tmp[] = Boundary { Surface{sJACF~{2*i+j}}; };\n')
1245
1245
         file_gmsh.write('    Physical Line(%i+100*i+40*j+33) = tmp[0];\n' % iii)   #JA
1246
1246
         if self.mesh_variant == 1:
1247
 
            file_gmsh.write('    tmp[] = Boundary { Surface{sHIJG[2*i+j]}; };\n')
 
1247
            file_gmsh.write('    tmp[] = Boundary { Surface{sHIJG~{2*i+j}}; };\n')
1248
1248
         else:
1249
 
            file_gmsh.write('    tmp[] = Boundary { Surface{sHIJF[2*i+j]}; };\n')
 
1249
            file_gmsh.write('    tmp[] = Boundary { Surface{sHIJF~{2*i+j}}; };\n')
1250
1250
         file_gmsh.write('    Physical Line(%i+100*i+40*j+42) = tmp[1];\n' % iii)   #IJ
1251
1251
         file_gmsh.write('    Physical Line(%i+100*i+40*j+43) = tmp[0];\n\n' % iii) #HI
1252
1252