| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | |  | Fortgeschrittene explizite Strukturmechanik mit LS-DYNA, ein Seminar am 16.09.2025
|
Autor
|
Thema: Knotennummer auslesen, aber wie (8544 mal gelesen)
|
peterenis Mitglied Student

 Beiträge: 32 Registriert: 03.11.2008
|
erstellt am: 03. Nov. 2008 11:45 <-- editieren / zitieren --> Unities abgeben:         
Hi Leute, ich muss für ein Uni Projekt ein Ansysprogramm schreiben, welches wenn es mal fertig ist, die Schallabstrahlung ausgeben kann. Ich bin aber relativ neu in APDL, und habe zunächst folgendes Problem  Ist es möglich, wenn ich einen Knoten habe, dessen Nummer und die Nummern der umliegenden Knoten in eine Textdatei zu schreiben? danke im vorraus mfg 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: 03. Nov. 2008 12:42 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
Selektierte Knoten können mit nlist im separaten Fenster angezeigt und in diesem Fenster auch als Datei abgespeichert werden. Den nächstliegenden Knoten bekommt man mit der Funktion nnear. Wenn die Nummer des betrachteten Knoten in der Variablen n1 steht, organisiert n2=nnear(n1) die Nummer des nächstliegenden Knoten in die Variable n2. (Die Formulierung der Fragestellung lässt die Identifikation mit der Aufgabenstellung vermissen.)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
solve1 Mitglied Berechnungsingenieur
  
 Beiträge: 624 Registriert: 27.05.2008 Ansys APDL Ansys WorkBench
|
erstellt am: 03. Nov. 2008 20:05 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
hi, der Tip von Wosch ist der fixeste über die GUI, es sei mir erlaubt noch Alternativen zu nennen mit nsel... esln.. nsle.. bekommst du die Knoten der nächsten "Elementschicht" oder per *moper,nnear.. erhältst du die Knoten in einem definierten Abstand. mit nwrite lassen sie sich bequem schreiben. Du siehst das ist quasi ein "Barometerproblem" für ANSYS Aber warum ich eigentlich nochmal was dazu poste ist die Gelegenheit den sehr treffenden Satz meines Vorredners zu zitieren
Zitat: Die Formulierung der Fragestellung lässt die Identifikation mit der Aufgabenstellung vermissen
Wenn man sowas wie deinen Einleitungssatz ließt hatt man doch gleich richtig Lust sich die Zeit zu nehmen um was zu antworten! Leider ließt man Wörter wie "soll" oder "muss" hier oft. Und dafür gibts nun sogar ne Lösung ohne ANSYS oder gar seinen Kopf zu bemühen ==> wenn ihr keinen Bock drauf habt, dann laßt es! [Diese Nachricht wurde von solve1 am 03. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
peterenis Mitglied Student

 Beiträge: 32 Registriert: 03.11.2008
|
erstellt am: 04. Nov. 2008 10:31 <-- editieren / zitieren --> Unities abgeben:         
hallo, erstmal danke für die antworten, auf Grund der Nachfrage hier eine detailliertere Beschreibung: Endlösung soll sein ein Marko für Ansys zu haben, welches Aufgrund von Schwingungen, Frequenzen, Material, etc...fähig ist, eine Lautstärrke auszugeben.
Die Formeln und Zusammenhänge haben wir alle, unsere momentane Vorgehensweise sieht vor, dass wir den Normalenvektor von einer Fläche benötigen, welche durch 4 Umliegende Knoten definiert wird. Da das Programm immer funktionieren soll, unabhängig vom Element, brauchen wir nur die Knoten der Flächen auf der Oberseite, dieses haben wir wie folgt realisert: NSLA,S,0 !AUSWAHL aller Flächen ohne Randknoten ESLN,S,0 !AUSWAHL der zugehörigen Knoten NSLA,S,1 !AUSWAHL der Flächen davon Das weiterführende Problem besteht nun darin, zu wissen eben welche Knoten an einen anderen angrenzen, um dann den Vektor bilden zu können. Plan: Eine Abfrage über alle Knoten des ganzen Volumen in ein Array speichern, und mit allen Knoten der Fläche vergleichen, um dann den kleinsten und den 2. kleinsten Abstand zu erhalten. Dann Kreuzprodukt usw... aber DAS HAUPTPROBLEM ist halt, dass ich nicht weiß wie ich rausfinden soll welche Knoten nebeneinander liegen  ich habe das Gefühl Ansys ist für diese Richtung nicht gebaut hat da wer ne idee, oder konkrete Vorschläge, wär echt cool danke mfg
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: 04. Nov. 2008 11:13 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
Wenn das ebene Flächen sind, die durch drei (oder mehr) Keypoints beschrieben sind, lassen sich mit den Funktionen NORMKX(K1,K2,K3), NORMKY(K1,K2,K3) und NORMKZ(K1,K2,K3) die Komponenten der Flächennormalen ermitteln. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
peterenis Mitglied Student

 Beiträge: 32 Registriert: 03.11.2008
|
erstellt am: 04. Nov. 2008 11:19 <-- editieren / zitieren --> Unities abgeben:         
|
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: 04. Nov. 2008 12:54 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
Wenn die Knoten der (gekrümmten) Oberfläche selektiert sind, lassen sich zu einem bestimmten Knoten mit nnear zwei nächstliegende Nachbarknoten finden und mit den Funktionen NORMNX(N1,N2,N3), NORMNY(N1,N2,N3) und NORMNZ(N1,N2,N3) die Komponenten der Normalen bestimmen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
peterenis Mitglied Student

 Beiträge: 32 Registriert: 03.11.2008
|
erstellt am: 04. Nov. 2008 12:56 <-- editieren / zitieren --> Unities abgeben:         
danke ich werde das mal ausprobieren, ich habe mir das etwa so vorgestellt: NSLA,S,0 !AUSWAHL aller Flächen ohne Randknoten ESLN,S,0 !AUSWAHL der zugehörigen Knoten NSLA,S,1 !AUSWAHL der Flächen davon *GET,nodemax,NODE,O,COUNT !Anzahl der Knoten in der selektierten Flaeche
*DO,n,1,nodemax,1 ESLN,R,0 !reselect aus vorhandenem Pool *DO,nel,1,nelmax,1 !ueber alle ni=NELEM(en,nel) !Wieviele Knoten hat das Element *if, ni,EQ,n, !Feststellung, ob Knoten ein Area Knoten ist then npos=nel ! zu n.tem Knoten ist irgendein Nachbarknoten gefunden *ENDDO *ENDDO aber abbruchbedingung ist noch nicht eindeutig , und überhaupt funktioniert das so nich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
peterenis Mitglied Student

 Beiträge: 32 Registriert: 03.11.2008
|
erstellt am: 04. Nov. 2008 13:01 <-- editieren / zitieren --> Unities abgeben:         
edit: wosch, angenommen ich habe 196 (oder n viele) knoten in einer ebene selektiert, wie würde dann ein programm aussehen was mir von jedem dieser knoten den normalenvektor ausgibt, ich checks nich  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: 04. Nov. 2008 13:51 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
|
solve1 Mitglied Berechnungsingenieur
  
 Beiträge: 624 Registriert: 27.05.2008 Ansys APDL Ansys WorkBench
|
erstellt am: 04. Nov. 2008 14:21 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
hi, Das Prob der Bestimmung von Oberflächennormalen kann man verschieden angehen. Gängig ist die Variante das man seine Strucktur mit Oberflächenelementen überzieht (surf154) und dann die Nr der Knoten an der Position 1-3 jedes Elementes nutzt um mit der erwähnten "normnx" getfunction die Normalenkomponenten zu bestimmen. Der Hacken an der Get function ist meines Wissens nach das die Reihenfolge relevant ist, in der die Knoten angegeben werden. Sprich wenn 3 aus der Fläche genommen werden, könnte man den Vektor ins Bauteil erhalten. Ein Algorithmus könnte so aussehen - mit esurf die Strucktur mit surface elementen überziehen - ein Element auswählen - die Knoten an POS 1-3 des Elementes abfragen *get,n1,elem,emin,node,1 (emin ist element, n1 Knoten an Pos 1 des elementes) - dan die "normn..." - get function zum Bestimmen der Normalen Ausgangspunkt: ein Element (surface) ist selektiert *get,emin,elem,,num,min *get,n1,elem,emin,node,1 $ *get,n2,elem,emin,node,2 *get,n3,elem,emin,node,3 $ *get,n4,elem,emin,node,4 xx=normnx(n1,n2,n3) $ yy=normny(n1,n2,n3) $ zz=normnz(n1,n2,n3) 2. Variante wäre die Nutzung der Physik. Z.B. stehen Wärmestromvektoren immer normal auf Oberflächen. Also per dummy-Therm simulation dessen Komponenten bestimmen. [Diese Nachricht wurde von solve1 am 04. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
peterenis Mitglied Student

 Beiträge: 32 Registriert: 03.11.2008
|
erstellt am: 06. Nov. 2008 10:48 <-- editieren / zitieren --> Unities abgeben:         
solve deine sache klinkt auf jeden fall gut  der haken ist aber das der esurf befehl doch nur mit bestimmen elementen geht oder? angenommen ich habe solids 186 meckert er beim ausführen des esurfs befehls. unser programm soll aber unabhängig von der elementauswahl funktionieren greez Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
solve1 Mitglied Berechnungsingenieur
  
 Beiträge: 624 Registriert: 27.05.2008 Ansys APDL Ansys WorkBench
|
erstellt am: 06. Nov. 2008 17:55 <-- editieren / zitieren --> Unities abgeben:          Nur für peterenis
das sollte bei 3d solid struckturen immer funktionieren, sicher bei sold186. wie habt ihrs den versucht ? du definierst dir nen elementtyp mit den Oberflächenelementen (surf154) selktierst deine solids setzt den pointer (type) auf den elemttype der surf elemente und dann kommt der esurf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |