Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Daten in Array schreiben

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:  Daten in Array schreiben (2889 mal gelesen)
magerhirn
Mitglied
Dipl.-Ing.


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

Beiträge: 25
Registriert: 15.10.2010

erstellt am: 21. Dez. 2010 23:26    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


forum.txt

 
Hallo Experten!

Ich möchte von bestimmten Knoten Werte auslesen und diese zusammen mit den Knotennummern in eine Textdatei schreiben. Habe dazu die gewünschten Knoten selektiert und dann mit vget, vmask und vwrite alles in eine txt-Datei ausgegeben.
Es passiert folgendes: Das gewünschte Array wird mit der richtigen Anzahl an Zeilen und Spalten gebildet. Nur leider scheint das mit dem *vmask nicht zu funktionieren. Es werden alle Knoten abgefragt, ganz gleich, ob ich sie selektiert habe oder nicht (Selektieren der Knoten funktioniert einwandfrei), bis das Array voll ist.

Hat jemand eine Antwort?

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

M.Seidler
Mitglied
Dipl. Ing.


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

Beiträge: 600
Registriert: 08.01.2007

ABAQUS CAE 6.10
Ansys 13
Hyper Works 11

erstellt am: 22. Dez. 2010 17:55    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 magerhirn 10 Unities + Antwort hilfreich

Mir sind 2 Sachen aufgefallen:

1.
*get,nmax,node,0,count ! Anzahl Knoten

2.
Super umständlich und somit zu lang und unübersichtlich
Ich würde mit ner Schleife arbeiten die einen selektierten Knoten nach dem anderen Anspricht (ndnext).

------------------
***********************
Gruß

Der Markus

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

magerhirn
Mitglied
Dipl.-Ing.


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

Beiträge: 25
Registriert: 15.10.2010

erstellt am: 22. Dez. 2010 21:05    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

zu 1. - ja, es soll natürlich nicht die größte Knotennummer ausgewählt werden sondern die Anzahl der selektierten Knoten.

zu 2. - habe deinen Rat befolgt und die input-Datei wie folgt umgeschrieben:

Code:

   ALLS                                                              !Knoten um Loch
   LSEL,S,LOC,Z,L1
   ASLL,S,ALL
   NSLA,S,1
   *get,nmax,node,0,count                                            !Knotenanzahl
   *get,nmin,node,0,num,min                                          !kleinste Knotennummer
   narb=nmin
   *vwrite,LF                                                        !Laststellung in
   (F6.0)
   *dim,_arr,array,nmax,3
   *cfopen,'Werte','txt',,append                                     !Werte.txt öffnen
   *do,i,nmin,nmax                                                   !Schleifenan
      *get,S1,node,narb,s,1                                         
      *get,MIS,node,narb,s,eqv                                      
      _arr(i,1)=narb
      _arr(i,2)=S1
      _arr(i,3)=MIS
      narb=ndnext(narb)
   *enddo
   *cfclos

Ansys schreibt folgendes in die LOG-file und scheint sich dann aufzuhängen. Dabei läuft die Festplatte auf Hochtouren, bis ich Ansys stoppe.


Code:

SELECT ALL ENTITIES OF TYPE= ALL  AND BELOW

SELECT       FOR ITEM=LOC  COMPONENT=Z     BETWEEN  135.00     AND   135.00   
   KABS=  0.  TOLERANCE= 0.675000   

        4  LINES (OF      362  DEFINED) SELECTED BY LSEL  COMMAND.

SELECT      ALL AREAS HAVING ANY LINE IN LINE SET.

        4  AREAS (OF      166  DEFINED) SELECTED FROM
        4 SELECTED LINES BY  ASLL  COMMAND.

SELECT      ALL NODES (INTERIOR TO AREA, INTERIOR TO LINES, AND AT
        KEYPOINTS) RELATED TO SELECTED AREA SET.

      624  NODES (OF    92052  DEFINED) SELECTED FROM
        4 SELECTED AREAS BY NSLA COMMAND.

*GET  NMAX      FROM  NODE  ITEM=COUN       VALUE=  624.000000   

*GET  NMIN      FROM  NODE  ITEM=NUM  MIN   VALUE=  105.000000   

PARAMETER NARB =     105.0000000   
44.

SET PARAMETER DIMENSIONS ON  _ARR TYPE=ARRA  DIMENSIONS=   624     3     1

OPENED FILE= Werte.txt FOR COMMAND FILE DATA

  FILE OPENED FOR APPEND

*DO LOOP ON PARAMETER= I FROM  105.00     TO  624.00     BY  1.0000



[Diese Nachricht wurde von magerhirn am 22. Dez. 2010 editiert.]

[Diese Nachricht wurde von magerhirn am 22. Dez. 2010 editiert.]

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. Dez. 2010 10: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 magerhirn 10 Unities + Antwort hilfreich

Ob sich Ansys tatsächlich "aufhängt" kann kontrolliert werden, indem in die *do-Schleife ein
/com,loop %i%/%nmax%
eingefügt wird. In jedem Schleifendurchlauf wird dann im Output-Fenster angezeigt, wo die Rechnung steht. Wahrscheinlich ist die Rechnung nur langsam.
In Deinem Fall würde ich doch eher *vget verwenden. Das ist deutlich schneller als *do, besonders bei vielen Knoten, also einer großen Anzahl von Schleifendurchläufen.

Klappt denn das Schreiben in die Datei Werte.txt?

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

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

magerhirn
Mitglied
Dipl.-Ing.


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

Beiträge: 25
Registriert: 15.10.2010

erstellt am: 23. Dez. 2010 17:34    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


Werte.txt

 
Hab jetzt mal das Netz gröber gemacht (SMRTSIZE 10). Es werden nun Daten in Werte.txt geschrieben, allerdings nicht in der Form, wie ich sie gerne hätte. Hab die Datei mal angehängt.

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: 25. Dez. 2010 12:56    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 magerhirn 10 Unities + Antwort hilfreich


magerhirn.txt

 
So (wie im Anhang beschrieben) müsste es (auch im interaktiven Betrieb) gehen.
Aber es geht sicher auch noch einfacher.

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

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

magerhirn
Mitglied
Dipl.-Ing.


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

Beiträge: 25
Registriert: 15.10.2010

erstellt am: 25. Dez. 2010 14:26    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,
danke für die Mühen, nur leider geht dies nicht. Ich muss alles innerhalb einer *do Schleife aufrufen (mehrere Lastfälle, wir befinden uns in einer shell-Datei) und der *create Befehl funktioniert leider nicht in einer Schleife.

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: 25. Dez. 2010 15: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 Nur für magerhirn 10 Unities + Antwort hilfreich

Wenn am Ende der Rechnung die Ergebnisse in einem oder mehreren Arrays stehen, kann der Array-Inhalt so herausgeschrieben werden. Dazu braucht es dann keine Schleife mehr.

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

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

magerhirn
Mitglied
Dipl.-Ing.


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

Beiträge: 25
Registriert: 15.10.2010

erstellt am: 25. Dez. 2010 19: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

Ich brauche die Schleife allerdings, um meine input Dateien aufzurufen.

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



CAE-Berechnungsingenieur für Kunststoffteile (m/w/d)

EMS-GRIVORY ist ein Teil des Geschäftsbereichs Hochleistungspolymere der EMS-Gruppe und beschäftigt weltweit über 1000 Mitarbeiter. Das größte Entwicklungs- und Produktionszentrum befindet sich in Domat/Ems in der Schweiz. Weitere Produktionsstätten liegen in Deutschland, China, Taiwan und den USA. Die Stärken von EMS-GRIVORY liegen in der Entwicklung und Herstellung der Hochleistungskunststoffe und Erarbeitung innovativer Systemlösungen mit Kunden auf der ganzen Welt....

Anzeige ansehenKunststofftechnik
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: 26. Dez. 2010 09: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 magerhirn 10 Unities + Antwort hilfreich


magerhirn2.txt

 
Das funktioniert natürlich auch ohne Einbindung in ein Makro.
Siehe Anhang.
Das Makro ist nur für den interaktiven Betrieb erforderlich.

------------------
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