Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  minimaler Knotenabstand

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys
Autor Thema:  minimaler Knotenabstand (871 mal gelesen)
ANSYSAnwender24
Mitglied



Sehen Sie sich das Profil von ANSYSAnwender24 an!   Senden Sie eine Private Message an ANSYSAnwender24  Schreiben Sie einen Gästebucheintrag für ANSYSAnwender24

Beiträge: 16
Registriert: 29.03.2017

erstellt am: 29. Mrz. 2017 14:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,
ich habe folgendes Problem. Ich habe mir einige Knoten meines Modells selektiert. Den Knoten mit der kleinsten Knotennummer habe ich mit *GET,NnumMin,NODE,,Num,MIN  bestimmt. Die restlichen Knotennummern habe ich mit einer Do-Schleife und dem Befehl *get,nextnode%i%,Node,nextnode%i-1%,NXTH ermittelt. Von allen selektierten Knoten habe ich mir die x-, y- und z-Koordinate bestimmen lassen. Darauffolgend habe ich einen Knoten MP mit den Koordinaten x_Koord_Mp, y_Koord_Mp und z_Koord_Mp gesetzt. Nun möchte ich von dem Knoten MP den kleinsten Abstand zu meinen selektierten Knoten herausfinden. Das möchte ich mit einer Do-Schleife und einer If-Bedingung anstellen, Code siehe unten. Das Ergebnis was mir die IF-Bedingung ausspuckt ist falsch, ich habe mir die Abstände unter Parameter -> Scalar Parameter anzeigen lassen. Deshalb möchte ich euch fragen, wie meine If-Bedingung aussehen muss, damit ich das richtige Ergebnis bekomme. Ich bin für eure Hilfe sehr dankbar.
Code:

!Abstand MP zu Knoten mit kleinster Knotennummer
*set,AbstandMP%0%,sqrt((x_Koord_MP-x_Koord_NnumMin)**2+(y_Koord_MP-y_Koord_NnumMin)**2+(z_Koord_MP-z_Koord_NnumMin)**2)

!Abstand MP zu den anderen Knoten
*Do,p,1,Nnum-1,1
*set,AbstandMP%p%,sqrt((x_Koord_MP-x_Koord_nextnode%p%)**2+(y_Koord_MP-y_Koord_nextnode%p%)**2+(z_Koord_MP-z_Koord_nextnode%p%)**2)

*IF,AbstandMP%p-1%,LE,AbstandMP%p%,Then
b=AbstandMP%p-1%/2,
*ELSE
b=AbstandMP%p%/2
*ENDIF

*enddo

*stat,b

Gruß Benjamin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wosch
Ehrenmitglied V.I.P. h.c.
Elektrotechniker im Ruhestand


Sehen Sie sich das Profil von wosch an!   Senden Sie eine Private Message an wosch  Schreiben Sie einen Gästebucheintrag für wosch

Beiträge: 2607
Registriert: 16.12.2004

Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.

erstellt am: 29. Mrz. 2017 18:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ANSYSAnwender24 10 Unities + Antwort hilfreich

Der Quelltext würde sich besser lesen lassen, wenn die Funktion

DISTND(N1,N2) Distance between nodes N1 and N2

benutzt wird.
(Wenn das Problem mit einem Beispielcode dargestellt wird, sehe ich es mir an.)

------------------
Viel Erfolg wünscht
Wolfgang Schätzing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ANSYSAnwender24
Mitglied



Sehen Sie sich das Profil von ANSYSAnwender24 an!   Senden Sie eine Private Message an ANSYSAnwender24  Schreiben Sie einen Gästebucheintrag für ANSYSAnwender24

Beiträge: 16
Registriert: 29.03.2017

erstellt am: 29. Mrz. 2017 19:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Die Funktion DISTND funktioniert in dem Fall nicht, da mir nur der Wert des Abstandes gezeigt wird und nicht mit einem Parameter abgespeichert wird, den ich später weiterverwenden kann. Mein Problem ist, dass ich mehrere Abstände habe und den minimalsten Abstand suche und keine Ahnung habe wie ich das anstellen soll.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wosch
Ehrenmitglied V.I.P. h.c.
Elektrotechniker im Ruhestand


Sehen Sie sich das Profil von wosch an!   Senden Sie eine Private Message an wosch  Schreiben Sie einen Gästebucheintrag für wosch

Beiträge: 2607
Registriert: 16.12.2004

Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.

erstellt am: 30. Mrz. 2017 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ANSYSAnwender24 10 Unities + Antwort hilfreich

(Wenn das Problem mit einem Beispielcode dargestellt wird, sehe ich es mir an.)

------------------
Viel Erfolg wünscht
Wolfgang Schätzing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ANSYSAnwender24
Mitglied



Sehen Sie sich das Profil von ANSYSAnwender24 an!   Senden Sie eine Private Message an ANSYSAnwender24  Schreiben Sie einen Gästebucheintrag für ANSYSAnwender24

Beiträge: 16
Registriert: 29.03.2017

erstellt am: 30. Mrz. 2017 09:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Als Beispiel würde ich 4 Knoten nehmen und einen Knoten MP dessen geringster Abstand zu den 4 Knoten gesucht ist.

x_Koord_1=6
y_Koord_1=3
z_Koord_1=5

x_Koord_2=5
y_Koord_2=10
z_Koord_2=7

x_Koord_3=7
y_Koord_3=4
z_Koord_3=6

x_Koord_4=3
y_Koord_4=9
z_Koord_4=4

!Der Knoten MP befindet sich in der Mitte der 4 Knoten

*get,nx1,node,,MNLOC,x
*get,nx2,node,,MXLOC,x
*get,ny1,node,,MNLOC,y
*get,ny2,node,,MXLOC,y
*get,nz1,node,,MNLOC,z
*get,nz2,node,,MXLOC,z

x_Koord_MP=(nx2+nx1)/2
y_Koord_MP=(ny2+ny1)/2
z_Koord_MP=(nz2+nz1)/2

*DO,p,1,4,1
*set,Abstand%p%,sqrt((x_Koord_MP-x_Koord_%p%)**2+(y_Koord_MP-y_Koord_%p%)**2+(z_Koord_MP-z_Koord_%p%)**2)
*enddo

!Ansys berechnet jetzt 4 Abstände, welcher ist der kleinste und wie bestimme ich ihn?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wosch
Ehrenmitglied V.I.P. h.c.
Elektrotechniker im Ruhestand


Sehen Sie sich das Profil von wosch an!   Senden Sie eine Private Message an wosch  Schreiben Sie einen Gästebucheintrag für wosch

Beiträge: 2607
Registriert: 16.12.2004

Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.

erstellt am: 30. Mrz. 2017 10:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ANSYSAnwender24 10 Unities + Antwort hilfreich

Hier eine Variante:

/prep7

n,1,6,3,5
n,2,5,10,7
n,3,7,4,6
n,4,3,9,4
!Der Knoten MP befindet sich in der Mitte der 4 Knoten
mp=5
n,mp,5,6.5,5.5

*do,p,1,4
abstand%p%=distnd(mp,p)
*enddo

minabst=1000 !sehr große Zahl
*do,p,1,4
*if,abstand%p%,lt,minabst,then
minabst=abstand%p%
nnr=p
*endif
*enddo

!geringster KnotenAbstand zum Knoten mp
minabst=minabst
!Nummer des Knoten mit dem geringsten Abstand
nnr=nnr

------------------
Viel Erfolg wünscht
Wolfgang Schätzing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ANSYSAnwender24
Mitglied



Sehen Sie sich das Profil von ANSYSAnwender24 an!   Senden Sie eine Private Message an ANSYSAnwender24  Schreiben Sie einen Gästebucheintrag für ANSYSAnwender24

Beiträge: 16
Registriert: 29.03.2017

erstellt am: 30. Mrz. 2017 12:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sehr geehrter Herr Schätzing,
vielen Dank für Ihre Antwort. Es hat funktioniert. Damit bekomme ich den minimalsten Abstand heraus. Ihr Code hat mir sehr geholfen.

Mit freundlichen Grüßen
Benjamin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wosch
Ehrenmitglied V.I.P. h.c.
Elektrotechniker im Ruhestand


Sehen Sie sich das Profil von wosch an!   Senden Sie eine Private Message an wosch  Schreiben Sie einen Gästebucheintrag für wosch

Beiträge: 2607
Registriert: 16.12.2004

Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.

erstellt am: 31. Mrz. 2017 18:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ANSYSAnwender24 10 Unities + Antwort hilfreich

Wenn nur der nächstliegende Knoten gefunden werden soll, geht das auch mit der Funktion "node":

n,1,6,3,5
n,2,5,10,7
n,3,7,4,6
n,4,3,9,4
!Der Knoten MP befindet sich in der Mitte der 4 Knoten
mp=5
n,mp,5,6.5,5.5

!der zum Knoten mp nächstliegende Knoten soll gefunden werden
nsel,u,,,mp
nnr=node(nx(mp),ny(mp),nz(mp))
nsel,a,,,mp
minabst=distnd(mp,nnr)

!geringster KnotenAbstand zum Knoten mp
minabst=minabst
!Nummer des Knoten mit dem geringsten Abstand
nnr=nnr

------------------
Viel Erfolg wünscht
Wolfgang Schätzing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz