Schleife mit veränderlichen Variablen
Verfasst: Freitag 5. August 2022, 16:26
Hallo zusammen,
ich bin gerade dabei einige Abläufe meines Codes zu verschlanken. Dabei habe ich eine Reihe von Abfolgen, die sich wiederholen und super mit einer for-Schleife abbilden lassen. So zum Beispiel diese hier:
Ziel ist es dann später nur einmal diesen "Selektionsbereich" definieren zu müssen und mit einer Schleife in Abhängigkeit der "Anzahl Rollen" zu iterieren. Ich dachte mir das könnte ungefähr wie folgt aussehen:
Leider erhalte ich nicht das gewünschte Ergebnis. Ziel wäre es, so viele verschiedene zu erhalten, wie zuvor definiert wurden.
Ich würde freuen wenn mir da jemand weiterhelfen könnte
ich bin gerade dabei einige Abläufe meines Codes zu verschlanken. Dabei habe ich eine Reihe von Abfolgen, die sich wiederholen und super mit einer for-Schleife abbilden lassen. So zum Beispiel diese hier:
Code: Alles auswählen
anzahl_rollen = 16
x_ir = []
x_ri = []
x_ra = []
x_ar = []
y_ir = []
y_ri = []
y_ra = []
y_ar = []
for i in np.arange(0, 360+polar_rollen, polar_rollen):
x_ir.append(radius_ir*np.sin(np.radians(i)))
x_ri.append(radius_ri*np.sin(np.radians(i)))
x_ra.append(radius_ra*np.sin(np.radians(i)))
x_ar.append(radius_ar*np.sin(np.radians(i)))
y_ir.append(radius_ir*np.cos(np.radians(i)))
y_ri.append(radius_ri*np.cos(np.radians(i)))
y_ra.append(radius_ra*np.cos(np.radians(i)))
y_ar.append(radius_ar*np.cos(np.radians(i)))
#-------------------------- Selektionsbereich -------------------------
mapdl.lsel("R", "LOC", "Y", vmin=y_ir[0], vmax=y_ir[0]+0.001)
mapdl.lsel("R", "LOC", "X", vmin=x_ir[0], vmax=x_ir[0]+0.001)
mapdl.lsel("R", "LOC", "Z", vmin=p+r, vmax=p+r+s/2)
#mapdl.lplot(vtk=True, show_line_numbering=True)
mapdl.nplot(vtk=True, nnum=True)
mapdl.nsll("S", 1)
ir_nnum_1 = mapdl.mesh.nnum
print("Node Numbers IR 1:\n", ir_nnum_1)
mapdl.lsel("ALL")
mapdl.lsel("S", "NDIV", vmin=anzahl_scheiben-1)
mapdl.lsel("R", "LOC", "Y", vmin=y_ir[1], vmax=y_ir[1]+0.001)
mapdl.lsel("R", "LOC", "X", vmin=x_ir[1], vmax=x_ir[1]+0.001)
mapdl.lsel("R", "LOC", "Z", vmin=p+r, vmax=p+r+s/2)
#mapdl.lplot(vtk=True, show_line_numbering=True)
mapdl.nplot(vtk=True, nnum=True)
mapdl.nsll("S", 1)
ir_nnum_2 = mapdl.mesh.nnum
print("Node Numbers IR 2:\n", ir_nnum_2)
Code: Alles auswählen
for i in range(0, anzahl_rollen+1):
mapdl.lsel("R", "LOC", "Y", vmin=y_ir[i], vmax=y_ir[i]+0.001)
mapdl.lsel("R", "LOC", "X", vmin=x_ir[i], vmax=x_ir[i]+0.001)
mapdl.lsel("R", "LOC", "Z", vmin=p+r, vmax=p+r+s/2)
#mapdl.lplot(vtk=True, show_line_numbering=True)
mapdl.nplot(vtk=True, nnum=True)
mapdl.nsll("S", 1)
ir_nnum+i = mapdl.mesh.nnum
Code: Alles auswählen
ir_nnum
Code: Alles auswählen
anzahl_rollen
Ich würde freuen wenn mir da jemand weiterhelfen könnte
