| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: Multitalent für Branchen und Nischenmärkte, eine Pressemitteilung
|
Autor
|
Thema: flächennormale (2176 mal gelesen)
|
P.A. Mitglied Student

 Beiträge: 28 Registriert: 06.08.2007
|
erstellt am: 02. Jun. 2008 17:08 <-- editieren / zitieren --> Unities abgeben:         
hi gibt es eine möglichkeit die normale ein einem element an der oberfläche eines bauteils automatisch zu generieren? bzw überhaupt eine möglichkeit herauszufinden ob ein knoten an der oberfläche liegt oder nicht? eine möglichkeit wäre die elemente zu durchsuchen und nachzuschaun wie oft der knoten vorkommt. aber dabei wird das ganze ja elementtypabhängig. gibt es da eine bessere lösung? thx, mfg paul ------------------ everything is possible.... the impossible just takes a little bit longer! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M.Seidler Mitglied Dipl. Ing.
  
 Beiträge: 600 Registriert: 08.01.2007 ABAQUS CAE 6.7-1 Ansys 12.1 Hyper Works 11
|
erstellt am: 03. Jun. 2008 19:12 <-- editieren / zitieren --> Unities abgeben:          Nur für P.A.
Hallo Paul, ich habe Deinen Beitrag jetzt ein paarmal gelesen. Aber mir wird nicht klar, was Du wissen willst bzw. wo dein Problem liegt. ------------------ *********************** Gruß Der Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
P.A. Mitglied Student

 Beiträge: 28 Registriert: 06.08.2007
|
erstellt am: 03. Jun. 2008 19:21 <-- editieren / zitieren --> Unities abgeben:         
mein problem ist vollgendes: ich will den spannugnsgradienten entlang der oberflächennormale in einem knoten automatisiert ausgeben. dazu brauch die die richtung der oberflächennormale. gibt es eine möglichkeit diese herauszufinden? ich hätte da so eine idee, aber die ist wie schon erwähnt elementtypanhängig. und zwar zähl ich für jeden knoten mit in wie vielen verschiedenen knoten er vorkommt. daraus kann ich dann schließen ob er an der oberfläche liegt oder nicht. gibt es da auch eine schon in abaqus inkludierte möglichkeit die oberflächenknoten zu finden? mit den oberflächenknoten eines elementes könnte ich dann die richtung der oberflächennormale bestimmen. hoff das war bissl verständlicher erklärt ;-) mfg paul ------------------ everything is possible.... the impossible just takes a little bit longer! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M.Seidler Mitglied Dipl. Ing.
  
 Beiträge: 600 Registriert: 08.01.2007 ABAQUS CAE 6.7-1 Ansys 12.1 Hyper Works 11
|
erstellt am: 03. Jun. 2008 22:50 <-- editieren / zitieren --> Unities abgeben:          Nur für P.A.
Hallo Paul, das klingt für mich nach Programmieren. Davon habe ich nur wenig Ahnung. Schau dir mal diesem Beitrag an. Hilft Dir evtl. Ansonsten muss sich ein anderer Finden, der Zeit hat. In der Abaqus-Hilfe unter: Abaqus User Subroutines Reference Manual oder Abaqus Scripting User's Manual wirst Du bestimmt auch was finden. ------------------ *********************** Gruß Der Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
P.A. Mitglied Student

 Beiträge: 28 Registriert: 06.08.2007
|
erstellt am: 04. Jun. 2008 10:39 <-- editieren / zitieren --> Unities abgeben:         
hm... der beitrag von dir hilft mir leider auch nicht weiter... diese discontinuities sind ja kein wirklicher gradient, bzw ich seh auch keine möglichkeit sie auf einen umzurechnen. das ich da programmieren muss was mir auch klar... nur wie is halt die frage ;-) thx auf alle fälle für deine hilfe! mfg ------------------ everything is possible.... the impossible just takes a little bit longer! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten1983 Mitglied Doktorand
 
 Beiträge: 125 Registriert: 11.10.2007
|
erstellt am: 04. Jun. 2008 11:25 <-- editieren / zitieren --> Unities abgeben:          Nur für P.A.
Ich denke die Variante die du vorschlägst ist gar nicht verkehrt. Ich hab auf die Schnelle auch keinen fertigen Befehl im Reference manual gefunden. Ich würde wie du angedeutet hast vorgehen: 1. Ein Dictionary mit allen Nodelabels als keys und einer leeren Liste welche den keys zugeordnet ist, anfertigen. also sowas: Nodes={'1':[],'2':[]...} 2. Über alle Elemente iterieren, mit Assembly.instances['..'].elements[Nummer].connectivity kriegt man raus welche knoten zu dem jeweiligen Element gehören. Mit der Liste die dabei rauskommt, kann man jetzt Strichliste führen in dem Dictionary aus dem ersten Schritt. Das heißt tauchen z.B. in Element 1 die Knoten[1,2,3,4,5,6,7,8] auf wird bei dem Dictionary aus Schritt 1 bei den Einträgen "1","2",..."8" jeweils die Anzahl der Funde erhöht. 3. Das Dictionary aus 1. auswerten dahingehend, dass alle Einträge auf ihren Länge kontrolliert werden. Dann sollten dort die Knoten an der oberfläche eine geringere Anzahl an Funde aufweisen als die im Inneren. Setzt du jetzt noch einen konstanten Elementtyp voraus, kannst du ja die maximale Länge der Einträge im Dictionary feststellen, welche dann nämlich den Knoten im Inneren zugeordnet ist. Alle anderen Knoten die nicht so oft gefunden wurden, sind dann Oberflächenknoten. Damit wärst du dann auch unabhängig vom Elementtyp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
P.A. Mitglied Student

 Beiträge: 28 Registriert: 06.08.2007
