!Einheiten mm, s, kg, N !Leeren der Datenbasis finish /clear,start ! Start Preprozessor************************************************************************************************* /prep7 !Parameters *afun,rad !Einstellung auf Bogenmaß dicke=6 !Blechdicke b1=120 !Breite b=b1-dicke !Breite Mittellinienmodell h1=b1 !Höhe h=b !Höhe Mittellinienmodell laenge=2770 !geom. Länge der Stütze (L_cr-150mm) ne=laenge/10 !Ebenenanzahl in z-Richtung pi=acos(-1) !Definition Pi el_x=16 !Elementanzahl in x-Richtung el_y=16 !Elementanzahl in y-Richtung geom=1000 !Nenner der geom. Imperfektion ES=529 !maximale Zugeigenspannung !!!!!!!!Modifizieren je nach fy Sigma_cr=70-21*dicke+dicke**2-(2900-290*(dicke-5))*(b1/dicke)**(-1) !maximale Druckeigenspannung (für dicke>5, sonst 3600 statt 290 einsetzen) *if,sigma_cr,lt,-200,then !RB, dass Druck-ES maximal -200N/mm² sein dürfen DES=-200 *else DES=Sigma_cr *endif !Material MPTEMP,1,0.0 !Temperatur = 0.0 MPDATA,EX,1,,210000 ! Definiere E-Modul MPDATA,EY,1,,210000 ! Definiere E-Modul MPDATA,EZ,1,,210000 ! Definiere E-Modul MPDATA,PRXY,1,,0.3 ! Definiere Querdehnungszahl MPDATA,PRYZ,1,,0.3 ! Definiere Querdehnungszahl MPDATA,PRXZ,1,,0.3 ! Definiere Querdehnungszahl TB,PLASTIC,1,1,27,MISO ! Aktiviere TB,PLASTIC Dateneingabe TBTEMP,0.0 ! Temperatur = 0.0 !TBPT,DEFI,0.0000,421 TBPT,DEFI,0.0000,529 !Dehnung auf 0.0000 statt 0.0025 TBPT,DEFI,0.0080,530 TBPT,DEFI,0.0180,534 TBPT,DEFI,0.0280,568 TBPT,DEFI,0.0380,593 TBPT,DEFI,0.0480,614 TBPT,DEFI,0.0580,631 TBPT,DEFI,0.0680,645 TBPT,DEFI,0.0780,657 TBPT,DEFI,0.0880,667 TBPT,DEFI,0.0980,676 TBPT,DEFI,0.1080,685 TBPT,DEFI,0.1180,692 TBPT,DEFI,0.1238,697 TBPT,DEFI,0.1480,721 TBPT,DEFI,0.1730,742 TBPT,DEFI,0.1980,761 TBPT,DEFI,0.2480,794 TBPT,DEFI,0.2980,822 TBPT,DEFI,0.3480,847 TBPT,DEFI,0.3980,868 TBPT,DEFI,0.4980,906 TBPT,DEFI,0.5980,938 TBPT,DEFI,0.6980,966 TBPT,DEFI,0.7980,991 TBPT,DEFI,0.8980,1013 TBPT,DEFI,0.9980,1034 !Elements et,1,shell181 sectype,,shell secdata,dicke keyopt,1,3,2 keyopt,1,8,2 keyopt,1,11,1 et,2,mass21 r,1,0.0000000001 !et,3,mpc184 !keyop,3,1,1 !type,3 !create Masterknoten type,2 !Masseelement k,1,b/2,h/2,-75 n,1,b/2,h/2,-75 e,1 k,2,b/2,h/2,laenge+75 n,2,b/2,h/2,laenge+75 e,2 !create Keypoints *do,i,0,laenge,laenge/ne !Schleife für Erstellung der geom. imp. Knoten Unterseite z=i z0=i*ne/laenge/ne y=laenge/geom*sin(pi*z0) !geometrische Imperfektion in Sinusfunktion mit L/1000 in Stützenmitte *do,j,0,1,1 !Unterschleife für x-Koordinate x=j*b k,m,x,y,z !Generierung der Knoten *enddo *enddo *do,i,0,laenge,laenge/ne !Schleife für Erstellung der geom. imp. Knoten Oberseite z=i z0=i*ne/laenge/ne y=laenge/geom*sin(pi*z0)+h *do,j,0,1,1 x=j*b k,m,x,y,z !Generierung der Knoten *enddo *enddo type,1 !Schalenenelement !Create areas; immer im/gegen mathematischen Drehsinn k1=2*(ne+1)*0+3 !Variable für Keypoint-Wahl !2(ne+1): Anzahl erstellte Knoten pro Blech !*0:Anzahl Bleche, an denen vor diesem Befehl Flächen erzeugt wurden !+3: erste 2 Knoten als Masterknoten erstellt --> Flächenerstellung startet bei Knoten 3 *do,i,0,ne-1,1 !unten a,k1,k1+1,k1+3,k1+2 !Erstellung Fläche mit 4 Knoten in richtiger Reihenfolge (in math. Drehsinn) k1=k1+2 !Neudefinition der Variable für nächsten Schleifendurchlauf *enddo k2=2*(ne+1)*1+3 !Variable für Keypoint-Wahl *do,i,0,ne-1,1 !oben a,k2,k2+1,k2+3,k2+2 k2=k2+2 *enddo k3=2*(ne+1)*0+3 !Variable für Keypoint-Wahl *do,i,0,ne-1,1 !Seite1 a,k3,k3+2,k3+2*(ne+1)+2,k3+2*(ne+1) k3=k3+2 *enddo k4=2*(ne+1)*0+4 !Variable für Keypoint-Wahl *do,i,0,ne-1,1 !Seite2 a,k4,k4+2,k4+2*(ne+1)+2,k4+2*(ne+1) k4=k4+2 *enddo !Divide lines for mesh size lsel,s,length,,b !Teilen der Linien lesize,all,,,el_x lsel,s,length,,h !Teilen der Linien lesize,all,,,el_y !Meshing smrtsize,10 amesh,all !Connect Master with Slave nsel,s,loc,z,-75,0 cerig,1,all,all !Constraint equation zwischen Master1 und erster QS-Ebene: Translationen allsel nsel,s,loc,z,laenge,laenge+75 cerig,2,all,all !Constraint equation zwischen Master2 und letzter QS-Ebene: Translationen allsel !Start Solution************************************************************************************************** /solu antype,0 !Festlegung Analysetyp statisch NLGEOM,ON PRED,ON eqslv,sparse !Festlegung des Solvers solcontrol,on nropt,unsym,,on !Newton-Raphson-Methode ! lnsrch,off !Für Newton-Raphson-Solver ! neqit,40 !maximale Iterationsanzahl pro Substep !DOF constraints D,1,ux !Knoten 1 (festes Auflager) D,1,uy D,1,uz D,1,roty D,1,rotz D,2,ux !Knoten 2 (bewegliches Auflager) D,2,uy D,2,roty D,2,rotz NSUBST,100,10000,50 D,2,uz,-12 !Verschiebung des Knotens 2 nach unten, an Stützenlänge anpassen !Apply initial stresses inistate,set,csys,-2 !Inistate-Koordinatensystem auf Element-Koordinatensystem umgestellt inistate,set,dtyp,stre !Inistate-Datentyp auf Spannung eingestellt *if,-12*DES/4,gt,ES,then !Damit Zugeigenspannungen nicht zu hoch werden ES1=ES *else ES1=-12*DES/4 *endif *if,ES1,eq,ES,then !Damit Spannungsgleichgewicht bleibt DES1=-4*ES/12 *else DES1=DES *endif *do,i,0,4*ne-1,1 !ES in z-Richtung für äußerste Felder; so nur möglich, wenn el_x = el_y!!! j=3+el_x*i !j = variierende Elementnummer des ersten Elements in einer Reihe inistate,defi,j,,,,ES1 !ES-Definition an Element j in Größe ES in z-Richtung *enddo *do,i,1,4*ne,1 j=2+el_x*i !j = variierende Elementnummer des letzen Elements in einer Reihe inistate,defi,j,,,,ES1 *enddo *do,i,0,4*ne-1,1 !ES in z-Richtung für zweitäußerste Felder; so nur möglich, wenn el_x = el_y!!! j=4+el_x*i !j = variierende Elementnummer des zweiten Elements in einer Reihe inistate,defi,j,,,,ES1 *enddo *do,i,1,4*ne,1 !j = variierende Elementnummer des vorletzen Elements in einer Reihe j=1+el_x*i inistate,defi,j,,,,ES1 *enddo *do,i,0,4*ne-1,1 !Druck-ES in z-Richtung für mittlere Felder; so nur möglich, wenn el_x = el_y!!! o=2+3+el_x*i !Erstes Element jeder Reihe, welches mit Druck belastet wird *do,j,0,el_x-4-1,1 !nur möglich wenn el_x = el_y inistate,defi,o+j,,,,DES1 *enddo *enddo outres,all,all solve finish