Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Knotenkräfte im Kontaktbereich in txt exportieren

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:  Knotenkräfte im Kontaktbereich in txt exportieren (1933 / mal gelesen)
Diesel1216
Mitglied
Master-Student

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

Beiträge: 5
Registriert: 16.01.2018

Win7 64bit
i5-6600k
16GM RAM
MSI 1050Ti

erstellt am: 16. Jan. 2018 15:22    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 Zusammen,

im Rahmen meines Masterstudiums arbeite ich recht viel mit Mechanical. Um die Arbeit zu verbessern, möchte nun einige Schritte automatisieren.
Ziel soll es sein, dass mir mit Hilfe eines ADPL-Skripts die Knotenkräfte im Kontaktbereich (in X,Y,Z-Richtung) in eine txt-Datei geschrieben werden.

Leider hatte ich vorher noch gar keinen Kontakt mit der Programmierung der Ansyssprache, wodurch mir der Einstieg schwer fällt. 

Ich habe es nun geschafft, dass per Command eine txt. Datei erstellt wird. Im nächsten Schritt möchte ich, dass dort alle Knoten und deren Kräfte aufgelistet werden. Den letzten Schritt, ein Skript zu erstellen, welche nur Knoten im Kontaktbereich selektiert, möchte ich erstmal hinten anstellen.

Mein Problem ist ein wenig die Syntax bzw. der Ablauf eines APDL-Skripts. Von der Idee her würde ich so vorgehen:
-Knoten Selektieren
-Kräfte ausgeben
-Kräfte in .txt. schreiben.

Bis auf das Erstellen einer .txt-Datei habe ich leider noch nichts weiter geschafft. Könnt ihr mir dort helfen?
Ich hatte überlegt per :
nsel,all  !alle Knoten zu selektieren
FSUM

und dann mit *VWRITE die Kräfte irgendwie in eine .txt-Datei schreiben.

Vielen vielen Dank schon mal für jegliche Hilfe vorab!


------------------
Mit freundlichen Grüßen
Diesel1216

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

RAL
Mitglied
koffeinbetriebender Taschenrechner


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

Beiträge: 238
Registriert: 10.01.2009

Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel

erstellt am: 17. Jan. 2018 22:32    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 Diesel1216 10 Unities + Antwort hilfreich

Hi.
prinzipieller Ablauf, Syntax in der Hilfe nachlesen:

NSEL,s,....... !Knoten von Interesse selektieren
*GET,ANZ_NODE,node,, count
*DIM,MY_ARRAY,ARRAY,ANZ_NODE,ANZ_COL !Achtung: ANZ_COL vorher überlegen, wieviele Spalten du brauchst

*DO,i_node,1,ANZ_NODE,1
  *GET,CURN,node,,num,min
  My_ARRAY(i_NodE,1)= CURN
  *GET,MY_ARRAY(I_NODE,2),,.... z.B. REACTIONFORCE x
  weiter mit *GET die Knotenergebnisse auslesen und in MY_ARRAY ablegen
  NSEL,u,NODE,,curn


*ENDDO


via *vwrite oder *mwrite den Array wegschreiben, beide Befehle können nicht über die Commandline eingelesen werden sondern nur über Text. Dazu dieses Forum befragen, ist schon einige Male behandelt worden.

du kannst natürlich auch über Elemente loopen und Element-results auslesen, dann obige Syntax anpassen.

frohes schaffen
ral

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

Diesel1216
Mitglied
Master-Student

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

Beiträge: 5
Registriert: 16.01.2018

Win7 64bit
i5-6600k
16GM RAM
MSI 1050Ti

erstellt am: 18. Jan. 2018 14:38    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

Vielen Dank für ihre Antwort. Gestern habe ich zusätzlich noch mit dem Kundensupport telefoniert. Ich denke mit ihrer Hilfe sowie der vom Support, kann ich schon mal weiter üben und ausprobieren.

------------------
Mit freundlichen Grüßen
Diesel1216

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

Diesel1216
Mitglied
Master-Student

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

Beiträge: 5
Registriert: 16.01.2018

Win7 64bit
i5-6600k
16GM RAM
MSI 1050Ti

erstellt am: 19. Jan. 2018 08:18    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

Eine kleine Frage habe ich noch:

Wenn in meinem Skript ein Fehler vorhanden ist, kann ich dann in der Solve.out-Datei nachschauen, wo genau er hängen geblieben ist oder verbirgt sich das in einer anderen Datei?

------------------
Mit freundlichen Grüßen
Diesel1216

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

arnd13
Mitglied
Dipl. Ing.


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

Beiträge: 735
Registriert: 05.11.2008

erstellt am: 23. Jan. 2018 12: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 Diesel1216 10 Unities + Antwort hilfreich

Wo die Berechnung hängen geblieben ist, ist aus der solve.out und/oder der file.err zu erkennen.
Um die Fehlersuche zu erleichtern, programmiert man in längere do-Schleifen gern eine kleine Hilfe, z.B. so:

*DO,i_node,1,ANZ_NODE,1
/com, Loop %i_node% von %ANZ_NODE%
  *GET,CURN,node,,num,min
  My_ARRAY(i_NodE,1)= CURN
  *GET,MY_ARRAY(I_NODE,2),,.... z.B. REACTIONFORCE x
  weiter mit *GET die Knotenergebnisse auslesen und in MY_ARRAY ablegen
  NSEL,u,NODE,,curn
*ENDDO

Der Text "Loop %i_node% von %ANZ_NODE%" wird dann z.B. als "Loop 3 von 50" in der solve.out ausgegeben. Die solve.out während der Berechnung immer im Auge haben, wenn Du Fehler oder Hängenbleiben vermutest (z.B. mit baretail oder direkt in der WB).

------------------
Gruß, A.

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

Diesel1216
Mitglied
Master-Student

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

Beiträge: 5
Registriert: 16.01.2018

Win7 64bit
i5-6600k
16GM RAM
MSI 1050Ti

erstellt am: 30. Jan. 2018 15:16    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 Zusammen,
ich bin es noch ein mal.
Mein Skript sieht folgendermaßen aus:

NSEL,ALL !im Ersten schritt erst mal alle Knoten
*GET,ANZ_NODE,node,, count
*DIM,MY_ARRAY,ARRAY,ANZ_NODE,4 !Achtung: ANZ_COL vorher überlegen, wieviele Spalten du brauchst

*DO,i_node,1,ANZ_NODE,1
  /GOPR !Reactivates suppressed printout, (Check Console)
  NSEL,s,NODE,,i_node !aktuellen Knoten selektieren (überflüssig?)
  MY_ARRAY(i_node,1)= i_node !Knotennummer in 1. Spalte schreiben
  *GET,MY_ARRAY(i_node,2),NODE,i_node,F,FX !FX des aktuellen Knotens in 2. Spalte schreiben
  *GET,MY_ARRAY(i_node,3),NODE,i_node,F,FY !FY des aktuellen Knotens in 3. Spalte schreiben
  *GET,MY_ARRAY(i_node,4),NODE,i_node,F,FZ !FZ des aktuellen Knotens in 4. Spalte schreiben

  !*GET,CURN,node,,num,min
  !*GET,MY_ARRAY(i_node,2),,FX
  !*GET,MY_ARRAY(i_node,3),,FY
  !*GET,MY_ARRAY(i_node,4),,FZ
  !NSEL,u,NODE,,curn

*ENDDO

!Speichern der Datei
*cfopen,knotenergebnisse,txt
*vwrite,CURN(1),FX(2),FY(2),FZ(4)
*cfclos
*end

So schreibt er mir die Daten heuras, allerdings sind diese alle Null, da laut dem User Guide dies die preprocessing Items sind.
Ich habe es auch schon mit RF probiert, aber da werden natürlich nur die Reaktionskräfte aufgezeigt.
Kann mir einer sagen, welchen Befehl ich dort nehmen muss, dass er mir nach der Berechnung die Knotenkräfte anzeigt?

Vielen Dank schon mal!

------------------
Mit freundlichen Grüßen
Diesel1216

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

Jens.Friedrich
Moderator
Dipl. -Ing.


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

Beiträge: 1048
Registriert: 09.09.2005

ANSYS2021 R2

erstellt am: 30. Jan. 2018 16: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 Diesel1216 10 Unities + Antwort hilfreich

Hallo Diesel,

bitte nachdenken!!!!

Wenn die *Get auskommentiert sind dann kann er natürlich auch nix in die Arrays schreiben:

  !*GET,CURN,node,,num,min
  !*GET,MY_ARRAY(i_node,2),,FX
  !*GET,MY_ARRAY(i_node,3),,FY
  !*GET,MY_ARRAY(i_node,4),,FZ

Die Frage die sich mir stellt ist warum das ganze per APDL wenn Workbench doch vieles Per Mausklick rausschreibt. Und das schreibe ich als jahrelanger APDL Vollgasnutzer.

Gruß
Jens

------------------
Gruß
Jens

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

Diesel1216
Mitglied
Master-Student

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

Beiträge: 5
Registriert: 16.01.2018

Win7 64bit
i5-6600k
16GM RAM
MSI 1050Ti

erstellt am: 30. Jan. 2018 17:01    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 3 Zeilen mit dem ! davor können ignoriert werden. Das waren meine ersten Versuche. Die wollte ich nur nicht löschen, deswegen habe ich das Problem schnell so gelöst.

Also es geht im die Zeilen darüber 

------------------
Mit freundlichen Grüßen
Diesel1216

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