| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: mehrere *do Schleifen verschachteln (2368 mal gelesen)
|
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 02. Nov. 2011 18:39 <-- editieren / zitieren --> Unities abgeben:
Ist es möglich in einer *do schleife noch ne *do schleife zu setzen. Ich habe es probiert aber es läuft nicht so ganz rund. Es geht darum den Mittelpunktsknoten über Link ELemente mit mehreren am Umfang verlaufenden Knoten zu verbinden (das klappt auch) und zusätzlich das ganze dann immer weiter Richtung z zu verschieben (klappt nicht). So hab ichs gemacht. *do,i,0,19,1 csys,20 clocal,21,1,,,12.25*i *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,359+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,max e,300001+i,knoten1 *enddo clocal,22,1,,,,180 *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,358+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,max e,300001i,knoten1 *enddo *enddo [Diese Nachricht wurde von batzen83 am 03. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 00:37 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
|
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 09:09 <-- editieren / zitieren --> Unities abgeben:
|
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 09:59 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
|
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 11:03 <-- editieren / zitieren --> Unities abgeben:
|
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
|
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 12:08 <-- editieren / zitieren --> Unities abgeben:
Nein es gibt keine Fehlermeldung, sondern Ansys setzt zu viele Link-Elemente. Es werden auch die Elemente aus der Elementreihe davor mit dem selektierten Mittelknoten verbunden. Schau mal ins Bild. Habe die Schleife mal schrittweise händisch abgearbeitet und da hat es funktioniert. [Diese Nachricht wurde von batzen83 am 03. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Achim007 Mitglied Dipl. Ing. (FH)
Beiträge: 734 Registriert: 23.09.2008 Workbench 2.0 ANSYS15.0 Mechanical DesignModeler
|
erstellt am: 03. Nov. 2011 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
|
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 12:57 <-- editieren / zitieren --> Unities abgeben:
Ich hoffe man erkennt es. Die Knoten am Umfang und der Mittelpunktsknoten liegen auf einer z-Koordinate. Diese Mittelpunkt mit allen am Umfang liegeneden Knoten über Link verbinden und dann eine Elementreihe weiter und wieder alle am Umfang mit Mittelpunktsknoten verbinden usw. Das oben erstellte Bild habe ich nun mit dieser Schleife gebildet. Die Verschiebung auf der z-Achse möchte ich auch noch in ne Shcleife packen. Sonst müsste ich das unten stehende 20 mal wiederholen. csys,20 *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,358+winkel nsel,u,loc,z,1,1000 *get,knoten1,node,,num,max e,200000,knoten1 *enddo clocal,21,1,,,,180 csys,21 *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,358+winkel nsel,u,loc,z,1,1000 *get,knoten1,node,,num,max e,200000,knoten1 *enddo csys,20 clocal,21,1,,,12.25 *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,359+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,max e,200001,knoten1 *enddo
clocal,22,1,,,,180 *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,358+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,max e,200001,knoten1 *enddo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
Ich schlage mal folgendes vor: Code: *do,i,0,19,1csys,20 clocal,21,1,,,12.25*i *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,359+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,max e,300000+2*i,knoten1 *enddo clocal,22,1,,,,180 *do,winkel,0,360,0.5 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,359+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,max e,300001+2*i,knoten1 *enddo *enddo
[Diese Nachricht wurde von ChristophN am 03. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 14:17 <-- editieren / zitieren --> Unities abgeben:
Hey Christoph, nee das funktioniert nicht. So wird dann ja immer jeder 2. Knoten selketiert, so dass die Verschiebung noch größer wird. Ich glaube ich muss in den suren Apfel beißen und vorerst alles per Hand machen. Ich lass mir jetzt einfach die Knoten ausgeben und dann überführ ich diese in Excel und weise alles so zu. Wollte das eigentlich irgendwann mal beenden. Ich war halt mal wieder auf der Suche nach dem Königsweg. Aber ich gebe nicht auf.Wenn ich Zeit hab, dann setz ich mich nochmal dran. Achso!!! Es ist also grundsätzlich möglich die die Schleifen zu schachteln [Diese Nachricht wurde von batzen83 am 03. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 14:32 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
Zitat: Original erstellt von batzen83: Ich glaube ich muss in den suren Apfel beißen und vorerst alles per Hand machen.
Bestimmt nicht. Aber ohne eine gute Beschreibung von dem, was du machen möchtest, wird dir wohl auch kaum einer helfen können. Meist ist es ja auch so: wenn man das Problem gut beschreiben kann, hat man es auch schon fast gelöst . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 16:40 <-- editieren / zitieren --> Unities abgeben:
Also wenn ich das richtig versteh bist du dir immer noch nicht ganz sicher was ich machen will. Ok, nochmal. Stell dir ein Quader vor aus dem zentrisch ein Zylinder mit dem Durchmesser d und der Höhe h ausgeschnitten wird. (Siehe Bild 1) Auf der Mittellinie des Zylinders liegen Knoten die in ihren Abständen genau so eingeteilt sind, wie die Elemente am Umfang der Zylinderschale. Die Knoten welche auf der Mittellinie liegen sollen nun denen Knoten am Umfang (selber z-Wert) der Zylinderschale zugeordnet werden. (Bild 2) Nach Bild 2 erklärt: Knoten 1 soll den Knoten auf der schwarzen Linie zugeordnet werden, Knoten 2 soll den Knoten auf der roten Linie zugeordnet werden. Knoten 3 den Knoten auf der blauen Linie zugeordnet werden usw. Bild 2 ist hier nur die Hälfte des Modells. Hab mir jetzt so viel Mühe mit den Bildern gegeben, jetzt muss das einfach klappen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 03. Nov. 2011 16:54 <-- editieren / zitieren --> Unities abgeben:
|
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 16:58 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
Ich nehme mal an, dass die z-Achse von Koordinatensystem 20 in Richtung deiner Mittellinienknoten zeigt und und es ein zylindrisches KS ist. Bei z = 0 befindet sich (nach Bild2) Knoten 1 und Knoten i bei 12.5*i. Die Bohrung hat den Radius r_B = 148.5. Aller deltaphi = 0.5° ist ein Knoten an der Bohrungsinnenfläche. Dann könnte folgender Code klappen: Code:
csys, 20 deltaz = 12.5 zEnde = 19*deltaz deltaphi = 0.5 r_B = 148.5 *do, z, 0, zEnde, deltaz *do, phi, 0, 360, deltaphi e, node(0, 0, z), node(r_B, phi, z) *enddo *enddo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 03. Nov. 2011 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für batzen83
|
batzen83 Mitglied Ingenieur
Beiträge: 184 Registriert: 05.01.2011 Ansys 13 und 14 Hypermesh 11
|
erstellt am: 04. Nov. 2011 11:47 <-- editieren / zitieren --> Unities abgeben:
Also ich glaube das Problem, war die Einteilung der Knoten auf der Mittellinie. Habe da ne andere gehabt als die Elemente am Umfang. Hatte mit der Schleife an sich nichts zu tun. Zusätzlich war die EInteilung der Elemente am Umfang ungünstig gewählt, so dass er immer mehrere Knoten erfasst hat. Deswegen nicht wundern, warum die Schleife nur bis 45 geht. Musste die Einteilung so wählen, sonst wurden immer bestimmte Knoten übersprungen. *do,i,0,20,1 *do,winkel,0,45,1.9 nsel,s,loc,x,,148.5 nsel,u,loc,y,1+winkel,359+winkel nsel,u,loc,z,1,1000 nsel,u,loc,z,-1,-1000 *get,knoten1,node,,num,min e,200000+i,knoten1 *enddo *enddo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|