|
erstellt am: 04. Jun. 2008 12:17 <-- editieren / zitieren --> Unities abgeben:         
ja, so in der art hab ich mir das gedacht.. das problem ist nur, dass das ganze eben nicht unabhängig vom elemtentyp ist. weil z.b. hexaeder knoten in 8 elementen vorkommen müssen. aber bei z.b. 2-d elementen schaut das ganze schon wieder ganz anders aus... aber wahrscheinlich wird mir nichts anderes übrig bleiben als das programm auf den jeweiligen elementtyp abzustimmen. bzw alle möglichen elementtypen abzufangen. das ganze soll nämlich nicht nur für einen speziellen fall funktionieren, sondern so allgemein wie möglich sein. ------------------ everything is possible.... the impossible just takes a little bit longer! [Diese Nachricht wurde von P.A. am 04. Jun. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten1983 Mitglied Doktorand
 
 Beiträge: 125 Registriert: 11.10.2007
|
erstellt am: 04. Jun. 2008 13:52 <-- editieren / zitieren --> Unities abgeben:          Nur für P.A.
In meinem obigen beitrag wollte ich eigentlich herausstellen, dass es nicht Elementtypabhängig funktioniert, wenn du nur alle Elemente im Bauteil als gleichen Typ vorraussetzt. Das heißt die typen sind egal nur es sollte innerhalb einer Betrachtung immer derselbe sein. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 3585 Registriert: 04.08.2005 Abaqus
|
erstellt am: 05. Jun. 2008 10:23 <-- editieren / zitieren --> Unities abgeben:          Nur für P.A.
|
P.A. Mitglied Student

 Beiträge: 28 Registriert: 06.08.2007
|
erstellt am: 05. Jun. 2008 18:05 <-- editieren / zitieren --> Unities abgeben:         
das problem an der sache is, dass das ein tool werden soll das man einfach verwenden können soll. bzw ohne vorher viel machen zu müssen. weil wenn die rechnung z.b. lange dauert und man erst dannach drauf kommt, dass man den gradienten berechnen will... außerdem möcht ich wenns geht nur im post processing bleiben, vor allem auch wegen der usabillity (musst nicht vorher 100 sachen in der rechnung extra berücksichtigen, damit nachher das tool funktioniert) ------------------ everything is possible.... the impossible just takes a little bit longer! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
musambani Mitglied student

 Beiträge: 34 Registriert: 06.09.2006
|
erstellt am: 06. Jun. 2008 12:49 <-- editieren / zitieren --> Unities abgeben:          Nur für P.A.
was spricht denn gegen Carstens Methode? Ich habe waehrend meiner Studienarbeit ein aehnliches Problem gehabt. Da habe ich einfach mit Hilfe eines Perl-Skripts (muss ja nicht viel koennen, nur einfach Nummmern zaehlen) aus dem *.inp-File ausgelesen, zu wie vielen Elementen ein Knoten gehoert, also wieviel Nachbarknoten er hat. Die Knoten mit den wenigsten "neighbours" sind dann die Randknoten. Auch wenn Du im postprocessing bleiben willst, koenntest Du doch theoretisch aus dem *.inp-File die Randknoten auslesen und mit ihnen weiterarbeiten, oder? Du koenntest doch auch den Elementtyp auslesen, dann weisst Du genau die Anzahl der Nachbarn, die einen Randknoten charakterisieren. Keine Ahnung, ob ich jetz dummes Zeug rede, aber wenn Du ein zur Rechnugn gehoerendes *.inp-File hast, wuerde das so klappen. Hats bei mir jedenfalls damals. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
P.A. Mitglied Student

 Beiträge: 28 Registriert: 06.08.2007
|
erstellt am: 06. Jun. 2008 15:16 <-- editieren / zitieren --> Unities abgeben:         
ja, es wird mir eh nichts anderes übrig bleiben, als die variante mit dem zählen. dazu brauch ich nicht einmal ein input file, geht mit python bzw den in abaqus implementierten objekten viel leichter thx nochmal für eure hilfe! ------------------ everything is possible.... the impossible just takes a little bit longer! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |