| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | | |  | Nachweislich fest mit FKM: Festigkeitsnachweis einfach gemacht, ein Fachartikel
|
|
Autor
|
Thema: Druckzuordnung mit SFE (1402 mal gelesen)
|
modratt Mitglied Student

 Beiträge: 52 Registriert: 23.01.2009 ANSYS 11.0
|
erstellt am: 12. Feb. 2009 12:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe Mitglieder, ist ein Problem gelöst, kündigt sich schon das nächste an. Ich brauch unbedingt eure Hilfe, denn ich komme einfach nicht mehr weiter. Folgende Problematik: Habe das Netz eines verformten Flächenmodels mit: UPGEOM,1,,,Load_Test,rst "aktualisiert" und die Last aus meinem ersten Berechnungsschritt gelöscht, so dass ich prinzipiell mit dem verformten Netz bzw. der verformten Geometrie eine neue Berechnung durchführen kann. Bei den Lastvorgaben handelt es sich immer um ungleichmäßig verteilte Flächenlasten. Im ersten Berechnungsschritt konnte ich das Problem über ein 2D table type array lösen. Beim zweiten Berechnungsschritt kann ich jetzt keine tabellarische Belastung mehr aufbringen, da ja jetzt die verformten Elemente nicht mehr nur von einem Koordinatensystem abhängig sind. Deshalb habe ich mir gedacht, dass ich die Elemente mit dem Befehl: SFE einzeln ansteuern könnte. Für die einzelnen Drücke pro Element liegt mir eine *.txt Datei vor. Eine Spalte und nn-Zeilen. Die nn-Zeilen sind natürlich konform mit der Anzahl der Elemente. Diese Daten habe ich jetzt in ein array geschrieben, wobei ich vorher die Zeilenanzahl mit der Elementanzahl beschrieben habe: *GET,nn,ELEM,,COUNT *DIM,Pressure,array,nn *VREAD,Pressure,'Daten','txt','Daten\',,jik,1,nn,, (10xF10.0) Jetzt wollte ich mit Hilfe des arrays (bzw. der Zeilenwerte des arrays) die Elemente einzeln über eine Schleife mit einer Flächenlast ansteuern: *DO,i,1,nn *GET,in,ELEM,in,NXTH !hier müsste jetzt der Befehl zur Arrayanwahl bzw. Zeilenanwahl hin. Dann mit SFE,in,,PRES,,... !der Wert ... müsste dann mit einem Parameter ersetzt werden!
*ENDDO Ich habe schon die ANSYS-Hilfe und das Forum durchforstet aber keinen Befehl oder ähnliches gefunden. Vielleicht habe ich ja etwas übersehen. Ist es überhaupt möglich aus einem array einzelne Werte auszulesen und diese dann als Lastzuordnung für einzelne Elemente zu verwenden bzw. diesen Vorgang mit einer Schleife zu automatisieren? Ich benötige unbedingt eure Hilfe. Ich weiß einfach nicht mehr weiter.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
  
 Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 12. Feb. 2009 16:36 <-- editieren / zitieren --> Unities abgeben:          Nur für modratt
Hey, nur zur Zusammenfassung, ob ich dein Problem richtig verstanden habe: du hast dein Array vollständig aufgebaut und zwar so, dass in der i-ten Zeile des Arrays der Druck auf das i-te Element steht, richtig? Dann dürfte das prinzipell hiermit dann kein Problem sein: *DO,i,1,nn !for(i=1 bis i=nn) SFE,i,,PRES,,Pressure(i) !auf das i-te element wird ein Druck aus dem Array Pressure, und zwar das element der i-ten Zeile, aufgebracht *ENDDO Das wäre die eine Möglichkeit, sollte ANSYS damit Probleme haben, kannst du auch einen "Zwischenspeicherparameter" wählen: *DO,i,1,nn !for(i=1 bis i=nn) Druck = Pressure(i) SFE,i,,PRES,,Druck *ENDDO Dein *GET-Befehl ist zwar nicht unbedingt falsch, aber in deinem Fall unnötig, da du ja weißt, dass die Dimension des Arrays genau deiner Elementanzahl entspricht und die i-te Zeile eben dem i-ten Element zugeordnet ist. Ich hoffe, das war dein Problem. Grüße Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
  
 Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 12. Feb. 2009 16:43 <-- editieren / zitieren --> Unities abgeben:          Nur für modratt
Achso, wenn das nicht so ist, dass die i-te Zeile des Arrays dem Element der Nummer i zugeordnet ist, aber die Reihenfolge stimmt, d.h. dass die i+1. Zeile des Arrays dem nächsthöherem Element zugeordnet ist, kann man den folgenden Code verwenden: *GET,elementnummer,ELEM,0,NUM,MIN *DO,i,1,nn !for(i=1 bis i=nn) SFE,i,,PRES,,Pressure(i) *GET,elementnummer,ELEM,elementnummer,NXTH *ENDDO Dann geht der Parameter i von 1 bis nn und der Parameter elementnummer von der kleinsten bis zur letzten Elementnummer. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modratt Mitglied Student

 Beiträge: 52 Registriert: 23.01.2009 ANSYS 11.0
|
erstellt am: 13. Feb. 2009 08:32 <-- editieren / zitieren --> Unities abgeben:         
Mensch Christoph, dass war genau das was ich gebraucht habe. War also schon auf dem richtigen Weg. Wuste bloss nicht wie ich das array ansteuern kann. Besten Dank @ Christoph @ Forum. Wenn ich euch nicht hätte würde ich manchmal tausend Tode sterben. Ich hoffe das ich euch auch irgendwann mal helfen kann, wenn ich programmtechnisch fit genug bin! Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |