Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Arrays erzeugen

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:  Arrays erzeugen (2143 mal gelesen)
Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 05. Mai. 2010 19: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

Hallo Community,

ich mach eine FE-Untersuchung mit Ansys Classic für meine Diplomarbeit und habe folgendes Problem. Ich habe ein FE-Modell eines viertelrohrs und ich möchte einzelne Knoten eines Winkels, sortiert nach der Y-Koordinate in einem Array speichern. Anschließend sollen die dazugehörigen Hauptspannungen in den selben Array gespeichert werden.
Ich bin soweit gekommen, dass ich den Array erstellt hab.

NSLA,S,1 !Fläche auswählen
NPLOT !Knoten ploten
NSEL,S,ANG,XY,-94.5 !Knoten beim winkel -94.5 auswählen
NPLOT
*get,kanzahl,node,0,count !Anzahl der Knoten bestimmen
*dim,Winkel_001,array,kanzahl,5 !Array für Nodenummer,Y,S1,S2,S3

Wie kann ich die entsprechenden Werte in den Array einfügen?

ich bin für jede Hilfe dankbar......

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

ChristophN
Mitglied
Berechnungsingenieur


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

Beiträge: 773
Registriert: 13.12.2008

erstellt am: 05. Mai. 2010 19:48    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 Bkg 10 Unities + Antwort hilfreich

Code:
*get, knoten, node, 0, num, min
i = 1
*dowhile, knoten
  Winkel_001(i, 1) = knoten
  Winkel_001(i, 2) = ny(knoten)
  *get, s1, node, knoten, s, 1
  *get, s2, node, knoten, s, 2
  *get, s3, node, knoten, s, 3
  Winkel_001(i, 3) = s1
  Winkel_001(i, 4) = s2
  Winkel_001(i, 5) = s3
  knoten = ndnext(knoten)
  i = i + 1
*enddo
*dim, oldorder, array, kanzahl
*moper, oldorder(1), Winkel_001(1,1), sort, Winkel_001(1,2)


könnte funktionieren...

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

Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 05. Mai. 2010 20:19    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

Es funktioniert super!

Vielen Dank.

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

Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 05. Mai. 2010 22:14    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 nochmal,

ich hab meinen Code jetzt so geändert das alles so weit funktioniert wie ich es haben wollte. Nur weiß ich jetzt nicht wie ich die Arrays als Textdokument speichern kann.

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

ChristophN
Mitglied
Berechnungsingenieur


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

Beiträge: 773
Registriert: 13.12.2008

erstellt am: 05. Mai. 2010 23: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 Nur für Bkg 10 Unities + Antwort hilfreich

Code:
*cfopen, Ausgabe, txt
*vwrite, Winkel_001(1, 1), Winkel_001(1, 2), Winkel_001(1, 3), Winkel_001(1, 4), Winkel_001(1, 5)
(F12.6,' ',F5.0,' ',F12.6,' ',F12.6,' ',F12.6)
*cfclos

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

Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 06. Mai. 2010 11:39    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

ich hab den export des Arrays in die dowhile Schleife eingefügt, aber ich bekomme eine Fehlermeldung, dass der Befehl *create nicht in einer do-Schleife verwendet werden kann. Wie kann ich trotzdem alle Arrays in Abängigkeit des Winkels in je eine Datei schreiben?

Code:

LSEL,S, , ,3 !Radius wählen
NSLL,S,1 !Knoten am Radius wählen
*get,kradius,node,0,count !Knoten zählen am Radius
NPLOT
ALLSEL,ALL  !Alles auswählen

b=(kradius-1) !Anzahl der GEsamtdurchläufe mit y-Koordinate
a=90/b !Teilung
j=90 !Startwinkel
jname=j*10 !Winkel für die Bezeichnung, da . nicht zugelassen

*dowhile,b
NSLA,S,1 !Fläche auswählen
NPLOT !Knoten ploten
NSEL,S,ANG,XY,-%j% !Knoten beim winkel -%j% auswählen
NPLOT
*get,kanzahl,node,0,count !Anzahl der Knoten bestimmen
*dim,Winkel_%jname%,array,kanzahl,5 !Array für Nodenummer,Y,S1,S2,S3
*get, knoten, node, 0, num, min
i = 1
*dowhile, knoten
winkel_%jname%(i, 1) = knoten
winkel_%jname%(i, 2) = ny(knoten)
*get, s1, node, knoten, s, 1
*get, s2, node, knoten, s, 2
*get, s3, node, knoten, s, 3
winkel_%jname%(i, 3) = s1
winkel_%jname%(i, 4) = s2
winkel_%jname%(i, 5) = s3
knoten = ndnext(knoten)
i = i + 1
*enddo
*dim, oldorder_%jname%, array, kanzahl
*moper, oldorder_%jname%(1), winkel_%jname%(1,1), sort, winkel_%jname%(1,2)

!Daten speichern
*CREATE,ansuitmp
*CFOPEN,'Winekl_%jname%','txt','Auswertung\'
*vwrite,WINKEL_%jname%(1,1),Winkel_%jname%(1,2),Winkel_%jname%(1,3),Winkel_%jname%(1,4),Winkel_%jname%(1,5)
(F12.6,F12.6,F12.6,F12.6,F12.6)
*CFCLOS
*END
/INPUT,ansuitmp

b=b-1
j=j+a
jname=j*10
*enddo


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

ChristophN
Mitglied
Berechnungsingenieur


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

Beiträge: 773
Registriert: 13.12.2008

erstellt am: 06. Mai. 2010 11:49    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 Bkg 10 Unities + Antwort hilfreich

Ich würde es so machen:
Code:
LSEL,S, , ,3 !Radius wählen
NSLL,S,1 !Knoten am Radius wählen
*get,kradius,node,0,count !Knoten zählen am Radius
NPLOT
ALLSEL,ALL  !Alles auswählen

b=(kradius-1) !Anzahl der GEsamtdurchläufe mit y-Koordinate
a=90/b !Teilung
j=90 !Startwinkel
jname=j*10 !Winkel für die Bezeichnung, da . nicht zugelassen

*dowhile,b
NSLA,S,1 !Fläche auswählen
NPLOT !Knoten ploten
NSEL,S,ANG,XY,-%j% !Knoten beim winkel -%j% auswählen
NPLOT
*get,kanzahl,node,0,count !Anzahl der Knoten bestimmen
*dim,Winkel_%jname%,array,kanzahl,5 !Array für Nodenummer,Y,S1,S2,S3
*get, knoten, node, 0, num, min
i = 1
*dowhile, knoten
winkel_%jname%(i, 1) = knoten
winkel_%jname%(i, 2) = ny(knoten)
*get, s1, node, knoten, s, 1
*get, s2, node, knoten, s, 2
*get, s3, node, knoten, s, 3
winkel_%jname%(i, 3) = s1
winkel_%jname%(i, 4) = s2
winkel_%jname%(i, 5) = s3
knoten = ndnext(knoten)
i = i + 1
*enddo
*dim, oldorder_%jname%, array, kanzahl
*moper, oldorder_%jname%(1), winkel_%jname%(1,1), sort, winkel_%jname%(1,2)

!Daten speichern
*CFOPEN,'Winkel_%jname%','txt','Auswertung\'
*vwrite,Winkel_%jname%(1,1),Winkel_%jname%(1,2),Winkel_%jname%(1,3),Winkel_%jname%(1,4),Winkel_%jname%(1,5)
(F12.6,F12.6,F12.6,F12.6,F12.6)
*CFCLOS

b=b-1
j=j+a
jname=j*10
*enddo



Mit *create erstellst du eine Datei, die du gleich im Anschluss wieder einlesen möchtest. Das kannst du dir ja eigentlich sparen, oder?

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

Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 06. Mai. 2010 12:57    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

Ok es funktioniert ohne den create Befehl, aber es kommt beim ersten Durchlauf zur folgenden Fehlermeldung:

" (F12.6,F is not a recognized BEGIN command, abbreviat or macro. This command will be ignored. "

Es wird zu jedem Array die paasende Datei erzeugt, nur die erste bei der die Fehlermedlung auftaucht ist leer.

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: 06. Mai. 2010 13:00    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 Bkg 10 Unities + Antwort hilfreich

Wir hatten mal das gleiche Problem, wenn mit dem PSPad-Editor erstellte Inputs eingelesen wurden. Mit welchem Editor arbeitest Du?

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

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

Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 06. Mai. 2010 13:07    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

Ich arbeite noch mit notepad von windows. Ich hab bis jetzt nur kleine Makros geschieben und deshalb keinen anderen editor gebraucht. Gibt es einen der sehr empfehlenswert ist?

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

ChristophN
Mitglied
Berechnungsingenieur


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

Beiträge: 773
Registriert: 13.12.2008

erstellt am: 06. Mai. 2010 13:20    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 Bkg 10 Unities + Antwort hilfreich

PSPad ist klasse, damit hatte ich nie Probleme und er macht einem das Leben wirklich einfacher.
Kann es denn sein, dass die Parameter hinter *vwrite nicht alle auf einer Zeile stehen, also ein Zeilenumbruch eingefügt wurde? Da gibt es beim Windows-Editor eine Option, mit der man automatische Zeilenumbrüche ausschaltet, das könnte bei dir vielleicht helfen. Außerdem würde ich zwischen die einzelnen Ausgabewerte Leerzeichen oder Tabulatoren einfügen, damit wird der Import in EXCEL deutlich vereinfacht. Dazu einfach (F12.6,' ',F12.6,' ',F12.6,' ',F12.6,' ',F12.6) statt (F12.6,F12.6,F12.6,F12.6,F12.6) einfügen.

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

Bkg
Mitglied
Student

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

Beiträge: 8
Registriert: 05.05.2010

erstellt am: 06. Mai. 2010 13: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

Ich hab jetzt mein makro in PSPAD reinkopiert und als inp gespeichert und in ansys mit read input from... ausgeführt und jetzt funktioniert es.
Danke für eure Hilfe.

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