| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: APDL Schleife, Auswerten einer Summe von Knoten, Mittelwert (2386 mal gelesen)
|
veitweight Mitglied Student
Beiträge: 23 Registriert: 28.04.2015
|
erstellt am: 12. Mai. 2015 12:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Miteinander, ich muss aktuell meine schon erstelle APDL Schleife etwas erweitern. Das Ziel ist, entlang eines Bauteils alle 10 mm entlang der X-Koordinate in einem bestimmten Bereich des Bauteils die X-Spannung der Knoten auszuwerten. Ich bin leider immer noch blutiger Anfänger im APDL Coding und hoffe, dass ihr mir ein paar gute Tips geben könnt. Es handelt sich um eine Doppelschleife. Die erste gibt die x-Koordinate vor, die zweite soll die Spannungen auslesen und den Mittelwert bilden. Hier der aktuelle Code: allsel /POST1 NSEL,S,LOC,Z,0, 2.5 NSEL,R,LOC,Y,0,7.5
!Schleife 1**************Selektierung der Knoten, abschnittsweise alle 10 mm entlang der X-Koordinate********* *SET, NNEXT_big, 0 *SET, SCHLEIFE_1, 0 !****sollte ich hier nicht die auszugebende Tabelle bestimmen?***************** *DIM, MITTELWERT, ARRAY, 22, 2 !2 Spalten, 22 Abschnitte *do, SCHLEIFE_1, 0, 22, 1 !****Wie schreibe ich die Auswahl alle 10mm in eine do-Schleife?************** NSEL,R,LOC,X,i,i+0.5 !Selektierung der Knoten von x=0..0,5. dies soll eigentlich alle 10 mm geschehen (x=0...0,5 ; 10...10,5 ; 20...20,5 usw)und sollte in eine Schleife eingebaut werden esln,s,0 nsle,u,mid
!Schleife 2*******Summierung der Knoten des Abschnitts und Berechnung der durchschnittlichen X-Spannung und - Koordinate***********
*GET, NCOUNT, NODE, 0, COUNT *SET, NNEXT, 0 *SET, SCHLEIFE_2, 0 !*******DIM, RESULTS_Face, ARRAY, NCOUNT, 2***** /DSCALE,ALL,OFF /EFACET,2 *DO, SCHLEIFE_2, 1, NCOUNT, 1 *GET, NNEXT, NODE, NNEXT, NXTH *GET, RESULTS_Abschnitt(SCHLEIFE_2,1), NODE, NNEXT,LOC,X !summierung der x-Koordinaten************************ loc_sum=loc_sum+RESULTS_Abschnitt(SCHLEIFE_2,1) *GET, RESULTS_Abschnitt(SCHLEIFE_2,2), NODE, NNEXT,s,x !summierung der x-Spannungen************************* stress_sum=stress_sum+RESULTS_Abschnitt(SCHLEIFE_2,2) *ENDDO, !enddo schleife 2 !******mittelwertbildung beider RESULTS******************** MITTELWERT(1,1)=loc_sum/NCOUNT MITTELWERT(1,2)=stress_sum/NCOUNT *ENDDO, !enddo schleife 1 !************************************************* *CFOPEN,D:\studie1\Strang,txt *VWRITE, ('X Sxx') *VWRITE,MITTELWERT(1,1), MITTELWERT(1,2), (F17.9,' ',F17.9) *CFCLOS [Diese Nachricht wurde von veitweight am 12. Mai. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
veitweight Mitglied Student
Beiträge: 23 Registriert: 28.04.2015
|
erstellt am: 12. Mai. 2015 17:59 <-- editieren / zitieren --> Unities abgeben:
Mir geht es vor allem um die meines Erachtens einfache Beschreibung der Zählung der x-Koorsinate: *do, SCHLEIFE_1, 0, 22, 1 !****Wie schreibe ich die Auswahl alle 10mm in eine do-Schleife? Maximale Koordinate x=220************** NSEL,R,LOC,X,i,i+0.5 !Selektierung der Knoten von x=0..0,5. dies soll eigentlich alle 10 mm geschehen (x=0...0,5 ; 10...10,5 ; 20...20,5 usw)und sollte in eine Schleife eingebaut werden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
veitweight Mitglied Student
Beiträge: 23 Registriert: 28.04.2015
|
erstellt am: 17. Mai. 2015 13:50 <-- editieren / zitieren --> Unities abgeben:
Ein Update von mir: Mein Makro sollte eigentlich soweit funktionieren, jemand auf Arbeit half mir dabei. Ich habe jedoch noch ein Problem: Beim Schreiben der Spannungswerte bekomme ich einige 0 Werte mit in mein Array hinein, sodass das spätere Erstellen der Mittelwerte zu falschen Ergebnissen führt. Anbei 2 Screenshots, welche erstens die 0 Werte im Array "Results_Abschnitt" zeigen, sowie eine Ausgabe der Spannungen der ausgewählten Knoten, welche durchgängig die richtige x-Spannung von 1149 ausgeben. Kann es an den quadratischen Elementen liegen? allsel /POST1 anzahl_x=20 LT=164 *CFOPEN,D:\studie1\Strang,txt !Schleife 1**************Selektierung der Knoten, abschnittsweise alle 10 mm entlang der X-Koordinate********* *SET, SCHLEIFE_1, 0 *dim, sigx,array,anzahl_x,3 *dim, RESULTS_Abschnitt,array,400,2 Summe_1 =0 Summe_2 =0 *do, SCHLEIFE_1, 1, anzahl_x, 1 ALLSEL NSEL,S,LOC,Z,0,2.5 NSEL,R,LOC,Y,0,7.5 SUMME_1=(SCHLEIFE_1-1)*(LT)/(anzahl_x-1)-0.25 SUMME_2=SUMME_1+0.5 NSEL,R,LOC,X,SUMME_1,SUMME_2 sigx(SCHLEIFE_1,1)=(SCHLEIFE_1-1)*(LT)/(anzahl_x-1) loc_sum=0 stress_sum=0 *GET, NCOUNT, NODE, 0, COUNT NNEXT=0 *do, kk, 1, NCOUNT, 1 !Aufsummieren der Spannungen *GET, NNEXT, NODE, NNEXT, NXTH *GET, RESULTS_Abschnitt(kk,1), NODE, NNEXT,LOC,X !summierung der x-Koordinaten***************** loc_sum=loc_sum+RESULTS_Abschnitt(kk,1) *GET, RESULTS_Abschnitt(kk,2), NODE, NNEXT,s,x !summierung der x-Spannungen*************** stress_sum=stress_sum+RESULTS_Abschnitt(kk,2) *ENDDO, !enddo Schleife 2 sigx(SCHLEIFE_1,2)= loc_sum/NCOUNT sigx(SCHLEIFE_1,3)= stress_sum/NCOUNT *ENDDO, !enddo schleife 1 *VWRITE, ('X-Loc true x-loc Sxx') *VWRITE,sigx(1,1),sigx(1,2),sigx(1,3), (F17.9,' ',F17.9,' ',F17.9) [Diese Nachricht wurde von veitweight am 17. Mai. 2015 editiert.]
[Diese Nachricht wurde von veitweight am 17. Mai. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|