| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Durchnummerieren oder Benennung von Zellen, wie? (1710 mal gelesen)
|
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 01. Mai. 2016 14:53 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich arbeite seit 2 Wochen mit Ansys und es lief alles super bis ich auf das Thema "Einfügen von Command" gestoßen bin. Mein Problem ist, ich möchte aus einem schon vernetzten Modell bestimmte Zellen anwählen und diese mit dem Befehl Ekill (Ealive) deaktivieren bzw. Aktivieren. Besteht die Möglichkeit nach der Netzerstellung mit einem Command alle die Zellen eines Modells durchzunummerieren oder zu bennenen und entsprechen der Nummer / Name diese später zu bearbeiten ? Ich kenne die Funktion "named selection" mit dem das machbar wäre, aber für diese musste ich jede Zelle auswählen was z.B bei mehr als 100 Zellen sehr mühsam wäre. Vielen Dank im Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cgebhardt Moderator Maschinenbauingenieur
Beiträge: 1449 Registriert: 20.11.2000
|
erstellt am: 01. Mai. 2016 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Das kann man mit einer Schleife erledigen. 1. Anzahl der Elemente der Komponente ermitteln 2. *do,i,1,Anzahl 3. ermittle die Elementnummer die bearbeitet werden soll (z. B. die kleinste der akt. Selektion), tue etwas (ekill), deselektiere das Element 4. *enddo Viele Grüße cg
------------------ Christof Gebhardt CADFEM GmbH Marktplatz 2 85567 Grafing Tel. +49 (0) 8092 7005 65 cgebhardt(at)cadfem.de www.cadfem.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 01. Mai. 2016 15:56 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die schnnelle Antwort, Ich habe mir gerade ein kleines Modell gebastelt, das im Bild zu sehen ist. Mein Problem liegt daran, dass ich nach jedem Zeitschritt eine Zelle deaktivieren möchte. Ich fange mit der zweiten Zelle an,ich deaktiviere sie und dann im nächsten Zeitschritt möchte ich die dritte Zelle deaktivieren. Welche Befehl kann ich nutzen um direkt die zweite Zelle zu wählen und im darauf folgenden Zeitschritt die dritte Zelle ?. Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roncaratil Mitglied Ingenieur
Beiträge: 138 Registriert: 14.02.2013 Intel Xeon E5-1620 3.6GHz 48GB RAM ANSYS WB 15.0.7 Mechanical ANSYS SpaceClaim
|
erstellt am: 04. Mai. 2016 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Hallo ojedaenrique Entweder kennst du die Elementnummern oder du kannst mit "named selection" und mit dem Befehl CMSEL arbeiten und wie cgebhardt beschrieben hat vorgehen (APDL-Befehle und deren Verwendung siehe ANSYS-Hilfe). Gruss, roncaratil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 04. Mai. 2016 10:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Roncarantil, Nein ich kenne die Elementennummer nicht, deswegen möchte ich zuerst mit einer Do-Schleife alle Elementen des Modells eine bestimmte Nummer übergeben. Somit kann ich sie später auswählen. gibt es dafür einen Befehl in Ansys Apdl ? Named Selecton ist mir bekannt, aber dafür müsste ich es händisch machen und ich würde das gerne automatisieren. Vielen Dank für die Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roncaratil Mitglied Ingenieur
Beiträge: 138 Registriert: 14.02.2013 Intel Xeon E5-1620 3.6GHz 48GB RAM ANSYS WB 15.0.7 Mechanical ANSYS SpaceClaim
|
erstellt am: 04. Mai. 2016 10:36 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Hallo ojedaenrique Der Befehl um Elementnummern gezielt neu zu vergeben ist mir nicht bekannt. Ich kenne nur die Möglichkeit, "Lücken" in der Elementnummerierung zu schliessen: NUMCMP. Ich verstehe aber nicht, wieso du nicht die vorgegebene Numerierung verwenden kannst. Gibt es einen bestimmten Grund? Gruss, roncaratil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 04. Mai. 2016 11:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Roncaratil, Da ich mich mit APDL nicht auskenne, weiß ich nicht wie das Programm die Elementen durchnummeriert und deswegen wollte ich das selber machen. Es gibt also keinen bestimmten Grund. Die nummeriung hilft mir bestimmte Elememten gezielt nacheinander nach einer gewissen Zeit zu deaktivieren. Vielen Dank für die Hilfe Gruß, Enrique Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roncaratil Mitglied Ingenieur
Beiträge: 138 Registriert: 14.02.2013 Intel Xeon E5-1620 3.6GHz 48GB RAM ANSYS WB 15.0.7 Mechanical ANSYS SpaceClaim
|
erstellt am: 04. Mai. 2016 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
|
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 04. Mai. 2016 15:25 <-- editieren / zitieren --> Unities abgeben:
|
roncaratil Mitglied Ingenieur
Beiträge: 138 Registriert: 14.02.2013 Intel Xeon E5-1620 3.6GHz 48GB RAM ANSYS WB 15.0.7 Mechanical ANSYS SpaceClaim
|
erstellt am: 04. Mai. 2016 15:41 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Hallo ojedaenrique Sorry. Hier die Beschreibung (Post finde ich gerade nicht mehr): - Start-Element auswählen (ESEL,S,...) - Knoten des Elements auswählen (NSLE,...) - Elemente zu diesen Knoten auswählen (ESLN,...) - Start-Element aus Auswahl entfernen (ESEL,U,...) - Die übrigen Elemente sind die benachbarten Elemente Gruss, roncaratil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 06. Mai. 2016 16:12 <-- editieren / zitieren --> Unities abgeben:
|
roncaratil Mitglied Ingenieur
Beiträge: 138 Registriert: 14.02.2013 Intel Xeon E5-1620 3.6GHz 48GB RAM ANSYS WB 15.0.7 Mechanical ANSYS SpaceClaim
|
erstellt am: 07. Mai. 2016 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Hallo ojedaenrique So könnte das gehen (Erweiterung des obigen Codes): - Start-Element auswählen (ESEL,S,...) - Knoten des Elements auswählen (NSLE,...) - neu: Knoten dieses Elements zählen - Elemente zu diesen Knoten auswählen (ESLN,...) - neu: Knoten dieser Elemente zählen - neu: Wenn die Anzahl Knoten des Start-Elements gleich die Anzahl Knoten der weiteren Elemente ist, dann gibt es keine benachbarten Elemente - Start-Element aus Auswahl entfernen (ESEL,U,...) - Die übrigen Elemente sind die benachbarten Elemente Gruss, roncaratil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 08. Mai. 2016 08:00 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
|
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 08. Mai. 2016 20:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Wosch, Es gibt schon immer ein Nachbarelement nach der Vernetzung. Nur ich brauche die Überprüfung für eine Schleife über alle Elementen. Mir ist aufgefallen, dass es insgesamt 17 Elementen vorhanden sind, und zwar 14 Kontaktelemente(wegen Konvektion an den äußeren Flächen) und 3 Volumenelementen. Gibt es eine Möglichkeit nur die Volumenelementen auszuwählen, denn letztendlich mag ich die nur deaktivieren. Mit eurer Hilfe habe ich mir folgende Code aufgebaut: NROPT, FULL EKIL,ALL ESEl,ALL *GET,NoNodeAll,NODES,,COUNT *GET,NoNodes,NODES,NUM,MAX *GET,XMaxNodes,NODEs,,MXLOC,X *GET,YMaxNodes,NODES,,MXLOC,Y *GET,ZMaxNodes,NODES,,MXLOC,Z iStartpunkt = 0 !Variablen fuer X iAnfangX = 0 !Anfangspunkt des Mesh Elements iEndeX = 0.001 !Endpunkts des Mesh elements abhängig von MESH SIZE !Variablen fuer Y iAnfangY = 0 iEndeY = 0.001
!Variablen fuer Z iAnfangZ = 0 iEndeZ = 0.001
*DO,i,1,NoNodeAll
!Schleife fuer die Z-Werte *IF,iAnfangZ,LE,ZMaxNodes,THEN !Schleife fuer die Y-Werte *IF, iAnfangY,LE,YMaxNodes,THEN !IF Schleife fuer die X-Werte *IF, iAnfangX,LT,XMaxNodes,THEN NSEL,S,LOC,X,iAnfangX,iEndeX NSEL,R,LOC,Y,iAnfangY,iEndeY NSEL,R,LOC,Z,iAnfangZ,iEndeZ ESLN,S,0,ACTIVE *GET,NoElementNode,NODES,NUM,MAX *GET,XElement,NODES,LOC,X !*IF,XElement,LE,XMaxNodes,Then EALIVE,ALL iAnfangX = iAnfangX + 0.001 iEndeX= iEndeX + 0.001 !*ELSE iAnfangX = iEndeX = !*ENDIF *ELSE iAnfangY = iAnfangY + 0.001 iAnfangX = iEndeX = *ENDIF *ELSE iAnfangY = iAnfangX = iEnde = iAnfangZ = iAnfangZ + 0.001 *ENDIF *ELSE *ENDIF *ENDDO Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roncaratil Mitglied Ingenieur
Beiträge: 138 Registriert: 14.02.2013 Intel Xeon E5-1620 3.6GHz 48GB RAM ANSYS WB 15.0.7 Mechanical ANSYS SpaceClaim
|
erstellt am: 09. Mai. 2016 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Hallo ojedaenrique Zitat: Original erstellt von ojedaenrique: Gibt es eine Möglichkeit nur die Volumenelementen auszuwählen, denn letztendlich mag ich die nur deaktivieren.
Du kannst z.B. Elemente eines bestimmten Typs auswählen und deaktivieren (z.B. SOLID186). Zuerst musst du natürlich wissen, was du für Elemente hast. Gruss, roncaratil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 09. Mai. 2016 18:45 <-- editieren / zitieren --> Unities abgeben: Nur für ojedaenrique
Zitat: Gibt es eine Möglichkeit nur die Volumenelementen auszuwählen
Das geht mit vsel,all eslv,sDa der angegebene Quelltxt nicht lauffähig ist, fällt es mir schwer, dazu etwas zu äußern.
------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ojedaenrique Mitglied Student
Beiträge: 38 Registriert: 01.05.2016 Ansys 16.1 Studentische Version
|
erstellt am: 20. Mai. 2016 18:40 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, vielen dank für die Rückmeldungen. Also ich versuche innerhalb 3 Zeitschritten 3 Zellen zu aktivieren. Zu jedem Zeitschritt wird nur eine Zelle aktiviert und später dann die nächste. Ich habe es mit folgenden Codes versucht, jedoch ohne Erfolg und ich weiß nicht mein Gedankefehler liegt. Erstes Code, NROPT,FULL ESEl,ALL !Auswaehlen von allen Elementen Zellengroesse = (NX(2)- NX(1)) !Elementengroesse *GET,NumElement,ELEM,,COUNT !Anzahl der vorhandenen Elementen *GET,NumNodes,NODES,,COUNT !Anzahl der vorhandenen Knoten !Bestimmung der Endlage des Modells *GET,XlocmaxNodes,NODEs,,MXLOC,X !Maximale X-Koordinate unter allen Knoten XlocmaxNodes = XlocmaxNodes - Zellengroesse ! Abziehen des Zellenabstaendes in X *GET,YlocmaxNodes,NODES,,MXLOC,Y !Maximale Y-Koordinate unter allen Knoten YlocmaxNodes = YlocmaxNodes - Zellengroesse ! Abziehen des Zellenabstaendes in Y *GET,ZlocmaxNodes,NODES,,MXLOC,Z !Maximale Z-Koordinate unter allen Knoten ZlocmaxNodes = ZlocmaxNodes - Zellengroesse ! Abziehen des Zellenabstaendes in Z !Bestimmung der Anfangslage des Modell *GET,Xminlage,NODES,,MNLOC,X !Minimale X-Koordinate unter allen Knoten *GET,Yminlage,NODES,,MNLOC,Y !Minimale Y-Koordinate unter allen Knoten *GET,Zminlage,NODES,,MNLOC,Z !Minimale Z-Koordinate unter allen Knoten Xactlage = Xminlage EKILL,ALL !Deaktivierung von allen Elementen Das funktioniert wunderbar und sollte nur am ersten Zeitschritt durchgeführt werden (siehe Einstellung Command1) Mein zweites Code, NSEL,S,LOC,X,Xactlage,Xactlage !Knoten in der X-Ebene zwischen 0 und 1mm 8 knoten pro Hexa (Tropf) ESLN,S,0,ALL !Elementen aus den Knoten selektieren EALIVE,ALL !Selektierten Elementen aktivieren Xactlage = Xactlage + Zellengroesse[b][/b] Dieses Code funktioniert nicht wie ich mir wünsche und führt auch zu einem vorzeitigen Abbruch von Solver. Mein Gedanken war, dass dieses Code zu jedem Zeitpunkt durchgeführt werden muss, da ich mit diesem meine Elementen aktiviere, also stelle ich unter "Step selection mode" "all" ein was aber zum Fehler führt denke ich. Hat jemand eine Ahnung, warum das nicht funktioniert ?. Vielen Dank im voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|