| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Werte aus ARRAY einer Knotenauswahl zuweisen (1486 mal gelesen)
|
ga6riel Mitglied Dipl.Ing. Maschinenbau
Beiträge: 25 Registriert: 29.06.2005 Windows/ - 64 Bit Pro Engineer Wildfire 4.0, Creo Parametric 1.0 Ansys 14.0 (Mechanical APDL/ Workbench)
|
erstellt am: 16. Jul. 2010 15:44 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe ANSYS-Gemeinde, ich stehe vor dem folgenden Problem. Ich habe eine Knotenauswahl von zwei Linien: LSEL,S,LINE,,135,136 NSLL,,1 und kenne die Verschiebungen die auf die Knoten aufgeprägt werden sollen. Sprich, habe diese als eine Textdatei in zwei Spalten (Knotennummer und dazugehörige Verschiebung in x-Richtung) vorliegen. Wie stelle ich es nun an, die Verschiebungen den Knoten zuzuweisen. Kann ich das über den Befehl: D,ALL,UX,%tabname% realisieren und ist der Typ der Tabelle relevant? Wenn ich die Tabelle auf eine Spalte, die mit den Werten der Verschiebung, reduziere (1D Array) weist Ansys der Knotenauswahl die Werte erster Knoten erste Zeile usw. automatisch zu? Oder denke ich da zu einfach und muss die Zuweisung über eine *DO Schleife vornehmen? Hat schon jemand mit einem ähnlichen Problem zu tun gehabt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 17. Jul. 2010 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für ga6riel
moin. hab kein ansys an, aber versuch's mal in etwa so (Befehle bitte auf Syntax prüfen) Vorraussetzung: Knotenanzahl und Zeilenanzahl in array "MYARRAY" sind identisch! LSEL,S,LINE,,135,136 NSLL,,1 !alle erwünschten knoten sind aktiv *get,KNOTENANZAHL,node,,count *do,i_node,1,KNOTENANZAHL,1 D,MYARRAY(i_node,1),UX,MYARRAY(i_node,2) *enddo *del,i_node Kann sein, dass Du um die Argumente im D-Befehl noch %..% setzen mußt, einfach mal testen gruß ral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ga6riel Mitglied Dipl.Ing. Maschinenbau
Beiträge: 25 Registriert: 29.06.2005 Windows/ - 64 Bit Pro Engineer Wildfire 4.0, Creo Parametric 1.0 Ansys 14.0 (Mechanical APDL/ Workbench)
|
erstellt am: 17. Jul. 2010 16:09 <-- editieren / zitieren --> Unities abgeben:
Danke erst mal für die schnelle Antwort RAL, kann leider wieder erst am Montag wieder Deinen Tipp umsetzen. Habe noch am Freitag kurz vorm Feierabend eine sehr simple Lösung angewendet, in dem ich die Tabelle mit den Verschiebungen mit den entsprechenden Verschiebungsbefehlen über Exel ergänzt und dann ins Command File eingefügt habe. Ist natürlich nur eine suboptimale und unflexible Lösung in Hinsicht darauf, dass ich eine Reihe von ähnlichen Bauteilen habe die ich simulieren will. So wie ich deine Lösung verstehe macht die Schleife genau das was ich mir vorstelle. Muss ich das Array mit den Verschiebungswerten vorher im Ansys aufrufen, etwa mit *VREAD, oder holt sich Ansys die Werte aus der besagten txt-Datei die ich im Arbeitsverzeichnis hinterlege (dies wäre ja der Fall wenn ich die Argumente in %... % ) Grüße, ga6riel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 17. Jul. 2010 23:55 <-- editieren / zitieren --> Unities abgeben: Nur für ga6riel
moin. falls die Verschiebungen Messwerte o.ä. sind kannst du sie nur importieren. Falls sich die Verschiebungswerte z.b. aus den Knotenkoordinaten errechnen lassen, würde ich vorschlagen, alles ansys intern zu lösen. Generell gilt: Parametrisch progammieren und mit macros arbeiten. Bitte Syntax der Befehle in der Hilfe nachlesen, das hier ist nur der "Schlachtplan" Vorgehen bei excel-Import: *dim,myarray,array,......! Feld in gewuenschter Groesse in Ansys anlegen *vread,myarray,'excel_export',dat ! Daten einlesen (1E14.5) ! Format nicht vergessen weiteres Vorgehen wie oben. Wenn du VORHER schon die Knotenanzahl und die Verschiebungen kennst, kann man alles in ein schönes macro packen, was das Arbeiten ungemein erleichtert. Aufpassen bei *vread: kann man nicht über die Eingabezeile einlesen. Die Geschichte mit den "%...%" habe ich selber noch nicht ganz gerafft. Wenn man in Schleifen die Laufvariable in die Argumente des arrays legt, versteht ANSYS das nicht ( oder ich weiss nicht, wie es richtig geht ;-) ) oder man kriegt nicht das gewünschte raus. Die %% ändern NICHT dass du die die Werte erstmal Ansys zur Verfügung stellen mußt via *vread. Einlesenn-> verarbeiten -> lösen Allseits frohes Schaffen ral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|