RefKoordZyl=ARG1 !Zylindrisches Koordinatensystem im Mittelpunkt aller !in diesem Makro bearbeiteten Flächen. l_num=Arg2 !Laufindex der Komponenten anz_kugeln=Arg3 !Anzahl der Kugeln steifigkeit =ARG5 !mittlere Steifigkeit einer Kugel !gap_1=-ARG4 gap_1=ARG4 status_1=3 *AFUN,Deg !Winkelfunktionen auf Grad einstellen. /prep7 *get,r_max,active,,real !abfrage der aktuellen real Nummer r_max=r_max+1 real,r_max !Festlegen der Realnummer *get,etmax,etype,,num,max !Festlegen des Elementtypnummer et,etmax+1,178 keyopt,etmax+1,1,0 keyopt,etmax+1,2,1 !Festlegen der Kontaktformulierung 0=AL 1=PP !3=NL-TP !um korrekte Steifigkeit widerzugeben nur Pure Penalty !zulässig keyopt,etmax+1,3,3 keyopt,etmax+1,4,1 r,r_max,-steifigkeit,gap_1,status_1 !Für direktes Festlegen der Lagerluft !Keyopt 4 auf 1 umstellen und für !gap = +ARG4 verwenden !Damit Arg4 auch nicht mehr Kugeldurchmesser !sondern Lagerluft type,etmax+1 !------------------------------------------------------------------------ !Knoten einschränken und in Sets schreiben. cmsel,s,lager_innen_%l_num% esln esel,u,ename,,170 esel,u,ename,,174 esel,u,ename,,14 !Mittelknoten herauswerfen nsle,r,corner cm,lager_innen_tmp,node cmsel,s,lager_aussen_%l_num% esln !Mittelknoten herauswerfen esel,u,ename,,170 esel,u,ename,,174 esel,u,ename,,14 nsle,r,corner cm,lager_aussen_tmp,node CSYS,RefKoordZyl !Koordinaten zur Berechnung der Mittelwerte einlesen cmsel,s,lager_innen_tmp *get,min_winkel,node,,mnloc,y nsel,r,loc,y,min_winkel,min_winkel *get,l_i_z_max,node,,mxloc,z *get,l_i_z_min,node,,mnloc,z *get,l_i_x_max,node,,mxloc,x *get,l_i_x_min,node,,mnloc,x *get,nknoten_lager_innen,node,,count cmsel,s,lager_aussen_tmp *get,min_winkel,node,,mnloc,y nsel,r,loc,y,min_winkel,min_winkel *get,l_a_z_max,node,,mxloc,z *get,l_a_z_min,node,,mnloc,z *get,l_a_x_max,node,,mxloc,x *get,l_a_x_min,node,,mnloc,x *get,nknoten_lager_ausen,node,,count vpx=(l_i_x_max+l_i_x_min+l_a_x_max+l_a_x_min)/4 !vpx = Radius des Mittelpunkts der Kugeln vpz=(l_i_z_max+l_i_z_min+l_a_z_max+l_a_z_min)/4 !vpz = Höhe des Mittelpunkts der Kugeln *get,maxknoten,node,,num,maxd n,maxknoten+1,0,0,vpz n,maxknoten+2,vpx,0,vpz n,maxknoten+3,vpx,90,vpz *get,maxcs,cdsy,0,num,max cs,maxcs+1,3,maxknoten+1,maxknoten+2,maxknoten+3,vpx !Erstellen eines torischen Koordinatensystems CSYS,RefKoordZyl !----------------------------------------------------------------------------------------------- cmsel,s,lager_innen_tmp *get,anz_knoten,node,,count jump=anz_knoten/anz_kugeln/nknoten_lager_innen *do,i,1,anz_kugeln,1 !Schleife für jede Kugel *do,ii,1,nknoten_lager_innen !Für jeden Knoten cmsel,s,lager_innen_tmp !des inneren Lagerrings *get,min_winkel,node,,mnloc,y nsel,r,loc,y,min_winkel,min_winkel n1=ndnext(0) !Auswählen des Knotens mit CSYS,maxcs+1 !der niedrigsten Knotennummer *get,n1R,node,n1,loc,x !torische Koordinaten abfragen *get,n1Rho,node,n1,loc,y *get,n1Phi,node,n1,loc,z CSYS,RefKoordZyl cmsel,s,lager_innen_tmp nsel,u,,,n1 !Knoten aus Set entfernen cm,lager_innen_tmp,node cmsel,s,lager_aussen_tmp nsel,r,loc,y,min_winkel,min_winkel CSYS,maxcs+1 n2=node(n1R,n1Rho,n1Phi+180) !gegenüberliegenden Knoten CSYS,RefKoordZyl !auswählen cmsel,s,lager_aussen_tmp nsel,u,,,n2 !Knoten aus Set entfernen cm,lager_ausen_tmp,node e,n1,n2 !Element erzeugen *enddo *do,iii,1,jump-1,1 !zu überspringende Knotenreihen cmsel,s,lager_innen_tmp !aus Set entfernen *get,min_winkel,node,,mnloc,y nsel,u,loc,y,min_winkel,min_winkel cm,lager_innen_tmp,node *enddo *enddo ndele,maxknoten+1,maxknoten+3 !Löschen der Stützpunkte des torischen !Koordinatensystems csdele,maxcs+1 !Löschen des Koordinatensystems alls CSYS,0 !Rücksetzen der Einstellungen /solu