# -*- coding: mbcs -*- # Do not delete the following import lines from abaqus import * from abaqusConstants import * from caeModules import * from math import * import __main__ import math import numpy as np import os import section import regionToolset import displayGroupMdbToolset as dgm import part import material import assembly import step import interaction import load import mesh import optimization import job import sketch import visualization import xyPlot import displayGroupOdbToolset as dgo import connectorBehavior ### Benennung ### Modell_Name = ['WNV_A_FE_40_07_08_11_75', 'WNV_Ai_FE_40_07_08_11_75_H7n6', 'WNV_Ai_FE_40_07_08_11_75_0', 'WNV_Ai_FE_40_07_08_11_75_H7h6', 'WNV_Ai_FE_40_07_08_11_75_H8e8', 'WNV_A_FE_40_00_08_11_75', 'WNV_A_FE_40_03_08_11_75', 'WNV_A_FE_40_085_08_11_75', 'WNV_A_FE_40_07_05_11_75', 'WNV_A_FE_40_07_08_05_75', 'WNV_A_FE_40_07_08_15_75', 'WNV_A_FE_40_07_08_11_20', 'WNV_A_FE_40_07_08_11_150'] #WNV-Bezeichnungen Wellen_Name = ['W_A_FE_40_07_0107', 'W_A_FE_40_07_H7_0107', 'W_A_FE_40_07_00_0107', 'W_A_FE_40_07_H7_0107', 'W_A_FE_40_07_H8_0107', 'W_A_FE_40_00_0079', 'W_A_FE_40_03_0082', 'W_A_FE_40_085_0154', 'W_A_FE_40_07_0066', 'W_A_FE_40_07_0107', 'W_A_FE_40_07_0107', 'W_A_FE_40_07_0028', 'W_A_FE_40_07_0214'] Naben_Name = ['N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_05_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11', 'N_FE_40_08_11'] Welle_innen_Name = [' ', 'Wi_FE_28_n6','Wi_FE_28_00', 'Wi_FE_28_h6', 'Wi_FE_28_e8'] ### Parameter ### # Wellenabmessung list_di = [28.0, 28.0, 28.0, 28.0, 28.0, 0.0, 12.0, 34.0, 28.0, 28.0, 28.0, 28.0, 28.0] # Innendurchmesser der Hohlwelle da = 40.0 # Außendurchmesser der Hohlwelle # Nabenabmessung Di = 40.0 # Innendurchmesser der Nabe list_Da = [50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 60.0, 50.0, 50.0, 50.0, 50.0] # Außendurchmesser der Hohlwelle list_lf = [44.0, 44.0, 44.0, 44.0, 44.0, 44.0, 44.0, 44.0, 44.0, 20.0, 60.0, 44.0, 44.0] # Fugenlänge # Abmessung der innenliegende Welle da_i = 28.0 # Außendurchmesser der innenliegenden Welle # Materialkennwerte E = 210000.0 quer = 0.3 # Übermaß uebermass = [0.107, 0.107, 0.107, 0.107, 0.107, 0.079, 0.082, 0.154, 0.066, 0.107, 0.107, 0.028, 0.214] reibwert = 0.2 uebermass_wi = [0, 0.007, 0, 0.021, 0.073] # Netzfeinheit z = 0.125 # falls float (Kommazahl) dann folgende Schritte notwendig EI = int(8*z) ZW = int(16*z) DR = int (32*z) VI = int(48*z) FU = int(80*z) for i in range (1): mdb.Model(name=Modell_Name[i], modelType=STANDARD_EXPLICIT) # mehrere Modelle erstellen session.viewports['Viewport: 1'].setValues(displayedObject=None) lw = 4*da+list_lf[i] # Länge der Welle # Wellenmodellierung s = mdb.models[Modell_Name[i]].ConstrainedSketch(name='__profile__', sheetSize=200.0) g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=STANDALONE) s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0)) s.FixedConstraint(entity=g[2]) s.rectangle(point1=(list_di[i]/2, 0.0), point2=(da/2, lw)) # Wellenskizze mit Liste für den Innendurchmesser welle = mdb.models[Modell_Name[i]].Part(name=Wellen_Name[i], dimensionality=THREE_D, type=DEFORMABLE_BODY) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] welle.BaseSolidRevolve(sketch=s, angle=360.0, flipRevolveDirection=OFF) # um wie viel Grad ich den Körper drehe s.unsetPrimaryObject() welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle) del mdb.models[Modell_Name[i]].sketches['__profile__'] # Nabenmodellierung s = mdb.models[Modell_Name[i]].ConstrainedSketch(name='__profile__', sheetSize=200.0) g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=STANDALONE) s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0)) s.FixedConstraint(entity=g[2]) s.rectangle(point1=(Di/2, (lw-list_lf[i])/2), point2=(list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i])) # Nabenskizze nabe = mdb.models[Modell_Name[i]].Part(name=Naben_Name[i], dimensionality=THREE_D, type=DEFORMABLE_BODY) nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] nabe.BaseSolidRevolve(sketch=s, angle=360.0, flipRevolveDirection=OFF) # um wie viel Grad ich den Körper drehe s.unsetPrimaryObject() nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=nabe) del mdb.models[Modell_Name[i]].sketches['__profile__'] # Innenliegende Welle if i > 0 and i < 5 : # Bedingung des WNV 2-5 mit innenliegender Welle sind s = mdb.models[Modell_Name[i]].ConstrainedSketch(name='__profile__', sheetSize=200.0) g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=STANDALONE) s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0)) s.FixedConstraint(entity=g[2]) s.rectangle(point1=(0.0, 0.0), point2=(da_i/2, lw)) # Abmessung der innenliegenden Welle welle_innen = mdb.models[Modell_Name[i]].Part(name=Welle_innen_Name[i], dimensionality=THREE_D, type=DEFORMABLE_BODY) welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] welle_innen.BaseSolidRevolve(sketch=s, angle=360.0, flipRevolveDirection=OFF) s.unsetPrimaryObject() welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle_innen) del mdb.models[Modell_Name[i]].sketches['__profile__'] ### Partitionieren ### # Vierteln durch EbenenErstellung bei Welle # Ebene_w1 = welle.DatumPlaneByPrincipalPlane(principalPlane=YZPLANE, offset=0.0) Ebene_w1 = welle.datums[Ebene_w1.id] Ebene_w2 = welle.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.0) Ebene_w2 = welle.datums[Ebene_w2.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w1, cells=cell_w_ges) cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w2, cells=cell_w_ges) # Partitionieren der Fugenflächen Ebene_w3 = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2) Ebene_w3 = welle.datums[Ebene_w3.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w3, cells=cell_w_ges) Ebene_w4 = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]) Ebene_w4 = welle.datums[Ebene_w4.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w4, cells=cell_w_ges) # Partitionieren von Auslaufflächen Ebene_w5 = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2-20) Ebene_w5 = welle.datums[Ebene_w5.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w5, cells=cell_w_ges) # Vierteln durch EbenenErstellung bei Nabe # Ebene_n1 = nabe.DatumPlaneByPrincipalPlane(principalPlane=YZPLANE, offset=0.0) Ebene_n1 = nabe.datums[Ebene_n1.id] Ebene_n2 = nabe.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.0) Ebene_n2 = nabe.datums[Ebene_n2.id] cell_n_ges = nabe.cells nabe.PartitionCellByDatumPlane(datumPlane=Ebene_n1, cells=cell_n_ges) cell_n_ges = nabe.cells nabe.PartitionCellByDatumPlane(datumPlane=Ebene_n2, cells=cell_n_ges) Ebene_n3 = nabe.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+4) Ebene_n3 = nabe.datums[Ebene_n3.id] Ebene_n4 = nabe.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]-4) Ebene_n4 = nabe.datums[Ebene_n4.id] cell_n_ges = nabe.cells nabe.PartitionCellByDatumPlane(datumPlane=Ebene_n3, cells=cell_n_ges) cell_n_ges = nabe.cells nabe.PartitionCellByDatumPlane(datumPlane=Ebene_n4, cells=cell_n_ges) # Vierteln durch EbenenErstellung bei innenliegenden Wellen # if i > 0 and i < 5 : # Bedingung des WNV 2-5 mit innenliegender Welle sind Ebene_wi1 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=YZPLANE, offset=0.0) Ebene_wi1 = welle_innen.datums[Ebene_wi1.id] Ebene_wi2 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.0) Ebene_wi2 = welle_innen.datums[Ebene_wi2.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi1, cells=cell_wi_ges) cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi2, cells=cell_wi_ges) # Partitionieren der Fugenflächen Ebene_wi3 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2) Ebene_wi3 = welle_innen.datums[Ebene_wi3.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi3, cells=cell_wi_ges) Ebene_wi4 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]) Ebene_wi4 = welle_innen.datums[Ebene_wi4.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi4, cells=cell_wi_ges) # Partitionieren von Auslaufflächen Ebene_wi5 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2-20) Ebene_wi5 = welle_innen.datums[Ebene_wi5.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi5, cells=cell_wi_ges) Ebene_wi6 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]+20) Ebene_wi6 = welle_innen.datums[Ebene_wi6.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi6, cells=cell_wi_ges) #Partitionierung der in den Fugenflächen Ebene_wi7 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+4) Ebene_wi7 = welle_innen.datums[Ebene_wi7.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi7, cells=cell_wi_ges) Ebene_wi8 = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]-4) Ebene_wi8 = welle_innen.datums[Ebene_wi8.id] cell_wi_ges = welle_innen.cells welle_innen.PartitionCellByDatumPlane(datumPlane=Ebene_wi8, cells=cell_wi_ges) #Skizzenerstellung für Partitionierung der Stirnfläche#Welle welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle) f_w, e_w, d1_w = welle.faces, welle.edges, welle.datums alpha =pi/4 Ebene_Hilfe_Welle = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=lw) #Hilfsebene Ebene_Hilfe_Welle = welle.datums[Ebene_Hilfe_Welle.id] Edge_Hilfe_Welle = e_w.findAt(((sin (alpha)*(da/2),lw,cos (alpha)*(da/2)),),) #Hilskante t = welle.MakeSketchTransform(sketchPlane=Ebene_Hilfe_Welle, sketchUpEdge=Edge_Hilfe_Welle[0], sketchPlaneSide=SIDE1, origin=(0,lw,0)) s = mdb.models[Modell_Name[i]].ConstrainedSketch( name='__profile__', sheetSize=256.32, gridSpacing=6.4, transform=t) g_w, v_w, d_w, c_w = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=SUPERIMPOSE) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] welle.projectReferencesOntoSketch(sketch=s, filter=COPLANAR_EDGES) s.CircleByCenterPerimeter(center=(0, 0), point1=(0, da/2-1)) #Zeichne Kreis welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] f_w = welle.faces cell_w_ges=welle.cells pickedFaces = [0,0,0,0] for k in range (0,4): # Diese Schleife soll die Faces in jedem Viertel erzeugen welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] Edge_Hilfe_Welle = e_w.findAt(((sin (alpha)*(da/2),lw,cos (alpha)*(da/2)),),) #Hilskante f_w = welle.faces pickedFaces = f_w.findAt(((sin (alpha)*(da/2-1),lw,cos (alpha)*(da/2-1)),),) e_w, d1_w = welle.edges, welle.datums welle.PartitionFaceBySketch(sketchUpEdge=Edge_Hilfe_Welle[0], faces=pickedFaces, sketch=s) alpha = alpha + pi/2 s.unsetPrimaryObject() del mdb.models[Modell_Name[i]].sketches['__profile__'] #Sweepen der Skizze# alpha = pi/4 face = [0,0,0,0] # ist denke notwendig sonst fehlt Definition in der Schleife for j in range (0,4): welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] face[j] = e_w.findAt(((sin (alpha)*(da/2-1),lw,cos (alpha)*(da/2-1)),),) # Auswahl der Faces cell_ges = welle.cells # über gesamtes Bauteil partitionieren e_w, d1_w = welle.edges, welle.datums pickedEdges = face[j] welle.PartitionCellByExtrudeEdge(line=d1_w[1], cells=cell_ges, edges=pickedEdges, sense=FORWARD) # Sweepbefehl alpha = alpha + pi/2 # zusätzliche Ebene kann erst hier im Skript erwähnt werden sonst funktioniert die Partionierung nicht Ebene_w6 = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]+20) Ebene_w6 = welle.datums[Ebene_w6.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w6, cells=cell_w_ges) Ebene_w7 = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+4) Ebene_w7 = welle.datums[Ebene_w7.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w7, cells=cell_w_ges) Ebene_w8 = welle.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]-4) Ebene_w8 = welle.datums[Ebene_w8.id] cell_w_ges = welle.cells welle.PartitionCellByDatumPlane(datumPlane=Ebene_w8, cells=cell_w_ges) #Skizzenerstellung für Partitionierung der Stirnfläche#Nabe nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=nabe) f_n, e_n, d1_n = nabe.faces, nabe.edges, nabe.datums beta= pi/4 Ebene_Hilfe_Nabe = nabe.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=(lw-list_lf[i])/2+list_lf[i]) #Hilfsebene Ebene_Hilfe_Nabe = nabe.datums[Ebene_Hilfe_Nabe.id] Edge_Hilfe_Nabe = e_n.findAt(((sin (beta)*(Di/2),(lw-list_lf[i])/2+list_lf[i],cos (beta)*(Di/2)),),) #Hilskante t = nabe.MakeSketchTransform(sketchPlane=Ebene_Hilfe_Nabe, sketchUpEdge=Edge_Hilfe_Nabe[0], sketchPlaneSide=SIDE1, origin=(0,(lw-list_lf[i])/2+list_lf[i],0)) s = mdb.models[Modell_Name[i]].ConstrainedSketch( name='__profile__', sheetSize=256.32, gridSpacing=6.4, transform=t) g_n, v_n, d_n, c_n = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=SUPERIMPOSE) nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] nabe.projectReferencesOntoSketch(sketch=s, filter=COPLANAR_EDGES) s.CircleByCenterPerimeter(center=(0, 0), point1=(0, Di/2+1)) #Zeichnet Kreis pickedFaces = [0,0,0,0] for k in range (0,4): # Diese Schleife soll die Faces in jedem Viertel erzeugen nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] Edge_Hilfe_Nabe = e_n.findAt(((sin (beta)*(Di/2),(lw-list_lf[i])/2+list_lf[i],cos (beta)*(Di/2)),),) #Hilskante f_n = nabe.faces pickedFaces[k] = f_n.findAt(((sin (beta)*(Di/2+1),(lw-list_lf[i])/2+list_lf[i],cos (beta)*(Di/2+1)),),) e_n, d1_n = nabe.edges, nabe.datums nabe.PartitionFaceBySketch(sketchUpEdge=Edge_Hilfe_Nabe[0], faces=pickedFaces[k], sketch=s) beta = beta + pi/2 s.unsetPrimaryObject() del mdb.models[Modell_Name[i]].sketches['__profile__'] #Sweepen der Skizze# alpha = pi/4 face = [0,0,0,0] # ist denke notwendig sonst fehlt Definition in der Schleife for j in range (0,4): nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] face[j] = e_n.findAt(((sin (alpha)*(Di/2+1),(lw-list_lf[i])/2+list_lf[i],cos (alpha)*(Di/2+1)),),) # Auswahl der Faces cell_ges = nabe.cells # über gesamtes Bauteil partitionieren e_n, d1_n = nabe.edges, nabe.datums pickedEdges = face[j] nabe.PartitionCellByExtrudeEdge(line=d1_n[1], cells=cell_ges, edges=pickedEdges, sense=FORWARD) # Sweepbefehl alpha = alpha + pi/2 #Skizzenerstellung für Partitionierung der Stirnfläche#innenliegende Welle if i > 0 and i < 5: # Bedingung des WNV 2-5 mit innenliegender Welle sind welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle_innen) f_wi, e_wi, d1_wi = welle_innen.faces, welle_innen.edges, welle_innen.datums beta= pi/4 Ebene_Hilfe_Welle_innen = welle_innen.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=lw) #Hilfsebene Ebene_Hilfe_Welle_innen = welle_innen.datums[Ebene_Hilfe_Welle_innen.id] Edge_Hilfe_Welle_innen = e_wi.findAt(((sin (beta)*(da_i/2),lw,cos (beta)*(da_i/2)),),) #Hilskante t = welle_innen.MakeSketchTransform(sketchPlane=Ebene_Hilfe_Welle_innen, sketchUpEdge=Edge_Hilfe_Welle_innen[0], sketchPlaneSide=SIDE1, origin=(0,lw,0)) s = mdb.models[Modell_Name[i]].ConstrainedSketch( name='__profile__', sheetSize=256.32, gridSpacing=6.4, transform=t) g_wi, v_wi, d_wi, c_wi = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=SUPERIMPOSE) welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] welle_innen.projectReferencesOntoSketch(sketch=s, filter=COPLANAR_EDGES) s.CircleByCenterPerimeter(center=(0, 0), point1=(0, da_i/2-1)) #Zeichnet Kreis pickedFaces = [0,0,0,0] for k in range (0,4): # Diese Schleife soll die Faces in jedem Viertel erzeugen welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] Edge_Hilfe_Welle_innen = e_wi.findAt(((sin (beta)*(da_i/2),lw,cos (beta)*(da_i/2)),),) #Hilskante f_wi = welle_innen.faces pickedFaces[k] = f_wi.findAt(((sin (beta)*(da_i/2-1),lw,cos (beta)*(da_i/2-1)),),) e_wi, d1_wi = welle_innen.edges, welle_innen.datums welle_innen.PartitionFaceBySketch(sketchUpEdge=Edge_Hilfe_Welle_innen[0], faces=pickedFaces[k], sketch=s) beta = beta + pi/2 s.unsetPrimaryObject() del mdb.models[Modell_Name[i]].sketches['__profile__'] #Sweepen der Skizze# alpha = pi/4 face = [0,0,0,0] # ist denke notwendig sonst fehlt Definition in der Schleife for j in range (0,4): welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] face[j] = e_wi.findAt(((sin (alpha)*(da_i/2-1),lw,cos (alpha)*(da_i/2-1)),),) # Auswahl der Faces cell_ges = welle_innen.cells # über gesamtes Bauteil partitionieren e_wi, d1_wi = welle_innen.edges, welle_innen.datums pickedEdges = face[j] welle_innen.PartitionCellByExtrudeEdge(line=d1_wi[1], cells=cell_ges, edges=pickedEdges, sense=FORWARD) # Sweepbefehl alpha = alpha + pi/2 # Materialzuweisung und Erstellen von Section mdb.models[Modell_Name[i]].Material(name='Stahl') # Materialname vergeben mdb.models[Modell_Name[i]].materials['Stahl'].Elastic(table=((E, quer), )) # Materialkennwerte definieren hier: elastisches Verhalten mdb.models[Modell_Name[i]].HomogeneousSolidSection(name='Stahl', material='Stahl', # Section definieren thickness=None) nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] # Nabe Material zuweisen cell_ges = nabe.cells nabe.Set(cells=cell_ges, name='Alles') #Als Setname bietet sich soetwas wie: Alles, Wholepart, Gesamt oder sowas an :) region = nabe.sets['Alles'] nabe.SectionAssignment(region=region, sectionName='Stahl', #SectionAssignment Zuweisung Section der Parts offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] # Welle Material zuweisen session.viewports['Viewport: 1'].setValues(displayedObject=welle) cell_ges = welle.cells welle.Set(cells=cell_ges, name='Alles') #Als Setname bietet sich soetwas wie: Alles, Wholepart, Gesamt oder sowas an :) region = welle.sets['Alles'] welle.SectionAssignment(region=region, sectionName='Stahl', #SectionAssignment Zuweisung Section der Parts offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) if i > 0 and i < 5 : # Bedingung des WNV 2-5 mit innenliegender Welle sind welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] # innenliegende Welle Material zuweisen session.viewports['Viewport: 1'].setValues(displayedObject=welle_innen) cell_ges = welle_innen.cells welle_innen.Set(cells=cell_ges, name='Alles') #Als Setname bietet sich soetwas wie: Alles, Wholepart, Gesamt oder sowas an :) region = welle_innen.sets['Alles'] welle_innen.SectionAssignment(region=region, sectionName='Stahl', #SectionAssignment Zuweisung Section der Parts offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) # Baugruppen Erstellung wnv = mdb.models[Modell_Name[i]].rootAssembly #Baugruppe erstellen wnv.DatumCsysByDefault(CARTESIAN) nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] # Nabe auswählen wnv.Instance(name=Naben_Name[i], part=nabe, dependent=ON) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] # Welle auswählen wnv.Instance(name=Wellen_Name[i], part=welle, dependent=ON) if i > 0 and i < 5 : welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] # Welle auswählen wnv.Instance(name=Welle_innen_Name[i], part=welle_innen, dependent=ON) # Step erstellen # Querpressverbund mdb.models[Modell_Name[i]].StaticStep(name='Querpressverbund', previous='Initial', #s.o. für vorherigen Stepname maxNumInc=100, #Maximale rechenincrementanzahl initialInc=0.1, #incrementgröße des ersten Rechenschritts minInc=1e-05, #kleinste Incrementgröße maxInc=1.0, #größte Incrementgröße nlgeom=ON) #Berechnen mit Nichtlinearen Operationen ON = an OFF = aus duh. # Reibung mdb.models[Modell_Name[i]].StaticStep(name='Reibung', previous='Querpressverbund', #s.o. für vorherigen Stepname maxNumInc=100, #Maximale rechenincrementanzahl initialInc=0.1, #incrementgröße des ersten Rechenschritts minInc=1e-05, #kleinste Incrementgröße maxInc=1.0, #größte Incrementgröße nlgeom=ON) #Berechnen mit Nichtlinearen Operationen ON = an OFF = aus duh. # Erstellen von Surface # Welleneinspannung welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle) f_w = welle.faces Einspannung1 = f_w.findAt(((sin(pi/4)*(da/2-3),0,cos(pi/4)*(da/2-3)),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Einspannung2 = f_w.findAt(((sin(pi/4)*(da/2-0.5),0,cos(pi/4)*(da/2-0.5)),),) Einspannung3 = f_w.findAt(((sin(3*pi/4)*(da/2-3),0,cos(3*pi/4)*(da/2-3)),),) Einspannung4 = f_w.findAt(((sin(3*pi/4)*(da/2-0.5),0,cos(3*pi/4)*(da/2-0.5)),),) Einspannung5 = f_w.findAt(((sin(5*pi/4)*(da/2-3),0,cos(5*pi/4)*(da/2-3)),),) Einspannung6 = f_w.findAt(((sin(5*pi/4)*(da/2-0.5),0,cos(5*pi/4)*(da/2-0.5)),),) Einspannung7 = f_w.findAt(((sin(7*pi/4)*(da/2-3),0,cos(7*pi/4)*(da/2-3)),),) Einspannung8 = f_w.findAt(((sin(7*pi/4)*(da/2-0.5),0,cos(7*pi/4)*(da/2-0.5)),),) Einspannung_Welle = [Einspannung1, Einspannung2, Einspannung3, Einspannung4,Einspannung5, Einspannung6, Einspannung7, Einspannung8] welle.Surface(side1Faces=Einspannung_Welle, name='Einspannung Welle') # Erstellen von Surface # Wellenkontaktfläche Kontaktflaeche1_PV = f_w.findAt(((sin(pi/4)*da/2,lw/2,cos(pi/4)*da/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche2_PV = f_w.findAt(((sin(3*pi/4)*da/2,lw/2,cos(3*pi/4)*da/2),),) Kontaktflaeche3_PV = f_w.findAt(((sin(5*pi/4)*da/2,lw/2,cos(5*pi/4)*da/2),),) Kontaktflaeche4_PV = f_w.findAt(((sin(7*pi/4)*da/2,lw/2,cos(7*pi/4)*da/2),),) Kontaktflaeche5_PV = f_w.findAt(((sin(pi/4)*da/2,(lw-list_lf[i])/2+2,cos(pi/4)*da/2),),) Kontaktflaeche6_PV = f_w.findAt(((sin(3*pi/4)*da/2,(lw-list_lf[i])/2+2,cos(3*pi/4)*da/2),),) Kontaktflaeche7_PV = f_w.findAt(((sin(5*pi/4)*da/2,(lw-list_lf[i])/2+2,cos(5*pi/4)*da/2),),) Kontaktflaeche8_PV = f_w.findAt(((sin(7*pi/4)*da/2,(lw-list_lf[i])/2+2,cos(7*pi/4)*da/2),),) Kontaktflaeche9_PV = f_w.findAt(((sin(pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(pi/4)*da/2),),) Kontaktflaeche10_PV = f_w.findAt(((sin(3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(3*pi/4)*da/2),),) Kontaktflaeche11_PV = f_w.findAt(((sin(5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(5*pi/4)*da/2),),) Kontaktflaeche12_PV = f_w.findAt(((sin(7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(7*pi/4)*da/2),),) Kontaktflaeche_PV_Welle = [Kontaktflaeche1_PV, Kontaktflaeche2_PV, Kontaktflaeche3_PV, Kontaktflaeche4_PV, Kontaktflaeche5_PV, Kontaktflaeche6_PV, Kontaktflaeche7_PV, Kontaktflaeche8_PV, Kontaktflaeche9_PV, Kontaktflaeche10_PV, Kontaktflaeche11_PV, Kontaktflaeche12_PV] welle.Surface(side1Faces=Kontaktflaeche_PV_Welle, name='Kontaktflaeche PV') # Erstellen von Surface # Wellenkontaktfläche für innenliegende Welle if i > 0 and i < 5: Kontaktflaeche1_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2, 4,cos(pi/4)*list_di[i]/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche2_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2, 4,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche3_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2, 4,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche4_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2, 4,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche5_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2,lw/2,cos(pi/4)*list_di[i]/2),),) Kontaktflaeche6_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2,lw/2,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche7_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2,lw/2,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche8_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2,lw/2,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche9_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2,lw-2,cos(pi/4)*list_di[i]/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche10_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2,lw-2,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche11_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2,lw-2,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche12_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2,lw-2,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche13_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2,(lw-list_lf[i])/2-10,cos(pi/4)*list_di[i]/2),),) Kontaktflaeche14_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2-10,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche15_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2-10,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche16_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2-10,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche17_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2,(lw-list_lf[i])/2+2,cos(pi/4)*list_di[i]/2),),) Kontaktflaeche18_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+2,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche19_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+2,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche20_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+2,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche21_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(pi/4)*list_di[i]/2),),) Kontaktflaeche22_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche23_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche24_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche25_inne = f_w.findAt(((sin(pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(pi/4)*list_di[i]/2),),) Kontaktflaeche26_inne = f_w.findAt(((sin(3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(3*pi/4)*list_di[i]/2),),) Kontaktflaeche27_inne = f_w.findAt(((sin(5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(5*pi/4)*list_di[i]/2),),) Kontaktflaeche28_inne = f_w.findAt(((sin(7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(7*pi/4)*list_di[i]/2),),) Kontaktflaeche_inne_Welle = [Kontaktflaeche1_inne, Kontaktflaeche2_inne, Kontaktflaeche3_inne, Kontaktflaeche4_inne, Kontaktflaeche5_inne, Kontaktflaeche6_inne, Kontaktflaeche7_inne, Kontaktflaeche8_inne, Kontaktflaeche9_inne, Kontaktflaeche10_inne, Kontaktflaeche11_inne, Kontaktflaeche12_inne, Kontaktflaeche13_inne, Kontaktflaeche14_inne, Kontaktflaeche15_inne, Kontaktflaeche16_inne, Kontaktflaeche17_inne, Kontaktflaeche18_inne, Kontaktflaeche19_inne, Kontaktflaeche20_inne, Kontaktflaeche21_inne, Kontaktflaeche22_inne, Kontaktflaeche23_inne, Kontaktflaeche24_inne, Kontaktflaeche25_inne, Kontaktflaeche26_inne, Kontaktflaeche27_inne, Kontaktflaeche28_inne] welle.Surface(side1Faces=Kontaktflaeche_inne_Welle, name='Kontaktflaeche Innen') # Erstellen von Surface # Nabeneinspannung nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=nabe) f_n = nabe.faces Einspannung1 = f_n.findAt(((sin(pi/4)*(Di/2+1.1),(lw-list_lf[i])/2,cos(pi/4)*(Di/2+1.1)),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Einspannung2 = f_n.findAt(((sin(pi/4)*(Di/2+0.5),(lw-list_lf[i])/2,cos(pi/4)*(Di/2+0.5)),),) Einspannung3 = f_n.findAt(((sin(3*pi/4)*(Di/2+1.1),(lw-list_lf[i])/2,cos(3*pi/4)*(Di/2+1.1)),),) Einspannung4 = f_n.findAt(((sin(3*pi/4)*(Di/2+0.5),(lw-list_lf[i])/2,cos(3*pi/4)*(Di/2+0.5)),),) Einspannung5 = f_n.findAt(((sin(5*pi/4)*(Di/2+1.1),(lw-list_lf[i])/2,cos(5*pi/4)*(Di/2+1.1)),),) Einspannung6 = f_n.findAt(((sin(5*pi/4)*(Di/2+0.5),(lw-list_lf[i])/2,cos(5*pi/4)*(Di/2+0.5)),),) Einspannung7 = f_n.findAt(((sin(7*pi/4)*(Di/2+1.1),(lw-list_lf[i])/2,cos(7*pi/4)*(Di/2+1.1)),),) Einspannung8 = f_n.findAt(((sin(7*pi/4)*(Di/2+0.5),(lw-list_lf[i])/2,cos(7*pi/4)*(Di/2+0.5)),),) Einspannung_Nabe = [Einspannung1, Einspannung2, Einspannung3, Einspannung4,Einspannung5, Einspannung6, Einspannung7, Einspannung8] nabe.Surface(side1Faces=Einspannung_Nabe, name='Einspannung Nabe') # Erstellen von Surface # Nabenkontaktfläche Kontaktflaeche1_PV = f_n.findAt(((sin(pi/4)*Di/2,(lw-list_lf[i])/2+2,cos(pi/4)*Di/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche2_PV = f_n.findAt(((sin(3*pi/4)*Di/2,(lw-list_lf[i])/2+2,cos(3*pi/4)*Di/2),),) Kontaktflaeche3_PV = f_n.findAt(((sin(5*pi/4)*Di/2,(lw-list_lf[i])/2+2,cos(5*pi/4)*Di/2),),) Kontaktflaeche4_PV = f_n.findAt(((sin(7*pi/4)*Di/2,(lw-list_lf[i])/2+2,cos(7*pi/4)*Di/2),),) Kontaktflaeche5_PV = f_n.findAt(((sin(pi/4)*Di/2,(lw-list_lf[i])/2+5,cos(pi/4)*Di/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche6_PV = f_n.findAt(((sin(3*pi/4)*Di/2,(lw-list_lf[i])/2+5,cos(3*pi/4)*Di/2),),) Kontaktflaeche7_PV = f_n.findAt(((sin(5*pi/4)*Di/2,(lw-list_lf[i])/2+5,cos(5*pi/4)*Di/2),),) Kontaktflaeche8_PV = f_n.findAt(((sin(7*pi/4)*Di/2,(lw-list_lf[i])/2+5,cos(7*pi/4)*Di/2),),) Kontaktflaeche9_PV = f_n.findAt(((sin(pi/4)*Di/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(pi/4)*Di/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche10_PV = f_n.findAt(((sin(3*pi/4)*Di/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(3*pi/4)*Di/2),),) Kontaktflaeche11_PV = f_n.findAt(((sin(5*pi/4)*Di/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(5*pi/4)*Di/2),),) Kontaktflaeche12_PV = f_n.findAt(((sin(7*pi/4)*Di/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(7*pi/4)*Di/2),),) Kontaktflaeche_PV_Nabe = [Kontaktflaeche1_PV, Kontaktflaeche2_PV, Kontaktflaeche3_PV, Kontaktflaeche4_PV, Kontaktflaeche5_PV, Kontaktflaeche6_PV, Kontaktflaeche7_PV, Kontaktflaeche8_PV, Kontaktflaeche9_PV, Kontaktflaeche10_PV, Kontaktflaeche11_PV, Kontaktflaeche12_PV] nabe.Surface(side1Faces=Kontaktflaeche_PV_Nabe, name='Kontaktflaeche PV') # Erstellen von Surface # innenliegende Welleneinspannung if i > 0 and i < 5: welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle_innen) f_wi = welle_innen.faces Einspannung1 = f_wi.findAt(((sin(pi/4)*(da_i/2-1.1),0,cos(pi/4)*(da_i/2-1.1)),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Einspannung2 = f_wi.findAt(((sin(pi/4)*(da_i/2-0.5),0,cos(pi/4)*(da_i/2-0.5)),),) Einspannung3 = f_wi.findAt(((sin(3*pi/4)*(da_i/2-1.1),0,cos(3*pi/4)*(da_i/2-1.1)),),) Einspannung4 = f_wi.findAt(((sin(3*pi/4)*(da_i/2-0.5),0,cos(3*pi/4)*(da_i/2-0.5)),),) Einspannung5 = f_wi.findAt(((sin(5*pi/4)*(da_i/2-1.1),0,cos(5*pi/4)*(da_i/2-1.1)),),) Einspannung6 = f_wi.findAt(((sin(5*pi/4)*(da_i/2-0.5),0,cos(5*pi/4)*(da_i/2-0.5)),),) Einspannung7 = f_wi.findAt(((sin(7*pi/4)*(da_i/2-1.1),0,cos(7*pi/4)*(da_i/2-1.1)),),) Einspannung8 = f_wi.findAt(((sin(7*pi/4)*(da_i/2-0.5),0,cos(7*pi/4)*(da_i/2-0.5)),),) Einspannung_Welle_innen = [Einspannung1, Einspannung2, Einspannung3, Einspannung4,Einspannung5, Einspannung6, Einspannung7, Einspannung8] welle_innen.Surface(side1Faces=Einspannung_Welle_innen, name='Einspannung Welle innen') # Erstellen von Surface # Wellenkontaktfläche für innenliegende Welle Kontaktflaeche1 = f_wi.findAt(((sin(pi/4)*da_i/2, 4,cos(pi/4)*da_i/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche2 = f_wi.findAt(((sin(3*pi/4)*da_i/2, 4,cos(3*pi/4)*da_i/2),),) Kontaktflaeche3 = f_wi.findAt(((sin(5*pi/4)*da_i/2, 4,cos(5*pi/4)*da_i/2),),) Kontaktflaeche4 = f_wi.findAt(((sin(7*pi/4)*da_i/2, 4,cos(7*pi/4)*da_i/2),),) Kontaktflaeche5 = f_wi.findAt(((sin(pi/4)*da_i/2,lw/2,cos(pi/4)*da_i/2),),) Kontaktflaeche6 = f_wi.findAt(((sin(3*pi/4)*da_i/2,lw/2,cos(3*pi/4)*da_i/2),),) Kontaktflaeche7 = f_wi.findAt(((sin(5*pi/4)*da_i/2,lw/2,cos(5*pi/4)*da_i/2),),) Kontaktflaeche8 = f_wi.findAt(((sin(7*pi/4)*da_i/2,lw/2,cos(7*pi/4)*da_i/2),),) Kontaktflaeche9 = f_wi.findAt(((sin(pi/4)*da_i/2,lw-2,cos(pi/4)*da_i/2),),) # nicht genau die erzwugte Kante auswählen sonst gibt es Probleme Kontaktflaeche10 = f_wi.findAt(((sin(3*pi/4)*da_i/2,lw-2,cos(3*pi/4)*da_i/2),),) Kontaktflaeche11 = f_wi.findAt(((sin(5*pi/4)*da_i/2,lw-2,cos(5*pi/4)*da_i/2),),) Kontaktflaeche12 = f_wi.findAt(((sin(7*pi/4)*da_i/2,lw-2,cos(7*pi/4)*da_i/2),),) Kontaktflaeche13 = f_wi.findAt(((sin(pi/4)*da_i/2,(lw-list_lf[i])/2-10,cos(pi/4)*da_i/2),),) Kontaktflaeche14 = f_wi.findAt(((sin(3*pi/4)*da_i/2,(lw-list_lf[i])/2-10,cos(3*pi/4)*da_i/2),),) Kontaktflaeche15 = f_wi.findAt(((sin(5*pi/4)*da_i/2,(lw-list_lf[i])/2-10,cos(5*pi/4)*da_i/2),),) Kontaktflaeche16 = f_wi.findAt(((sin(7*pi/4)*da_i/2,(lw-list_lf[i])/2-10,cos(7*pi/4)*da_i/2),),) Kontaktflaeche17 = f_wi.findAt(((sin(pi/4)*da_i/2,(lw-list_lf[i])/2+2,cos(pi/4)*da_i/2),),) Kontaktflaeche18 = f_wi.findAt(((sin(3*pi/4)*da_i/2,(lw-list_lf[i])/2+2,cos(3*pi/4)*da_i/2),),) Kontaktflaeche19 = f_wi.findAt(((sin(5*pi/4)*da_i/2,(lw-list_lf[i])/2+2,cos(5*pi/4)*da_i/2),),) Kontaktflaeche20 = f_wi.findAt(((sin(7*pi/4)*da_i/2,(lw-list_lf[i])/2+2,cos(7*pi/4)*da_i/2),),) Kontaktflaeche21 = f_wi.findAt(((sin(pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(pi/4)*da_i/2),),) Kontaktflaeche22 = f_wi.findAt(((sin(3*pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(3*pi/4)*da_i/2),),) Kontaktflaeche23 = f_wi.findAt(((sin(5*pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(5*pi/4)*da_i/2),),) Kontaktflaeche24 = f_wi.findAt(((sin(7*pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]-2,cos(7*pi/4)*da_i/2),),) Kontaktflaeche25 = f_wi.findAt(((sin(pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(pi/4)*da_i/2),),) Kontaktflaeche26 = f_wi.findAt(((sin(3*pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(3*pi/4)*da_i/2),),) Kontaktflaeche27 = f_wi.findAt(((sin(5*pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(5*pi/4)*da_i/2),),) Kontaktflaeche28 = f_wi.findAt(((sin(7*pi/4)*da_i/2,(lw-list_lf[i])/2+list_lf[i]+2,cos(7*pi/4)*da_i/2),),) Kontaktflaeche_Welle_innen = [Kontaktflaeche1, Kontaktflaeche2, Kontaktflaeche3, Kontaktflaeche4, Kontaktflaeche5, Kontaktflaeche6, Kontaktflaeche7, Kontaktflaeche8, Kontaktflaeche9, Kontaktflaeche10, Kontaktflaeche11, Kontaktflaeche12, Kontaktflaeche13, Kontaktflaeche14, Kontaktflaeche15, Kontaktflaeche16, Kontaktflaeche17, Kontaktflaeche18, Kontaktflaeche19, Kontaktflaeche20, Kontaktflaeche21, Kontaktflaeche22, Kontaktflaeche23, Kontaktflaeche24, Kontaktflaeche25, Kontaktflaeche26, Kontaktflaeche27, Kontaktflaeche28] welle_innen.Surface(side1Faces=Kontaktflaeche_Welle_innen, name='Kontaktflaeche') # Erstellen von Sets # Welle # tangential welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle) e_w = welle.edges if list_di[i] > 1: Tangentialedge1 = e_w.findAt(((sin (pi/4)*da/2,lw,cos (pi/4)*da/2),),) # Außendurchmesser am oberen Ende deer Welle Tangentialedge2 = e_w.findAt(((sin (3*pi/4)*da/2,lw,cos (3*pi/4)*da/2),),) Tangentialedge3 = e_w.findAt(((sin (5*pi/4)*da/2,lw,cos (5*pi/4)*da/2),),) Tangentialedge4 = e_w.findAt(((sin (7*pi/4)*da/2,lw,cos (7*pi/4)*da/2),),) Tangentialedge5 = e_w.findAt(((sin (pi/4)*(da/2-1),lw,cos (pi/4)*(da/2-1)),),) Tangentialedge6 = e_w.findAt(((sin (3*pi/4)*(da/2-1),lw,cos (3*pi/4)*(da/2-1)),),) # mittlere Kante ganz oben Tangentialedge7 = e_w.findAt(((sin (5*pi/4)*(da/2-1),lw,cos (5*pi/4)*(da/2-1)),),) Tangentialedge8 = e_w.findAt(((sin (7*pi/4)*(da/2-1),lw,cos (7*pi/4)*(da/2-1)),),) Tangentialedge9 = e_w.findAt(((sin (pi/4)*list_di[i]/2,lw,cos (pi/4)*list_di[i]/2),),) # innere Kante ganz oben Tangentialedge10 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,lw,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge11 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,lw,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge12 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,lw,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge13 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (pi/4)*da/2),),) Tangentialedge14 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*da/2),),) Tangentialedge15 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*da/2),),) Tangentialedge16 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*da/2),),) Tangentialedge17 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (pi/4)*(da/2-1)),),) Tangentialedge18 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*(da/2-1)),),) Tangentialedge19 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*(da/2-1)),),) Tangentialedge20 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*(da/2-1)),),) Tangentialedge21 = e_w.findAt(((sin (pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i],cos (pi/4)*list_di[i]/2),),) Tangentialedge22 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*list_di[i]/2),),) Tangentialedge23 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*list_di[i]/2),),) Tangentialedge24 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*list_di[i]/2),),) Tangentialedge25 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2,cos (pi/4)*da/2),),) Tangentialedge26 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2,cos (3*pi/4)*da/2),),) Tangentialedge27 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2,cos (5*pi/4)*da/2),),) Tangentialedge28 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2,cos (7*pi/4)*da/2),),) Tangentialedge29 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (pi/4)*(da/2-1)),),) Tangentialedge30 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (3*pi/4)*(da/2-1)),),) Tangentialedge31 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (5*pi/4)*(da/2-1)),),) Tangentialedge32 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (7*pi/4)*(da/2-1)),),) Tangentialedge33 = e_w.findAt(((sin (pi/4)*list_di[i]/2,(lw-list_lf[i])/2,cos (pi/4)*list_di[i]/2),),) Tangentialedge34 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge35 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge36 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge37 = e_w.findAt(((sin (pi/4)*da/2,0,cos (pi/4)*da/2),),) Tangentialedge38 = e_w.findAt(((sin (3*pi/4)*da/2,0,cos (3*pi/4)*da/2),),) Tangentialedge39 = e_w.findAt(((sin (5*pi/4)*da/2,0,cos (5*pi/4)*da/2),),) Tangentialedge40 = e_w.findAt(((sin (7*pi/4)*da/2,0,cos (7*pi/4)*da/2),),) Tangentialedge41 = e_w.findAt(((sin (pi/4)*(da/2-1),0,cos (pi/4)*(da/2-1)),),) Tangentialedge42 = e_w.findAt(((sin (3*pi/4)*(da/2-1),0,cos (3*pi/4)*(da/2-1)),),) Tangentialedge43 = e_w.findAt(((sin (5*pi/4)*(da/2-1),0,cos (5*pi/4)*(da/2-1)),),) Tangentialedge44 = e_w.findAt(((sin (7*pi/4)*(da/2-1),0,cos (7*pi/4)*(da/2-1)),),) Tangentialedge45 = e_w.findAt(((sin (pi/4)*list_di[i]/2,0,cos (pi/4)*list_di[i]/2),),) Tangentialedge46 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,0,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge47 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,0,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge48 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,0,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge49 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*da/2),),) Tangentialedge50 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*da/2),),) Tangentialedge51 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*da/2),),) Tangentialedge52 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*da/2),),) Tangentialedge53 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*(da/2-1)),),) Tangentialedge54 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*(da/2-1)),),) Tangentialedge55 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*(da/2-1)),),) Tangentialedge56 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*(da/2-1)),),) Tangentialedge57 = e_w.findAt(((sin (pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*list_di[i]/2),),) Tangentialedge58 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge59 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge60 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge61 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2-20,cos (pi/4)*da/2),),) Tangentialedge62 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2-20,cos (3*pi/4)*da/2),),) Tangentialedge63 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2-20,cos (5*pi/4)*da/2),),) Tangentialedge64 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2-20,cos (7*pi/4)*da/2),),) Tangentialedge65 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (pi/4)*(da/2-1)),),) Tangentialedge66 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (3*pi/4)*(da/2-1)),),) Tangentialedge67 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (5*pi/4)*(da/2-1)),),) Tangentialedge68 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (7*pi/4)*(da/2-1)),),) Tangentialedge69 = e_w.findAt(((sin (pi/4)*list_di[i]/2,(lw-list_lf[i])/2-20,cos (pi/4)*list_di[i]/2),),) Tangentialedge70 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2-20,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge71 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2-20,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge72 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2-20,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge73 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*da/2),),) Tangentialedge74 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*da/2),),) Tangentialedge75 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*da/2),),) Tangentialedge76 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*da/2),),) Tangentialedge77 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*(da/2-1)),),) Tangentialedge78 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*(da/2-1)),),) Tangentialedge79 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*(da/2-1)),),) Tangentialedge80 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*(da/2-1)),),) Tangentialedge81 = e_w.findAt(((sin (pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*list_di[i]/2),),) Tangentialedge82 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge83 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge84 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge85 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+4,cos (pi/4)*da/2),),) Tangentialedge86 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+4,cos (3*pi/4)*da/2),),) Tangentialedge87 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+4,cos (5*pi/4)*da/2),),) Tangentialedge88 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+4,cos (7*pi/4)*da/2),),) Tangentialedge89 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (pi/4)*(da/2-1)),),) Tangentialedge90 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (3*pi/4)*(da/2-1)),),) Tangentialedge91 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (5*pi/4)*(da/2-1)),),) Tangentialedge92 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (7*pi/4)*(da/2-1)),),) Tangentialedge93 = e_w.findAt(((sin (pi/4)*list_di[i]/2,(lw-list_lf[i])/2+4,cos (pi/4)*list_di[i]/2),),) Tangentialedge94 = e_w.findAt(((sin (3*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+4,cos (3*pi/4)*list_di[i]/2),),) Tangentialedge95 = e_w.findAt(((sin (5*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+4,cos (5*pi/4)*list_di[i]/2),),) Tangentialedge96 = e_w.findAt(((sin (7*pi/4)*list_di[i]/2,(lw-list_lf[i])/2+4,cos (7*pi/4)*list_di[i]/2),),) Tangentialedge_Welle = [Tangentialedge1, Tangentialedge2, Tangentialedge3, Tangentialedge4, Tangentialedge5, Tangentialedge6, Tangentialedge7, Tangentialedge8, Tangentialedge9, Tangentialedge10, Tangentialedge11, Tangentialedge12, Tangentialedge13, Tangentialedge14, Tangentialedge15, Tangentialedge16, Tangentialedge17, Tangentialedge18, Tangentialedge19, Tangentialedge20, Tangentialedge21, Tangentialedge22, Tangentialedge23, Tangentialedge24, Tangentialedge25, Tangentialedge26, Tangentialedge27, Tangentialedge28, Tangentialedge29, Tangentialedge30, Tangentialedge31, Tangentialedge32, Tangentialedge33, Tangentialedge34, Tangentialedge35, Tangentialedge36, Tangentialedge37, Tangentialedge38, Tangentialedge39, Tangentialedge40, Tangentialedge41, Tangentialedge42, Tangentialedge43, Tangentialedge44, Tangentialedge45, Tangentialedge46, Tangentialedge47, Tangentialedge48, Tangentialedge49, Tangentialedge50, Tangentialedge51, Tangentialedge52, Tangentialedge53, Tangentialedge54, Tangentialedge55, Tangentialedge56, Tangentialedge57, Tangentialedge58, Tangentialedge59, Tangentialedge60, Tangentialedge61, Tangentialedge62, Tangentialedge63, Tangentialedge64, Tangentialedge65, Tangentialedge66, Tangentialedge67, Tangentialedge68, Tangentialedge69, Tangentialedge70, Tangentialedge71, Tangentialedge72, Tangentialedge73, Tangentialedge74, Tangentialedge75, Tangentialedge76, Tangentialedge77, Tangentialedge78, Tangentialedge79, Tangentialedge80, Tangentialedge81, Tangentialedge82, Tangentialedge83, Tangentialedge84, Tangentialedge85, Tangentialedge86, Tangentialedge87, Tangentialedge88, Tangentialedge89, Tangentialedge90, Tangentialedge91, Tangentialedge92, Tangentialedge93, Tangentialedge94, Tangentialedge95, Tangentialedge96] else: Tangentialedge1 = e_w.findAt(((sin (pi/4)*da/2,lw,cos (pi/4)*da/2),),) # Außendurchmesser am oberen Ende deer Welle Tangentialedge2 = e_w.findAt(((sin (3*pi/4)*da/2,lw,cos (3*pi/4)*da/2),),) Tangentialedge3 = e_w.findAt(((sin (5*pi/4)*da/2,lw,cos (5*pi/4)*da/2),),) Tangentialedge4 = e_w.findAt(((sin (7*pi/4)*da/2,lw,cos (7*pi/4)*da/2),),) Tangentialedge5 = e_w.findAt(((sin (pi/4)*(da/2-1),lw,cos (pi/4)*(da/2-1)),),) Tangentialedge6 = e_w.findAt(((sin (3*pi/4)*(da/2-1),lw,cos (3*pi/4)*(da/2-1)),),) # mittlere Kante ganz oben Tangentialedge7 = e_w.findAt(((sin (5*pi/4)*(da/2-1),lw,cos (5*pi/4)*(da/2-1)),),) Tangentialedge8 = e_w.findAt(((sin (7*pi/4)*(da/2-1),lw,cos (7*pi/4)*(da/2-1)),),) Tangentialedge9 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (pi/4)*da/2),),) Tangentialedge10 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*da/2),),) Tangentialedge11 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*da/2),),) Tangentialedge12 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*da/2),),) Tangentialedge13 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (pi/4)*(da/2-1)),),) Tangentialedge14 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*(da/2-1)),),) Tangentialedge15 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*(da/2-1)),),) Tangentialedge16 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*(da/2-1)),),) Tangentialedge17 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2,cos (pi/4)*da/2),),) Tangentialedge18 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2,cos (3*pi/4)*da/2),),) Tangentialedge19 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2,cos (5*pi/4)*da/2),),) Tangentialedge20 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2,cos (7*pi/4)*da/2),),) Tangentialedge21 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (pi/4)*(da/2-1)),),) Tangentialedge22 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (3*pi/4)*(da/2-1)),),) Tangentialedge23 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (5*pi/4)*(da/2-1)),),) Tangentialedge24 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2,cos (7*pi/4)*(da/2-1)),),) Tangentialedge25 = e_w.findAt(((sin (pi/4)*da/2,0,cos (pi/4)*da/2),),) Tangentialedge26 = e_w.findAt(((sin (3*pi/4)*da/2,0,cos (3*pi/4)*da/2),),) Tangentialedge27 = e_w.findAt(((sin (5*pi/4)*da/2,0,cos (5*pi/4)*da/2),),) Tangentialedge28 = e_w.findAt(((sin (7*pi/4)*da/2,0,cos (7*pi/4)*da/2),),) Tangentialedge29 = e_w.findAt(((sin (pi/4)*(da/2-1),0,cos (pi/4)*(da/2-1)),),) Tangentialedge30 = e_w.findAt(((sin (3*pi/4)*(da/2-1),0,cos (3*pi/4)*(da/2-1)),),) Tangentialedge31 = e_w.findAt(((sin (5*pi/4)*(da/2-1),0,cos (5*pi/4)*(da/2-1)),),) Tangentialedge32 = e_w.findAt(((sin (7*pi/4)*(da/2-1),0,cos (7*pi/4)*(da/2-1)),),) Tangentialedge33 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*da/2),),) Tangentialedge34 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*da/2),),) Tangentialedge35 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*da/2),),) Tangentialedge36 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*da/2),),) Tangentialedge37 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*(da/2-1)),),) Tangentialedge38 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*(da/2-1)),),) Tangentialedge39 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*(da/2-1)),),) Tangentialedge40 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*(da/2-1)),),) Tangentialedge41 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2-20,cos (pi/4)*da/2),),) Tangentialedge42 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2-20,cos (3*pi/4)*da/2),),) Tangentialedge43 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2-20,cos (5*pi/4)*da/2),),) Tangentialedge44 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2-20,cos (7*pi/4)*da/2),),) Tangentialedge45 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (pi/4)*(da/2-1)),),) Tangentialedge46 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (3*pi/4)*(da/2-1)),),) Tangentialedge47 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (5*pi/4)*(da/2-1)),),) Tangentialedge48 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2-20,cos (7*pi/4)*(da/2-1)),),) Tangentialedge49 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*da/2),),) Tangentialedge50 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*da/2),),) Tangentialedge51 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*da/2),),) Tangentialedge52 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*da/2),),) Tangentialedge53 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*(da/2-1)),),) Tangentialedge54 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*(da/2-1)),),) Tangentialedge55 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*(da/2-1)),),) Tangentialedge56 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*(da/2-1)),),) Tangentialedge57 = e_w.findAt(((sin (pi/4)*da/2,(lw-list_lf[i])/2+4,cos (pi/4)*da/2),),) Tangentialedge58 = e_w.findAt(((sin (3*pi/4)*da/2,(lw-list_lf[i])/2+4,cos (3*pi/4)*da/2),),) Tangentialedge59 = e_w.findAt(((sin (5*pi/4)*da/2,(lw-list_lf[i])/2+4,cos (5*pi/4)*da/2),),) Tangentialedge60 = e_w.findAt(((sin (7*pi/4)*da/2,(lw-list_lf[i])/2+4,cos (7*pi/4)*da/2),),) Tangentialedge61 = e_w.findAt(((sin (pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (pi/4)*(da/2-1)),),) Tangentialedge62 = e_w.findAt(((sin (3*pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (3*pi/4)*(da/2-1)),),) Tangentialedge63 = e_w.findAt(((sin (5*pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (5*pi/4)*(da/2-1)),),) Tangentialedge64 = e_w.findAt(((sin (7*pi/4)*(da/2-1),(lw-list_lf[i])/2+4,cos (7*pi/4)*(da/2-1)),),) Tangentialedge_Welle = [Tangentialedge1, Tangentialedge2, Tangentialedge3, Tangentialedge4, Tangentialedge5, Tangentialedge6, Tangentialedge7, Tangentialedge8, Tangentialedge9, Tangentialedge10, Tangentialedge11, Tangentialedge12, Tangentialedge13, Tangentialedge14, Tangentialedge15, Tangentialedge16, Tangentialedge17, Tangentialedge18, Tangentialedge19, Tangentialedge20, Tangentialedge21, Tangentialedge22, Tangentialedge23, Tangentialedge24, Tangentialedge25, Tangentialedge26, Tangentialedge27, Tangentialedge28, Tangentialedge29, Tangentialedge30, Tangentialedge31, Tangentialedge32, Tangentialedge33, Tangentialedge34, Tangentialedge35, Tangentialedge36, Tangentialedge37, Tangentialedge38, Tangentialedge39, Tangentialedge40, Tangentialedge41, Tangentialedge42, Tangentialedge43, Tangentialedge44, Tangentialedge45, Tangentialedge46, Tangentialedge47, Tangentialedge48, Tangentialedge49, Tangentialedge50, Tangentialedge51, Tangentialedge52, Tangentialedge53, Tangentialedge54, Tangentialedge55, Tangentialedge56, Tangentialedge57, Tangentialedge58, Tangentialedge59, Tangentialedge60, Tangentialedge61, Tangentialedge62, Tangentialedge63, Tangentialedge64] welle.Set(edges=Tangentialedge_Welle, name='Tangential_01') # axial Axialedge_W_Anfang = e_w.findAt(((sin (pi/2)*da/2, lw-5, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), lw-5, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, lw-5, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, lw-5, cos (pi)*da/2),), ((sin (pi)*(da/2-1), lw-5, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, lw-5, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, lw-5, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), lw-5, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, lw-5, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, lw-5, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), lw-5, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, lw-5, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_Anfang, name='Axial_01_Anfangsteil') Axialedge_W_Auslauf1 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_Auslauf1, name='Axial_02_Auslauf') Axialedge_W_Fuge_o = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_Fuge_o, name='Axial_03_Fuge_oben') Axialedge_W_PV = e_w.findAt(((sin (pi/2)*da/2, lw/2, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), lw/2, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, lw/2, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, lw/2, cos (pi)*da/2),), ((sin (pi)*(da/2-1), lw/2, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, lw/2, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, lw/2, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), lw/2, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, lw/2, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, lw/2, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), lw/2, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, lw/2, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_PV, name='Axial_04_PV') Axialedge_W_Fuge_u = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+3, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+3, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+3, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+3, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_Fuge_u, name='Axial_05_Fuge_unten') Axialedge_W_Auslauf2 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2-2, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2-2, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2-2, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2-2, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2-2, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2-2, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2-2, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2-2, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2-2, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2-2, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2-2, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2-2, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_Auslauf2, name='Axial_06_Auslauf') Axialedge_W_Ende = e_w.findAt(((sin (pi/2)*da/2, 5, cos (pi/2)*da/2),), ((sin (pi/2)*(da/2-1), 5, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, 5, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, 5, cos (pi)*da/2),), ((sin (pi)*(da/2-1), 5, cos (pi)*(da/2-1)),), ((sin (pi)*list_di[i]/2, 5, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, 5, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), 5, cos (3*pi/2)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, 5, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*da/2, 5, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), 5, cos (2*pi)*(da/2-1)),), ((sin (2*pi)*list_di[i]/2, 5, cos (2*pi)*list_di[i]/2),),) welle.Set(edges=Axialedge_W_Ende, name='Axial_07_Endteil') # radial Radialedge_W_Anfang_a = e_w.findAt(((sin (pi/2)*(da/2-0.5), lw, cos (pi/2)*(da/2-0.5)),), ((sin (pi)*(da/2-0.5), lw, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), lw, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), lw, cos (2*pi)*(da/2-0.5)),),) welle.Set(edges=Radialedge_W_Anfang_a, name='Radial_00_Anfang_aussen') Radialedge_W_Anfang_i = e_w.findAt(((sin (pi/2)*(da/2-2), lw, cos (pi/2)*(da/2-2)),), ((sin (pi)*(da/2-2), lw, cos (pi)*(da/2-2)),), ((sin (3*pi/2)*(da/2-2), lw, cos (3*pi/2)*(da/2-2)),), ((sin (2*pi)*(da/2-2), lw, cos (2*pi)*(da/2-2)),),) welle.Set(edges=Radialedge_W_Anfang_i, name='Radial_01_Anfang_innen') Radialedge_W_PV_a = e_w.findAt(((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi/2)*(da/2-0.5)),), #erste Anlauffläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (2*pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(da/2-0.5)),), #Fugenfläche oben ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(da/2-0.5)),), #erste PVfläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2, cos (pi/2)*(da/2-0.5)),), #zweite PVfläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2, cos (2*pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (pi/2)*(da/2-0.5)),), #Fugenfläche unten ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (2*pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (pi/2)*(da/2-0.5)),), #zweite Anlauffläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (2*pi)*(da/2-0.5)),),) welle.Set(edges=Radialedge_W_PV_a, name='Radial_02_PV_aussen') Radialedge_W_PV_i = e_w.findAt(((sin (pi/2)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi/2)*(da/2-3)),), #erste Anlauffläche ((sin (pi)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi)*(da/2-3)),), ((sin (3*pi/2)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (3*pi/2)*(da/2-3)),), ((sin (2*pi)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (2*pi)*(da/2-3)),), ((sin (pi/2)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(da/2-3)),), #Fugenfläche oben ((sin (pi)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(da/2-3)),), ((sin (3*pi/2)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(da/2-3)),), ((sin (2*pi)*(da/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(da/2-3)),), ((sin (pi/2)*(da/2-3), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(da/2-3)),), #erste PVfläche ((sin (pi)*(da/2-3), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(da/2-3)),), ((sin (3*pi/2)*(da/2-3), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(da/2-3)),), ((sin (2*pi)*(da/2-3), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(da/2-3)),), ((sin (pi/2)*(da/2-3), (lw-list_lf[i])/2, cos (pi/2)*(da/2-3)),), #zweite PVfläche ((sin (pi)*(da/2-3), (lw-list_lf[i])/2, cos (pi)*(da/2-3)),), ((sin (3*pi/2)*(da/2-3), (lw-list_lf[i])/2, cos (3*pi/2)*(da/2-3)),), ((sin (2*pi)*(da/2-3), (lw-list_lf[i])/2, cos (2*pi)*(da/2-3)),), ((sin (pi/2)*(da/2-3), (lw-list_lf[i])/2+4, cos (pi/2)*(da/2-3)),), #Fugenfläche unten ((sin (pi)*(da/2-3), (lw-list_lf[i])/2+4, cos (pi)*(da/2-3)),), ((sin (3*pi/2)*(da/2-3), (lw-list_lf[i])/2+4, cos (3*pi/2)*(da/2-3)),), ((sin (2*pi)*(da/2-3), (lw-list_lf[i])/2+4, cos (2*pi)*(da/2-3)),), ((sin (pi/2)*(da/2-3), (lw-list_lf[i])/2-20, cos (pi/2)*(da/2-3)),), #zweite Anlauffläche ((sin (pi)*(da/2-3), (lw-list_lf[i])/2-20, cos (pi)*(da/2-3)),), ((sin (3*pi/2)*(da/2-3), (lw-list_lf[i])/2-20, cos (3*pi/2)*(da/2-3)),), ((sin (2*pi)*(da/2-3), (lw-list_lf[i])/2-20, cos (2*pi)*(da/2-3)),),) welle.Set(edges=Radialedge_W_PV_i, name='Radial_03_PV_innen') Radialedge_W_Ende_a = e_w.findAt(((sin (pi/2)*(da/2-0.5), 0, cos (pi/2)*(da/2-0.5)),), ((sin (pi)*(da/2-0.5), 0, cos (pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), 0, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), 0, cos (2*pi)*(da/2-0.5)),),) welle.Set(edges=Radialedge_W_Ende_a, name='Radial_04_Ende_aussen') Radialedge_W_Ende_i = e_w.findAt(((sin (pi/2)*(da/2-2), 0, cos (pi/2)*(da/2-2)),), ((sin (pi)*(da/2-2), 0, cos (pi)*(da/2-2)),), ((sin (3*pi/2)*(da/2-2), 0, cos (3*pi/2)*(da/2-2)),), ((sin (2*pi)*(da/2-2), 0, cos (2*pi)*(da/2-2)),),) welle.Set(edges=Radialedge_W_Ende_i, name='Radial_05_Ende_innen') # Erstellen von Sets # Nabe # tangential nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=nabe) e_n = nabe.edges Tangentialedge_Nabe = e_n.findAt(((sin (pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i],cos (pi/4)*list_Da[i]/2),), ((sin (pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i],cos (pi/4)*(Di/2+1)),), ((sin (pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i],cos (pi/4)*Di/2),), ((sin (pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*list_Da[i]/2),), ((sin (pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*(Di/2+1)),), ((sin (pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*Di/2),), ((sin (pi/4)*list_Da[i]/2, (lw-list_lf[i])/2,cos (pi/4)*list_Da[i]/2),), ((sin (pi/4)*(Di/2+1), (lw-list_lf[i])/2,cos (pi/4)*(Di/2+1)),), ((sin (pi/4)*Di/2, (lw-list_lf[i])/2,cos (pi/4)*Di/2),), ((sin (pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+4,cos (pi/4)*list_Da[i]/2),), ((sin (pi/4)*(Di/2+1), (lw-list_lf[i])/2+4,cos (pi/4)*(Di/2+1)),), ((sin (pi/4)*Di/2, (lw-list_lf[i])/2+4,cos (pi/4)*Di/2),), ((sin (3*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*list_Da[i]/2),), ((sin (3*pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*(Di/2+1)),), ((sin (3*pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*Di/2),), ((sin (3*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*list_Da[i]/2),), ((sin (3*pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*(Di/2+1)),), ((sin (3*pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*Di/2),), ((sin (3*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2,cos (3*pi/4)*list_Da[i]/2),), ((sin (3*pi/4)*(Di/2+1), (lw-list_lf[i])/2,cos (3*pi/4)*(Di/2+1)),), ((sin (3*pi/4)*Di/2, (lw-list_lf[i])/2,cos (3*pi/4)*Di/2),), ((sin (3*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+4,cos (3*pi/4)*list_Da[i]/2),), ((sin (3*pi/4)*(Di/2+1), (lw-list_lf[i])/2+4,cos (3*pi/4)*(Di/2+1)),), ((sin (3*pi/4)*Di/2, (lw-list_lf[i])/2+4,cos (3*pi/4)*Di/2),), ((sin (5*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*list_Da[i]/2),), ((sin (5*pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*(Di/2+1)),), ((sin (5*pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*Di/2),), ((sin (5*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*list_Da[i]/2),), ((sin (5*pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*(Di/2+1)),), ((sin (5*pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*Di/2),), ((sin (5*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2,cos (5*pi/4)*list_Da[i]/2),), ((sin (5*pi/4)*(Di/2+1), (lw-list_lf[i])/2,cos (5*pi/4)*(Di/2+1)),), ((sin (5*pi/4)*Di/2, (lw-list_lf[i])/2,cos (5*pi/4)*Di/2),), ((sin (5*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+4,cos (5*pi/4)*list_Da[i]/2),), ((sin (5*pi/4)*(Di/2+1), (lw-list_lf[i])/2+4,cos (5*pi/4)*(Di/2+1)),), ((sin (5*pi/4)*Di/2, (lw-list_lf[i])/2+4,cos (5*pi/4)*Di/2),), ((sin (7*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*list_Da[i]/2),), ((sin (7*pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*(Di/2+1)),), ((sin (7*pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*Di/2),), ((sin (7*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*list_Da[i]/2),), ((sin (7*pi/4)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*(Di/2+1)),), ((sin (7*pi/4)*Di/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*Di/2),), ((sin (7*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2,cos (7*pi/4)*list_Da[i]/2),), ((sin (7*pi/4)*(Di/2+1), (lw-list_lf[i])/2,cos (7*pi/4)*(Di/2+1)),), ((sin (7*pi/4)*Di/2, (lw-list_lf[i])/2,cos (7*pi/4)*Di/2),), ((sin (7*pi/4)*list_Da[i]/2, (lw-list_lf[i])/2+4,cos (7*pi/4)*list_Da[i]/2),), ((sin (7*pi/4)*(Di/2+1), (lw-list_lf[i])/2+4,cos (7*pi/4)*(Di/2+1)),), ((sin (7*pi/4)*Di/2, (lw-list_lf[i])/2+4,cos (7*pi/4)*Di/2),),) nabe.Set(edges=Tangentialedge_Nabe, name='Tangential_01') # axial Axialedge_N_PV = e_n.findAt(((sin (pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+5, cos (pi/2)*list_Da[i]/2),), ((sin (pi/2)*(Di/2+1), (lw-list_lf[i])/2+5, cos (pi/2)*(Di/2+1)),), ((sin (pi/2)*Di/2, (lw-list_lf[i])/2+5, cos (pi/2)*Di/2),), ((sin (pi)*list_Da[i]/2, (lw-list_lf[i])/2+5, cos (pi)*list_Da[i]/2),), ((sin (pi)*(Di/2+1), (lw-list_lf[i])/2+5, cos (pi)*(Di/2+1)),), ((sin (pi)*Di/2, (lw-list_lf[i])/2+5, cos (pi)*Di/2),), ((sin (3*pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+5, cos (3*pi/2)*list_Da[i]/2),), ((sin (3*pi/2)*(Di/2+1), (lw-list_lf[i])/2+5, cos (3*pi/2)*(Di/2+1)),), ((sin (3*pi/2)*Di/2, (lw-list_lf[i])/2+5, cos (3*pi/2)*Di/2),), ((sin (2*pi)*list_Da[i]/2, (lw-list_lf[i])/2+5, cos (2*pi)*list_Da[i]/2),), ((sin (2*pi)*(Di/2+1), (lw-list_lf[i])/2+5, cos (2*pi)*(Di/2+1)),), ((sin (2*pi)*Di/2, (lw-list_lf[i])/2+5, cos (2*pi)*Di/2),),) nabe.Set(edges=Axialedge_N_PV, name='Axial_01_PV') Axialedge_N_PV_Kante = e_n.findAt(((sin (pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (pi/2)*list_Da[i]/2),), ((sin (pi/2)*(Di/2+1), (lw-list_lf[i])/2+3, cos (pi/2)*(Di/2+1)),), ((sin (pi/2)*Di/2, (lw-list_lf[i])/2+3, cos (pi/2)*Di/2),), ((sin (pi)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (pi)*list_Da[i]/2),), ((sin (pi)*(Di/2+1), (lw-list_lf[i])/2+3, cos (pi)*(Di/2+1)),), ((sin (pi)*Di/2, (lw-list_lf[i])/2+3, cos (pi)*Di/2),), ((sin (3*pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*list_Da[i]/2),), ((sin (3*pi/2)*(Di/2+1), (lw-list_lf[i])/2+3, cos (3*pi/2)*(Di/2+1)),), ((sin (3*pi/2)*Di/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*Di/2),), ((sin (2*pi)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (2*pi)*list_Da[i]/2),), ((sin (2*pi)*(Di/2+1), (lw-list_lf[i])/2+3, cos (2*pi)*(Di/2+1)),), ((sin (2*pi)*Di/2, (lw-list_lf[i])/2+3, cos (2*pi)*Di/2),), ((sin (pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*list_Da[i]/2),), ((sin (pi/2)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*(Di/2+1)),), ((sin (pi/2)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*Di/2),), ((sin (pi)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*list_Da[i]/2),), ((sin (pi)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*(Di/2+1)),), ((sin (pi)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*Di/2),), ((sin (3*pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*list_Da[i]/2),), ((sin (3*pi/2)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*(Di/2+1)),), ((sin (3*pi/2)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*Di/2),), ((sin (2*pi)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*list_Da[i]/2),), ((sin (2*pi)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*(Di/2+1)),), ((sin (2*pi)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*Di/2),),) nabe.Set(edges=Axialedge_N_PV_Kante, name='Axial_02_PV_Kanten') # radial Radialedge_N_PV_i = e_n.findAt(((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(Di/2+0.5)),), #erste PVfläche ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(Di/2+0.5)),), ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(Di/2+0.5)),), ((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(Di/2+0.5)),), #erste PVfläche ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(Di/2+0.5)),), ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(Di/2+0.5)),), ((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2, cos (pi/2)*(Di/2+0.5)),), #zweite PVfläche ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2, cos (pi)*(Di/2+0.5)),), ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2, cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2, cos (2*pi)*(Di/2+0.5)),), ((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (pi/2)*(Di/2+0.5)),), #zweite PVfläche ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (pi)*(Di/2+0.5)),), ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (2*pi)*(Di/2+0.5)),),) nabe.Set(edges=Radialedge_N_PV_i, name='Radial_01_PV_innen') Radialedge_N_PV_a = e_n.findAt(((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(list_Da[i]/2-1)),), #erste PVfläche ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(list_Da[i]/2-1)),), ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(list_Da[i]/2-1)),), ((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(list_Da[i]/2-1)),), #erste PVfläche ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(list_Da[i]/2-1)),), ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(list_Da[i]/2-1)),), ((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (pi/2)*(list_Da[i]/2-1)),), #zweite PVfläche ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (pi)*(list_Da[i]/2-1)),), ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (2*pi)*(list_Da[i]/2-1)),), ((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (pi/2)*(list_Da[i]/2-1)),), #zweite PVfläche ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (pi)*(list_Da[i]/2-1)),), ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (2*pi)*(list_Da[i]/2-1)),),) nabe.Set(edges=Radialedge_N_PV_a, name='Radial_02_PV_aussen') # Erstellen von Sets # Welle_innen if i > 0 and i < 5: welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle_innen) e_wi = welle_innen.edges Tangentialedge_Wi = e_wi.findAt(((sin (pi/4)*da_i/2, lw,cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i],cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, (lw-list_lf[i])/2+4,cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, (lw-list_lf[i])/2,cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, (lw-list_lf[i])/2-20,cos (pi/4)*da_i/2),), ((sin (pi/4)*da_i/2, 0,cos (pi/4)*da_i/2),), ((sin (pi/4)*(da_i/2-1), lw,cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+20,cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i],cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-4,cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), (lw-list_lf[i])/2+4,cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), (lw-list_lf[i])/2,cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), (lw-list_lf[i])/2-20,cos (pi/4)*(da_i/2-1)),), ((sin (pi/4)*(da_i/2-1), 0,cos (pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*da_i/2, lw,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, (lw-list_lf[i])/2+4,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, (lw-list_lf[i])/2,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, (lw-list_lf[i])/2-20,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*da_i/2, 0,cos (3*pi/4)*da_i/2),), ((sin (3*pi/4)*(da_i/2-1), lw,cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+20,cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-4,cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i],cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+4,cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), (lw-list_lf[i])/2,cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), (lw-list_lf[i])/2-20,cos (3*pi/4)*(da_i/2-1)),), ((sin (3*pi/4)*(da_i/2-1), 0,cos (3*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*da_i/2, lw,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, (lw-list_lf[i])/2+4,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, (lw-list_lf[i])/2,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, (lw-list_lf[i])/2-20,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*da_i/2, 0,cos (5*pi/4)*da_i/2),), ((sin (5*pi/4)*(da_i/2-1), lw,cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+20,cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i],cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-4,cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+4,cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), (lw-list_lf[i])/2,cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), (lw-list_lf[i])/2-20,cos (5*pi/4)*(da_i/2-1)),), ((sin (5*pi/4)*(da_i/2-1), 0,cos (5*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*da_i/2, lw,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, (lw-list_lf[i])/2+4,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, (lw-list_lf[i])/2,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, (lw-list_lf[i])/2-20,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*da_i/2, 0,cos (7*pi/4)*da_i/2),), ((sin (7*pi/4)*(da_i/2-1), lw,cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+20,cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i],cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-4,cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), (lw-list_lf[i])/2+4,cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), (lw-list_lf[i])/2,cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), (lw-list_lf[i])/2-20,cos (7*pi/4)*(da_i/2-1)),), ((sin (7*pi/4)*(da_i/2-1), 0,cos (7*pi/4)*(da_i/2-1)),),) welle_innen.Set(edges=Tangentialedge_Wi, name='Tangential_01') # axial Axialedge_Wi_Anfang = e_wi.findAt(((sin (pi/2)*da_i/2, lw-5, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, lw-5, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, lw-5, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, lw-5, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), lw-5, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), lw-5, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), lw-5, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), lw-5, cos (2*pi)*(da_i/2-1)),), ((0,lw-5,0),),) welle_innen.Set(edges=Axialedge_Wi_Anfang, name='Axial_01_Anfangsteil') Axialedge_Wi_Auslauf1 = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*(da_i/2-1)),), ((0,(lw-list_lf[i])/2+list_lf[i]+3,0),),) welle_innen.Set(edges=Axialedge_Wi_Auslauf1, name='Axial_02_Auslauf') Axialedge_Wi_Fuge_o = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (2*pi)*(da_i/2-1)),), ((0,(lw-list_lf[i])/2+list_lf[i]-2,0),),) welle_innen.Set(edges=Axialedge_Wi_Fuge_o, name='Axial_03_Fuge_oben') Axialedge_Wi_PV = e_wi.findAt(((sin (pi/2)*da_i/2, lw/2, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, lw/2, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, lw/2, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, lw/2, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), lw/2, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), lw/2, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), lw/2, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), lw/2, cos (2*pi)*(da_i/2-1)),), ((0,lw/2,0),),) welle_innen.Set(edges=Axialedge_Wi_PV, name='Axial_04_PV') Axialedge_Wi_Fuge_u = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2+2, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, (lw-list_lf[i])/2+2, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2+2, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2+2, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (2*pi)*(da_i/2-1)),), ((0, (lw-list_lf[i])/2+2,0),),) welle_innen.Set(edges=Axialedge_Wi_Fuge_u, name='Axial_05_Fuge_unten') Axialedge_Wi_Auslauf2 = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2-2, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, (lw-list_lf[i])/2-2, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2-2, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2-2, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2-2, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2-2, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2-2, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2-2, cos (2*pi)*(da_i/2-1)),), ((0, (lw-list_lf[i])/2-2,0),),) welle_innen.Set(edges=Axialedge_Wi_Auslauf2, name='Axial_06_Auslauf') Axialedge_Wi_Ende = e_wi.findAt(((sin (pi/2)*da_i/2, 5, cos (pi/2)*da_i/2),), ((sin (pi)*da_i/2, 5, cos (pi)*da_i/2),), ((sin (3*pi/2)*da_i/2, 5, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, 5, cos (2*pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), 5, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), 5, cos (pi)*(da_i/2-1)),), ((sin (3*pi/2)*(da_i/2-1), 5, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), 5, cos (2*pi)*(da_i/2-1)),), ((0,5,0),),) welle_innen.Set(edges=Axialedge_Wi_Ende, name='Axial_07_Endteil') # radial Radialedge_Wi_Anfang_a = e_wi.findAt(((sin (pi/2)*(da_i/2-0.5), lw, cos (pi/2)*(da_i/2-0.5)),), ((sin (pi)*(da_i/2-0.5), lw, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), lw, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), lw, cos (2*pi)*(da_i/2-0.5)),),) welle_innen.Set(edges=Radialedge_Wi_Anfang_a, name='Radial_00_Anfang_aussen') Radialedge_Wi_Anfang_i = e_wi.findAt(((sin (pi/2)*(da_i/2-4), lw, cos (pi/2)*(da_i/2-4)),), ((sin (pi)*(da_i/2-4), lw, cos (pi)*(da_i/2-4)),), ((sin (3*pi/2)*(da_i/2-4), lw, cos (3*pi/2)*(da_i/2-4)),), ((sin (2*pi)*(da_i/2-4), lw, cos (2*pi)*(da_i/2-4)),),) welle_innen.Set(edges=Radialedge_Wi_Anfang_i, name='Radial_01_Anfang_innen') Radialedge_Wi_PV_a = e_wi.findAt(((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi/2)*(da_i/2-0.5)),), #erste Anlauffläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (2*pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(da_i/2-0.5)),), #Fuge oben ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(da_i/2-0.5)),), #erste PVfläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (pi/2)*(da_i/2-0.5)),), #zweite PVfläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (2*pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (pi/2)*(da_i/2-0.5)),), #Fuge unten ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (2*pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (pi/2)*(da_i/2-0.5)),), #zweite Anlauffläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (2*pi)*(da_i/2-0.5)),),) welle_innen.Set(edges=Radialedge_Wi_PV_a, name='Radial_02_PV_aussen') Radialedge_Wi_PV_i = e_wi.findAt(((sin (pi/2)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi/2)*(da_i/2-3)),), #erste Anlauffläche ((sin (pi)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi)*(da_i/2-3)),), ((sin (3*pi/2)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (3*pi/2)*(da_i/2-3)),), ((sin (2*pi)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]+20, cos (2*pi)*(da_i/2-3)),), ((sin (pi/2)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(da_i/2-3)),), #Fuge oben ((sin (pi)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(da_i/2-3)),), ((sin (3*pi/2)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(da_i/2-3)),), ((sin (2*pi)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(da_i/2-3)),), ((sin (pi/2)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(da_i/2-3)),), #erste PVfläche ((sin (pi)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(da_i/2-3)),), ((sin (3*pi/2)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(da_i/2-3)),), ((sin (2*pi)*(da_i/2-3), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(da_i/2-3)),), ((sin (pi/2)*(da_i/2-3), (lw-list_lf[i])/2, cos (pi/2)*(da_i/2-3)),), #zweite PVfläche ((sin (pi)*(da_i/2-3), (lw-list_lf[i])/2, cos (pi)*(da_i/2-3)),), ((sin (3*pi/2)*(da_i/2-3), (lw-list_lf[i])/2, cos (3*pi/2)*(da_i/2-3)),), ((sin (2*pi)*(da_i/2-3), (lw-list_lf[i])/2, cos (2*pi)*(da_i/2-3)),), ((sin (pi/2)*(da_i/2-3), (lw-list_lf[i])/2+4, cos (pi/2)*(da_i/2-3)),), #Fuge unten ((sin (pi)*(da_i/2-3), (lw-list_lf[i])/2+4, cos (pi)*(da_i/2-3)),), ((sin (3*pi/2)*(da_i/2-3), (lw-list_lf[i])/2+4, cos (3*pi/2)*(da_i/2-3)),), ((sin (2*pi)*(da_i/2-3), (lw-list_lf[i])/2+4, cos (2*pi)*(da_i/2-3)),), ((sin (pi/2)*(da_i/2-3), (lw-list_lf[i])/2-20, cos (pi/2)*(da_i/2-3)),), #zweite Anlauffläche ((sin (pi)*(da_i/2-3), (lw-list_lf[i])/2-20, cos (pi)*(da_i/2-3)),), ((sin (3*pi/2)*(da_i/2-3), (lw-list_lf[i])/2-20, cos (3*pi/2)*(da_i/2-3)),), ((sin (2*pi)*(da_i/2-3), (lw-list_lf[i])/2-20, cos (2*pi)*(da_i/2-3)),),) welle_innen.Set(edges=Radialedge_Wi_PV_i, name='Radial_03_PV_innen') Radialedge_Wi_Ende_a = e_wi.findAt(((sin (pi/2)*(da_i/2-0.5), 0, cos (pi/2)*(da_i/2-0.5)),), ((sin (pi)*(da_i/2-0.5), 0, cos (pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), 0, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), 0, cos (2*pi)*(da_i/2-0.5)),),) welle_innen.Set(edges=Radialedge_Wi_Ende_a, name='Radial_04_Ende_aussen') Radialedge_Wi_Ende_i = e_wi.findAt(((sin (pi/2)*(da_i/2-4), 0, cos (pi/2)*(da_i/2-4)),), ((sin (pi)*(da_i/2-4), 0, cos (pi)*(da_i/2-4)),), ((sin (3*pi/2)*(da_i/2-4), 0, cos (3*pi/2)*(da_i/2-4)),), ((sin (2*pi)*(da_i/2-4), 0, cos (2*pi)*(da_i/2-4)),),) welle_innen.Set(edges=Radialedge_Wi_Ende_i, name='Radial_05_Ende_innen') #RP erzeugen # Referenzpunkt definieren wnv = mdb.models[Modell_Name[i]].rootAssembly wnv.ReferencePoint(point=(0.0, -1000.0+(lw-list_lf[i])/2, 0.0)) # Erzeugt Referenzpunkt mdb.models[Modell_Name[i]].rootAssembly.features.changeKey( fromName='RP-1', toName='RP-Welle') # Umbenennung wnv.ReferencePoint(point=(0.0, (lw-list_lf[i])/2+list_lf[i], 0.0)) mdb.models[Modell_Name[i]].rootAssembly.features.changeKey( fromName='RP-1', toName='RP-Nabe') if i > 0 and i < 5: wnv.ReferencePoint(point=(0.0, 0.0, 0.0)) mdb.models[Modell_Name[i]].rootAssembly.features.changeKey( fromName='RP-1', toName='RP-Welle_innen') #Set RP-Welle wnv = mdb.models[Modell_Name[i]].rootAssembly r1_w = wnv.referencePoints refPoints1=(wnv.referencePoints.findAt((0.0, -1000.0+(lw-list_lf[i])/2, 0.0)), ) wnv.Set(referencePoints=refPoints1, name='RP-Welle') #Set RP-Nabe wnv = mdb.models[Modell_Name[i]].rootAssembly r1_n = wnv.referencePoints refPoints2=(wnv.referencePoints.findAt((0.0, (lw-list_lf[i])/2+list_lf[i], 0.0)), ) wnv.Set(referencePoints=refPoints2, name='RP-Nabe') if i > 0 and i < 5: #Set RP-Welle innen wnv = mdb.models[Modell_Name[i]].rootAssembly r1_wi = wnv.referencePoints refPoints3=(wnv.referencePoints.findAt((0.0, 0.0, 0.0)), ) wnv.Set(referencePoints=refPoints3, name='RP-Welle_innen') #Zwangsbedingungen definieren # Welle wnv = mdb.models[Modell_Name[i]].rootAssembly region1=wnv.sets['RP-Welle'] wnv = mdb.models[Modell_Name[i]].rootAssembly region2=wnv.instances[Wellen_Name[i]].surfaces['Einspannung Welle'] mdb.models[Modell_Name[i]].Coupling(name='Welleneinspannung', controlPoint=region1, surface=region2, influenceRadius=WHOLE_SURFACE, couplingType=KINEMATIC, localCsys=None, u1=ON, u2=ON, u3=ON, ur1=ON, ur2=ON, ur3=ON) #Zwangsbedingungen definieren # Nabe wnv = mdb.models[Modell_Name[i]].rootAssembly region1=wnv.sets['RP-Nabe'] wnv = mdb.models[Modell_Name[i]].rootAssembly region2=wnv.instances[Naben_Name[i]].surfaces['Einspannung Nabe'] mdb.models[Modell_Name[i]].Coupling(name='Nabeneinspannung', controlPoint=region1, surface=region2, influenceRadius=WHOLE_SURFACE, couplingType=KINEMATIC, localCsys=None, u1=ON, u2=ON, u3=ON, ur1=ON, ur2=ON, ur3=ON) if i > 0 and i < 5: #Zwangsbedingungen definieren # innenliegende Welle wnv = mdb.models[Modell_Name[i]].rootAssembly region1=wnv.sets['RP-Welle_innen'] wnv = mdb.models[Modell_Name[i]].rootAssembly region2=wnv.instances[Welle_innen_Name[i]].surfaces['Einspannung Welle innen'] mdb.models[Modell_Name[i]].Coupling(name='Wellen_innen_Einspannung', controlPoint=region1, surface=region2, influenceRadius=WHOLE_SURFACE, couplingType=KINEMATIC, localCsys=None, u1=ON, u2=ON, u3=ON, ur1=ON, ur2=ON, ur3=ON) #Wechselwirkung definieren # Normales Verhalten mdb.models[Modell_Name[i]].ContactProperty('Normal') mdb.models[Modell_Name[i]].interactionProperties['Normal'].NormalBehavior( pressureOverclosure=HARD, allowSeparation=ON, contactStiffness=10000000.0, contactStiffnessScaleFactor=1.0, clearanceAtZeroContactPressure=0.0, stiffnessBehavior=LINEAR, constraintEnforcementMethod=PENALTY) # Wechselwirkung definieren # Normales & Tangentiales Verhalten mdb.models[Modell_Name[i]].ContactProperty( 'Normal_Tangential (my 0,2)') mdb.models[Modell_Name[i]].interactionProperties['Normal_Tangential (my 0,2)'].NormalBehavior( pressureOverclosure=HARD, allowSeparation=ON, contactStiffness=10000000.0, contactStiffnessScaleFactor=1.0, clearanceAtZeroContactPressure=0.0, stiffnessBehavior=LINEAR, constraintEnforcementMethod=PENALTY) mdb.models[Modell_Name[i]].interactionProperties['Normal_Tangential (my 0,2)'].TangentialBehavior( formulation=PENALTY, directionality=ISOTROPIC, slipRateDependency=OFF, pressureDependency=OFF, temperatureDependency=OFF, dependencies=0, table=((reibwert, ), ), shearStressLimit=None, maximumElasticSlip=ABSOLUTE_DISTANCE, absoluteDistance=0.0001, elasticSlipStiffness=None) # Wechselwirkung der Kontaktflächen definieren wnv = mdb.models[Modell_Name[i]].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=wnv) session.viewports['Viewport: 1'].assemblyDisplay.setValues( step='Querpressverbund') wnv = mdb.models[Modell_Name[i]].rootAssembly region1=wnv.instances[Naben_Name[i]].surfaces['Kontaktflaeche PV'] wnv = mdb.models[Modell_Name[i]].rootAssembly region2=wnv.instances[Wellen_Name[i]].surfaces['Kontaktflaeche PV'] mdb.models[Modell_Name[i]].SurfaceToSurfaceContactStd(name='PV', createStepName='Querpressverbund', master=region1, slave=region2, sliding=FINITE, thickness=ON, interactionProperty='Normal', interferenceType=UNIFORM, overclosure=-uebermass[i]/2, interferenceDirectionType=COMPUTED, amplitude=None, adjustMethod=NONE, initialClearance=OMIT, datumAxis=None, clearanceRegion=None) # Wechselwirkung der Kontaktflächen modifizieren wnv = mdb.models[Modell_Name[i]].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=wnv) session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Reibung') mdb.models[Modell_Name[i]].TabularAmplitude(name='Const', timeSpan=STEP, smooth=SOLVER_DEFAULT, data=((0.0, 1.0), (1.0, 1.0))) mdb.models[Modell_Name[i]].interactions['PV'].setValuesInStep( stepName='Reibung', interactionProperty='Normal_Tangential (my 0,2)') mdb.models[Modell_Name[i]].interactions['PV'].setValuesInStep( stepName='Reibung', interferenceType=UNIFORM, overclosure=-uebermass[i]/2, interferenceDirectionType=COMPUTED, amplitude='Const') if i > 0 and i < 5: # Wechselwirkung der Kontaktflächen innen definieren wnv = mdb.models[Modell_Name[i]].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=wnv) session.viewports['Viewport: 1'].assemblyDisplay.setValues( step='Querpressverbund') wnv = mdb.models[Modell_Name[i]].rootAssembly region1=wnv.instances[Wellen_Name[i]].surfaces['Kontaktflaeche Innen'] wnv = mdb.models[Modell_Name[i]].rootAssembly region2=wnv.instances[Welle_innen_Name[i]].surfaces['Kontaktflaeche'] mdb.models[Modell_Name[i]].SurfaceToSurfaceContactStd(name='PV innen', createStepName='Querpressverbund', master=region1, slave=region2, sliding=FINITE, thickness=ON, interactionProperty='Normal', interferenceType=UNIFORM, overclosure=-uebermass_wi[i]/2, interferenceDirectionType=COMPUTED, amplitude=None, adjustMethod=NONE, initialClearance=OMIT, datumAxis=None, clearanceRegion=None) # Wechselwirkung der Kontaktflächen innen modifizieren wnv = mdb.models[Modell_Name[i]].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=wnv) session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Reibung') mdb.models[Modell_Name[i]].interactions['PV innen'].setValuesInStep( stepName='Reibung', interactionProperty='Normal_Tangential (my 0,2)') mdb.models[Modell_Name[i]].interactions['PV innen'].setValuesInStep( stepName='Reibung', interferenceType=UNIFORM, overclosure=-uebermass_wi[i]/2, interferenceDirectionType=COMPUTED, amplitude='Const') # Randbedingung definieren # Feste Einspannung # Welle session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Initial') wnv = mdb.models[Modell_Name[i]].rootAssembly region = wnv.sets['RP-Welle'] mdb.models[Modell_Name[i]].DisplacementBC(name='Einspannung Welle', createStepName='Initial', region=region, u1=SET, u2=SET, u3=SET, ur1=SET, ur2=SET, ur3=SET, amplitude=UNSET, distributionType=UNIFORM, fieldName='', localCsys=None) # Randbedingung definieren # Feste Einspannung # Nabe wnv = mdb.models[Modell_Name[i]].rootAssembly region = wnv.sets['RP-Nabe'] mdb.models[Modell_Name[i]].EncastreBC(name='Einspannung Nabe', createStepName='Initial', region=region, localCsys=None) if i > 0 and i < 5: # Randbedingung definieren # Feste Einspannung # Welle session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Initial') wnv = mdb.models[Modell_Name[i]].rootAssembly region = wnv.sets['RP-Welle_innen'] mdb.models[Modell_Name[i]].DisplacementBC(name='Einspannung Welle innen', createStepName='Initial', region=region, u1=SET, u2=SET, u3=SET, ur1=SET, ur2=SET, ur3=SET, amplitude=UNSET, distributionType=UNIFORM, fieldName='', localCsys=None) # Netzerstellung # Welle allgemein welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] session.viewports['Viewport: 1'].setValues(displayedObject=welle) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues( meshTechnique=ON) session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues( referenceRepresentation=OFF) # Welle tangential if list_di[i] > 1: for t in range (96): welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] e_w = welle.edges welle.seedEdgeByNumber(edges=Tangentialedge_Welle[t], number=FU, constraint=FIXED) else: for t in range (64): welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] e_w = welle.edges welle.seedEdgeByNumber(edges=Tangentialedge_Welle[t], number=FU, constraint=FIXED) # Welle axial # nachfolgender Schritt notwendig damit die Netzverfeinerung auf jeder Edge in die richtige Richtung geht if list_di[i] > 1: Edge1 = e_w.findAt(((sin (pi/2)*(da/2-1), lw-5, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, lw-5, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, lw-5, cos (pi)*da/2),), ((sin (pi)*(da/2-1), lw-5, cos (pi)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, lw-5, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*list_di[i]/2, lw-5, cos (2*pi)*list_di[i]/2),),) Edge2 = e_w.findAt(((sin (pi/2)*da/2, lw-5, cos (pi/2)*da/2),), ((sin (pi)*list_di[i]/2, lw-5, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, lw-5, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), lw-5, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, lw-5, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), lw-5, cos (2*pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) else: Edge1 = e_w.findAt(((sin (pi/2)*(da/2-1), lw-5, cos (pi/2)*(da/2-1)),), ((0, lw-5, 0),), ((sin (pi)*da/2, lw-5, cos (pi)*da/2),), ((sin (pi)*(da/2-1), lw-5, cos (pi)*(da/2-1)),),) Edge2 = e_w.findAt(((sin (pi/2)*da/2, lw-5, cos (pi/2)*da/2),), ((sin (3*pi/2)*da/2, lw-5, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), lw-5, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, lw-5, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), lw-5, cos (2*pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) if list_di[i] > 1: Edge1 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*list_di[i]/2),),) Edge2 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*da/2),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=19.0, number=FU, constraint=FINER) else: Edge1 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*(da/2-1)),), ((0, (lw-list_lf[i])/2+list_lf[i]+3, 0),), ((sin (pi)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*(da/2-1)),),) Edge2 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*da/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=19.0, number=FU, constraint=FINER) if list_di[i] > 1: # Axial_03_Fuge oben Edge2 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*list_di[i]/2),),) Edge1 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*da/2),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) else: Edge2 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*(da/2-1)),), ((0, (lw-list_lf[i])/2+list_lf[i]-3, 0),), ((sin (pi)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*(da/2-1)),),) Edge1 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*da/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) welle.seedEdgeByBias(biasMethod=DOUBLE, endEdges=Axialedge_W_PV, ratio=19.0, number=VI, constraint=FIXED) # Axial_04_PV if list_di[i] > 1: Edge2 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+3, cos (pi/2)*da/2),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+3, cos (2*pi)*(da/2-1)),),) Edge1 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+3, cos (pi)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (2*pi)*list_di[i]/2),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_05_Fuge_unten end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) else: Edge2 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2+3, cos (pi/2)*da/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2+3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2+3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2+3, cos (2*pi)*(da/2-1)),),) Edge1 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2+3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2+3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2+3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2+3, cos (pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_05_Fuge_unten end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) if list_di[i] > 1: Edge1 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2-3, cos (pi/2)*da/2),), ((sin (pi)*list_di[i]/2, (lw-list_lf[i])/2-3, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2-3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2-3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2-3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2-3, cos (2*pi)*(da/2-1)),),) Edge2 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2-3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2-3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2-3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2-3, cos (pi)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, (lw-list_lf[i])/2-3, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*list_di[i]/2, (lw-list_lf[i])/2-3, cos (2*pi)*list_di[i]/2),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_06_Auslauf end2Edges=Edge2, ratio=19.0, number=FU, constraint=FINER) else: Edge1 = e_w.findAt(((sin (pi/2)*da/2, (lw-list_lf[i])/2-3, cos (pi/2)*da/2),), ((sin (3*pi/2)*da/2, (lw-list_lf[i])/2-3, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), (lw-list_lf[i])/2-3, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, (lw-list_lf[i])/2-3, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), (lw-list_lf[i])/2-3, cos (2*pi)*(da/2-1)),),) Edge2 = e_w.findAt(((sin (pi/2)*(da/2-1), (lw-list_lf[i])/2-3, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, (lw-list_lf[i])/2-3, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, (lw-list_lf[i])/2-3, cos (pi)*da/2),), ((sin (pi)*(da/2-1), (lw-list_lf[i])/2-3, cos (pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_06_Auslauf end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) if list_di[i] > 1: Edge1 = e_w.findAt(((sin (pi/2)*da/2, 2, cos (pi/2)*da/2),), ((sin (pi)*list_di[i]/2, 2, cos (pi)*list_di[i]/2),), ((sin (3*pi/2)*da/2, 2, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), 2, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, 2, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), 2, cos (2*pi)*(da/2-1)),),) Edge2 = e_w.findAt(((sin (pi/2)*(da/2-1), 2, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, 2, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, 2, cos (pi)*da/2),), ((sin (pi)*(da/2-1), 2, cos (pi)*(da/2-1)),), ((sin (3*pi/2)*list_di[i]/2, 2, cos (3*pi/2)*list_di[i]/2),), ((sin (2*pi)*list_di[i]/2, 2, cos (2*pi)*list_di[i]/2),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_07_Endteil end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) else: Edge1 = e_w.findAt(((sin (pi/2)*da/2, 2, cos (pi/2)*da/2),), ((sin (3*pi/2)*da/2, 2, cos (3*pi/2)*da/2),), ((sin (3*pi/2)*(da/2-1), 2, cos (3*pi/2)*(da/2-1)),), ((sin (2*pi)*da/2, 2, cos (2*pi)*da/2),), ((sin (2*pi)*(da/2-1), 2, cos (2*pi)*(da/2-1)),),) Edge2 = e_w.findAt(((sin (pi/2)*(da/2-1), 2, cos (pi/2)*(da/2-1)),), ((sin (pi/2)*list_di[i]/2, 2, cos (pi/2)*list_di[i]/2),), ((sin (pi)*da/2, 2, cos (pi)*da/2),), ((sin (pi)*(da/2-1), 2, cos (pi)*(da/2-1)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_07_Endteil end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) # radial welle.seedEdgeByNumber(edges=Radialedge_W_Anfang_a, number=EI, constraint=FIXED) # Radial_00_Anfang_aussen welle.seedEdgeByNumber(edges=Radialedge_W_Anfang_i, number=EI, constraint=FIXED) # Radial_01_Anfang_innen Edge1 = e_w.findAt(((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (2*pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2, cos (2*pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (2*pi)*(da/2-0.5)),), ((sin (3*pi/2)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (3*pi/2)*(da/2-0.5)),), ((sin (2*pi)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (2*pi)*(da/2-0.5)),),) Edge2 = e_w.findAt(((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi/2)*(da/2-0.5)),), #erste Anlauffläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(da/2-0.5)),), #Fuge oben ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(da/2-0.5)),), #erste PVfläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2, cos (pi/2)*(da/2-0.5)),), #zweite PVfläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2, cos (pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (pi/2)*(da/2-0.5)),), #Fuge unten ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2+4, cos (pi)*(da/2-0.5)),), ((sin (pi/2)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (pi/2)*(da/2-0.5)),), #zweite Anlauffläche ((sin (pi)*(da/2-0.5), (lw-list_lf[i])/2-20, cos (pi)*(da/2-0.5)),),) welle.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Radial_02_PV_aussen end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) welle.seedEdgeByNumber(edges=Radialedge_W_PV_i, number=DR, constraint=FIXED) # Radial_03_PV_innen welle.seedEdgeByNumber(edges=Radialedge_W_Ende_a, number=EI, constraint=FIXED) # Radial_04_Ende_aussen welle.seedEdgeByNumber(edges=Radialedge_W_Ende_i, number=EI, constraint=FIXED) # Radial_05_Ende_innen welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] welle.generateMesh() welle.generateMesh(seedConstraintOverride=ON) # Netzerstellung Nabe # #tangential nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] e_n = nabe.edges nabe.seedEdgeByNumber(edges=Tangentialedge_Nabe, number=FU, constraint=FIXED) #axial nabe.seedEdgeByBias(biasMethod=DOUBLE, endEdges=Axialedge_N_PV, ratio=19.0, number=VI, constraint=FIXED) # Axial_01_PV Edge1 = e_n.findAt(((sin (pi/2)*(Di/2+1), (lw-list_lf[i])/2+3, cos (pi/2)*(Di/2+1)),), ((sin (pi/2)*Di/2, (lw-list_lf[i])/2+3, cos (pi/2)*Di/2),), ((sin (pi)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (pi)*list_Da[i]/2),), ((sin (pi)*(Di/2+1), (lw-list_lf[i])/2+3, cos (pi)*(Di/2+1)),), ((sin (3*pi/2)*Di/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*Di/2),), ((sin (2*pi)*Di/2, (lw-list_lf[i])/2+3, cos (2*pi)*Di/2),), ((sin (pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*list_Da[i]/2),), ((sin (pi)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*Di/2),), ((sin (3*pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*list_Da[i]/2),), ((sin (3*pi/2)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*(Di/2+1)),), ((sin (2*pi)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*list_Da[i]/2),), ((sin (2*pi)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*(Di/2+1)),),) Edge2 = e_n.findAt(((sin (pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (pi/2)*list_Da[i]/2),), ((sin (pi)*Di/2, (lw-list_lf[i])/2+3, cos (pi)*Di/2),), ((sin (3*pi/2)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (3*pi/2)*list_Da[i]/2),), ((sin (3*pi/2)*(Di/2+1), (lw-list_lf[i])/2+3, cos (3*pi/2)*(Di/2+1)),), ((sin (2*pi)*list_Da[i]/2, (lw-list_lf[i])/2+3, cos (2*pi)*list_Da[i]/2),), ((sin (2*pi)*(Di/2+1), (lw-list_lf[i])/2+3, cos (2*pi)*(Di/2+1)),), ((sin (pi/2)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*(Di/2+1)),), ((sin (pi/2)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi/2)*Di/2),), ((sin (pi)*list_Da[i]/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*list_Da[i]/2),), ((sin (pi)*(Di/2+1), (lw-list_lf[i])/2+list_lf[i]-3, cos (pi)*(Di/2+1)),), ((sin (3*pi/2)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (3*pi/2)*Di/2),), ((sin (2*pi)*Di/2, (lw-list_lf[i])/2+list_lf[i]-3, cos (2*pi)*Di/2),),) nabe.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) #radial Edge1 = e_n.findAt(((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(Di/2+0.5)),), #erste PVfläche ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(Di/2+0.5)),), ((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(Di/2+0.5)),), #erste PVfläche ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(Di/2+0.5)),), ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2, cos (pi)*(Di/2+0.5)),), ((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (pi/2)*(Di/2+0.5)),), #zweite PVfläche ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (pi)*(Di/2+0.5)),),) Edge2 = e_n.findAt(((sin (pi/2)*(Di/2+0.5), (lw-list_lf[i])/2, cos (pi/2)*(Di/2+0.5)),), #zweite PVfläche ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2, cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2, cos (2*pi)*(Di/2+0.5)),), ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2+4, cos (2*pi)*(Di/2+0.5)),), ((sin (pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(Di/2+0.5)),), ((sin (3*pi/2)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(Di/2+0.5)),), ((sin (2*pi)*(Di/2+0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(Di/2+0.5)),),) nabe.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=9.0, number=ZW, constraint=FINER) Edge1 = e_n.findAt(((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(list_Da[i]/2-1)),), #erste PVfläche ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(list_Da[i]/2-1)),), ((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(list_Da[i]/2-1)),), #erste PVfläche ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(list_Da[i]/2-1)),), ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (pi)*(list_Da[i]/2-1)),), ((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (pi/2)*(list_Da[i]/2-1)),), #zweite PVfläche ((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (pi)*(list_Da[i]/2-1)),),) Edge2 = e_n.findAt(((sin (pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(list_Da[i]/2-1)),), ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(list_Da[i]/2-1)),), ((sin (pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (pi/2)*(list_Da[i]/2-1)),), #zweite PVfläche ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2, cos (2*pi)*(list_Da[i]/2-1)),), ((sin (3*pi/2)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (3*pi/2)*(list_Da[i]/2-1)),), ((sin (2*pi)*(list_Da[i]/2-1), (lw-list_lf[i])/2+4, cos (2*pi)*(list_Da[i]/2-1)),),) nabe.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) nabe = mdb.models[Modell_Name[i]].parts[Naben_Name[i]] nabe.generateMesh() # Netzerstellung innenliegende Welle # #tangential if i > 0 and i < 5: welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] e_wi = welle_innen.edges welle_innen.seedEdgeByNumber(edges=Tangentialedge_Wi, number=FU, constraint=FIXED) #axial Edge1 = e_wi.findAt(((sin (pi/2)*(da_i/2-1), lw-5, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*da_i/2, lw-5, cos (pi)*da_i/2),), ((sin (pi)*(da_i/2-1), lw-5, cos (pi)*(da_i/2-1)),), ((0, lw-5,0),),) Edge2 = e_wi.findAt(((sin (pi/2)*da_i/2, lw-5, cos (pi/2)*da_i/2),), ((sin (3*pi/2)*da_i/2, lw-5, cos (3*pi/2)*da_i/2),), ((sin (3*pi/2)*(da_i/2-1), lw-5, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*da_i/2, lw-5, cos (2*pi)*da_i/2),), ((sin (2*pi)*(da_i/2-1), lw-5, cos (2*pi)*(da_i/2-1)),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) # Axial_01_Anfangsteil Edge1 = e_wi.findAt(((sin (pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (pi)*(da_i/2-1)),), ((0,(lw-list_lf[i])/2+list_lf[i]+3,0),),) Edge2 = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (pi/2)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*da_i/2),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]+3, cos (2*pi)*(da_i/2-1)),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_02_Auslauf end2Edges=Edge2, ratio=19.0, number=FU, constraint=FINER) Edge1 = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (pi/2)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (2*pi)*da_i/2),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (2*pi)*(da_i/2-1)),),) Edge2 = e_wi.findAt(((sin (pi)*da_i/2, (lw-list_lf[i])/2+list_lf[i]-2, cos (pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2+list_lf[i]-2, cos (pi)*(da_i/2-1)),), ((0,(lw-list_lf[i])/2+list_lf[i]-2,0),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_03_Fuge_oben end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) welle_innen.seedEdgeByBias(biasMethod=DOUBLE, endEdges=Axialedge_Wi_PV, ratio=19.0, number=VI, constraint=FIXED) # Axial_04_PV Edge1 = e_wi.findAt(((sin (pi)*da_i/2, (lw-list_lf[i])/2+2, cos (pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (pi)*(da_i/2-1)),), ((0, (lw-list_lf[i])/2+2,0),),) Edge2 = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2+2, cos (pi/2)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2+2, cos (3*pi/2)*da_i/2),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2+2, cos (2*pi)*da_i/2),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2+2, cos (2*pi)*(da_i/2-1)),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_05_Fuge_unten end2Edges=Edge2, ratio=4.0, number=VI, constraint=FINER) Edge1 = e_wi.findAt(((sin (pi/2)*da_i/2, (lw-list_lf[i])/2-3, cos (pi/2)*da_i/2),), ((sin (3*pi/2)*da_i/2, (lw-list_lf[i])/2-3, cos (3*pi/2)*da_i/2),), ((sin (2*pi)*da_i/2, (lw-list_lf[i])/2-3, cos (2*pi)*da_i/2),), ((sin (3*pi/2)*(da_i/2-1), (lw-list_lf[i])/2-3, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*(da_i/2-1), (lw-list_lf[i])/2-3, cos (2*pi)*(da_i/2-1)),),) Edge2 = e_wi.findAt(((sin (pi)*da_i/2, (lw-list_lf[i])/2-3, cos (pi)*da_i/2),), ((sin (pi/2)*(da_i/2-1), (lw-list_lf[i])/2-3, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*(da_i/2-1), (lw-list_lf[i])/2-3, cos (pi)*(da_i/2-1)),), ((0,(lw-list_lf[i])/2-3,0),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Axial_06_Auslauf end2Edges=Edge2, ratio=19.0, number=FU, constraint=FINER) Edge1 = e_wi.findAt(((sin (pi/2)*(da_i/2-1), 5, cos (pi/2)*(da_i/2-1)),), ((sin (pi)*da_i/2, 5, cos (pi)*da_i/2),), ((sin (pi)*(da_i/2-1), 5, cos (pi)*(da_i/2-1)),), ((0, 5,0),),) Edge2 = e_wi.findAt(((sin (pi/2)*da_i/2, 5, cos (pi/2)*da_i/2),), ((sin (3*pi/2)*da_i/2, 5, cos (3*pi/2)*da_i/2),), ((sin (3*pi/2)*(da_i/2-1), 5, cos (3*pi/2)*(da_i/2-1)),), ((sin (2*pi)*da_i/2, 5, cos (2*pi)*da_i/2),), ((sin (2*pi)*(da_i/2-1), 5, cos (2*pi)*(da_i/2-1)),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, end2Edges=Edge2, ratio=4.0, number=ZW, constraint=FINER) # Axial_05_Endteil #radial welle_innen.seedEdgeByNumber(edges=Radialedge_Wi_Anfang_a, number=EI, constraint=FIXED) # Radial_00_Anfang_aussen welle_innen.seedEdgeByNumber(edges=Radialedge_Wi_Anfang_i, number=EI, constraint=FIXED) # Radial_01_Anfang_innen Edge1 = e_wi.findAt(((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (2*pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (2*pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (2*pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (2*pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (2*pi)*(da_i/2-0.5)),), ((sin (3*pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (3*pi/2)*(da_i/2-0.5)),), ((sin (2*pi)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (2*pi)*(da_i/2-0.5)),),) Edge2 = e_wi.findAt(((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi/2)*(da_i/2-0.5)),), #erste Anlauffläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]+20, cos (pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi/2)*(da_i/2-0.5)),), #Fuge oben ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i]-4, cos (pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi/2)*(da_i/2-0.5)),), #erste PVfläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+list_lf[i], cos (pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (pi/2)*(da_i/2-0.5)),), #zweite PVfläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2, cos (pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (pi/2)*(da_i/2-0.5)),), #Fuge unten ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2+4, cos (pi)*(da_i/2-0.5)),), ((sin (pi/2)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (pi/2)*(da_i/2-0.5)),), #zweite Anlauffläche ((sin (pi)*(da_i/2-0.5), (lw-list_lf[i])/2-20, cos (pi)*(da_i/2-0.5)),),) welle_innen.seedEdgeByBias(biasMethod=SINGLE, end1Edges=Edge1, # Radial_02_PV_aussen end2Edges=Edge2, ratio=1, number=EI, constraint=FINER) welle_innen.seedEdgeByNumber(edges=Radialedge_Wi_PV_i, number=EI, constraint=FINER) # Radial_03_PV_innen welle_innen.seedEdgeByNumber(edges=Radialedge_Wi_Ende_a, number=EI, constraint=FIXED) # Radial_04_Ende_aussen welle_innen.seedEdgeByNumber(edges=Radialedge_Wi_Ende_i, number=EI, constraint=FIXED) # Radial_05_Ende_innen welle_innen = mdb.models[Modell_Name[i]].parts[Welle_innen_Name[i]] welle_innen.generateMesh() welle_innen.generateMesh(seedConstraintOverride=ON) # Field Output mdb.models[Modell_Name[i]].fieldOutputRequests['F-Output-1'].setValues( variables=('S', 'MISES', 'MISESMAX', 'E', 'EE', 'U', 'RF', 'CF', 'CSTRESS', 'CDISP'), frequency=LAST_INCREMENT) #mdb.models[Modell_Name[i]].historyOutputRequests['H-Output-1'].setValues( # variables=('CSTRESS', ), frequency=LAST_INCREMENT) # Node Sets # Wellenoberfläche session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) wnv = mdb.models[Modell_Name[i]].rootAssembly n_wnv = wnv.instances[Wellen_Name[i]].nodes nodes_axial = n_wnv.getByBoundingBox(-0.1,2*da-20,da/2-0.01,0.1,2*da+list_lf[i]+20,da/2+0.01) nodes_axial_start = n_wnv.getByBoundingBox(-0.1,2*da-20-0.01,da/2-0.01,0.1,2*da-20+0.01,da/2+0.01) wnv.Set(nodes=nodes_axial, name='Wellenoberflaeche_axial') wnv.Set(nodes=nodes_axial_start, name='Wellenoberflaeche_axial_Startpunkt') session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) # Node Sets # Wellenoberfläche-1 session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] n_w = welle.nodes nodes = n_w.getByBoundingBox(-0.1,2*da-20,da/2-1.01,0.1,2*da+list_lf[i]+20,da/2-0.99) welle.Set(nodes=nodes, name='Wellenoberflaeche-1_axial') session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) # Node Sets # Wellenoberfläche_radial_unten session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] n_w = welle.nodes nodes = n_w.getByBoundingBox(-0.01,2*da-0.00001,-da/2.01,0.01,2*da+0.00001,da/2) welle.Set(nodes=nodes, name='Wellenoberflaeche_radial_unten') session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) # Node Sets # Wellenoberfläche_radial_oben session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) welle = mdb.models[Modell_Name[i]].parts[Wellen_Name[i]] n_w = welle.nodes nodes = n_w.getByBoundingBox(-0.01,2*da+list_lf[i]-0.00001,-da/2.01,0.01,2*da+list_lf[i]+0.00001,da/2) welle.Set(nodes=nodes, name='Wellenoberflaeche_radial_oben') session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) # Job erzeugen # wnv = mdb.models[Modell_Name[i]].rootAssembly wnv.regenerate() wnv = mdb.models[Modell_Name[i]].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=wnv) session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues( meshTechnique=OFF) mdb.Job(name=Modell_Name[i], model=Modell_Name[i], description='', type=ANALYSIS, atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90, memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True, explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF, modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='', scratch='', resultsFormat=ODB, multiprocessingMode=DEFAULT, numCpus=1, numGPUs=0) #Arbeitsverzeichnis wechseln os.chdir('C:/temp/V-A_B1') # Wechsel os.getcwd() # Anzeige welches Arbeitsverzeichnis mdb.jobs[Modell_Name[i]].writeInput(consistencyChecking=OFF) mdb.jobs[Modell_Name[i]].submit(consistencyChecking=OFF) mdb.jobs[Modell_Name[i]].waitForCompletion() mdb.saveAs(pathName='C:/temp/V-A_B1/V-A_B1') # Speichert CAE-Datei, Letzte Pfad bezeichnung= Name der CAE-Datei o3 = session.openOdb(name='C:/temp/V-A_B1/WNV_A_FE_40_07_08_11_75.odb') session.viewports['Viewport: 1'].setValues(displayedObject=o3) session.viewports['Viewport: 1'].makeCurrent() session.mdbData.summary() session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=( CONTOURS_ON_UNDEF, )) #Paths erzeugen session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) set_nodes = 'Wellenoberflaeche_axial' set_startnode = 'Wellenoberflaeche_axial_Startpunkt' pathname = 'Wellenoberflaeche' dict_nodes = {} list_nodes = [] set_nodes = set_nodes.upper() set_startnode = set_startnode.upper() vps = session.viewports.values()[0] odbName = vps.displayedObject.name odb = session.odbs[odbName] instancename = odb.rootAssembly.nodeSets[set_startnode].nodes[0][0].instanceName coord_point = odb.rootAssembly.nodeSets[set_startnode].nodes[0][0].coordinates for node in odb.rootAssembly.nodeSets[set_nodes].nodes[0]: dist = sqrt((pow(node.coordinates[0]-coord_point[0],2))+ \ (pow(node.coordinates[1]-coord_point[1],2))+ \ (pow(node.coordinates[2]-coord_point[2],2))) dict_nodes[dist] = node.label x = dict_nodes.keys() x.sort() for y in x: list_nodes.append(dict_nodes[y]) list_nodes = tuple(list_nodes) session.Path(name=pathname, type=NODE_LIST, expression=((instancename, (list_nodes)), ))