| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: werte in tabellen schreiben (3318 mal gelesen)
|
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 29. Sep. 2011 15:47 <-- editieren / zitieren --> Unities abgeben:
hallo, ich führe eine nichtlineare strukturanalyse durch. nun würde ich gerne für jeden substep bestimmte werte in einen array schreiben und diese dann in einer ausgeben um die ansys berechnungsergebnisse mit anderen werten aus anderen berechnungen die nicht in ansys erstellt wurden in diagrammen grafisch zu vergleichen. z.B. [1.Spalte=X-Koordinate bestimmter Knoten, 2.Spalte zugehöriger Spannungswert im Substep 1, 3. Spalte zugehöriger Spannungswert im Substep 2, etc.] und diese dann evtl. mit *Vwrite ? in eine datei schreiben. leider bekomme ich das nicht hin. habt ihr einen vorschlag? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Avm1979 Mitglied
Beiträge: 157 Registriert: 21.11.2005
|
erstellt am: 29. Sep. 2011 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für tomz579
|
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 30. Sep. 2011 13:04 <-- editieren / zitieren --> Unities abgeben:
hallo ich scheitere, da ich ansys anfänger bin schon am anfang. ich kopier mal rein was ich schon zusammengestümpert habe. ich definiere meine tabelle in der erstmal nur in vertikaler richtung die anzahl der knoten stehen soll und zwei spalten haben soll. um die spannungsergebnisse der einzelnen substeps wollte ich mich erst später kümmern wenn ich das hier geschafft habe. *DIM,Tabellex,ARRAY,(endekontakt-anfangkontakt)/elementlaenge+1,2 *CFOPEN,xkoordinate,txt !------------Header----------- *VWRITE Knotenummer xKoordinate !-----------Daten *VRWRITE *CFCLOS in der ersten spalten soll die knotennumemr stehen und in der 2. spalte deren x-koordinate. aber daran scheitert es schon weil ich nicht rausbekomme wie ich das mache. geht das über den *get befehl? [Diese Nachricht wurde von tomz579 am 30. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Avm1979 Mitglied
Beiträge: 157 Registriert: 21.11.2005
|
erstellt am: 30. Sep. 2011 13:18 <-- editieren / zitieren --> Unities abgeben: Nur für tomz579
hi mit 1. selektiere den knoten um den es geht nsel,s,node,,xxx 2. definiere variable mit der knoten nummer *get,NN,node,,num,min (da nur ein knoten selektiert ist kannst du auch max nehmen; NN ist die Variable) 3. X koordinate rausfinden und in variable speichern *get,xoord,node,NN,loc,x ( xooord ist die variable) 4. vwrite ergänzen *vwrite,NN,xcoord (4F6.0,4F6.0) Das in klammern MUSS direkt am zeilenanfang stehen und gibt an wievielezeichen vor und nach dem Komma ausgegeben werden gruß andré Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 30. Sep. 2011 15:19 <-- editieren / zitieren --> Unities abgeben:
super, danke. hab das noch um eine schleife erweitert damit ich alle meine gewünschten knoten bekomme. *DIM,Tabellex,ARRAY,(endekontakt-anfangkontakt)/elementlaenge+1,2 !Definition der Dimension der Matrix "Tabellex" *CFOPEN,xkoordinate,txt !------------Header----------- *VWRITE Knotenummer xKoordinate *CFCLOS
Esel,s,type,,1 !Selektiere Elemente 1 (Beton) Nsle,s !Selektiere Knoten der selektierten Elemente Nsel,R,loc,y,100 !Reselektiere Knoten mit y=100 (Grenzfläche) Nsel,r,loc,x,anfangkontakt,endekontakt !Reselektiere Knoten von x=120 bis x=950 *GET,Endknoten,node,,NUM,MIN *GET,Anfangsknoten,node,,NUM,MAX *DO,NN,Endknoten,Anfangsknoten,1 *GET,XCOORD,NODE,NN,LOC,X *CFOPEN,xkoordinate,txt,,append !-----------Daten------------- *VWRITE,NN,XCOORD (4F6.0,4F6.0) *CFCLOS *ENDDO hast du auch noch wie anscheinend bei meinen anderen problemen aus dem stegreif eine antwort dafür parat wie ich nun in den spalten nach der x-koordinate z.B. die Spannung in x-Richtung für jeden lastschritt bekomme. besten dank. gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Avm1979 Mitglied
Beiträge: 157 Registriert: 21.11.2005
|
erstellt am: 30. Sep. 2011 17:06 <-- editieren / zitieren --> Unities abgeben: Nur für tomz579
|
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 04. Okt. 2011 13:56 <-- editieren / zitieren --> Unities abgeben:
hallo klappt das denn auch für Spannungen im Kontaktelemen z.b. CONT,STOT kann in der hilfe für *get nichts dergleichen finden. und einfach die normalen kürzel anstatt s,x cont,stot klappt natürlich nicht. kann man an diese werte anders rankommen? danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Avm1979 Mitglied
Beiträge: 157 Registriert: 21.11.2005
|
erstellt am: 04. Okt. 2011 20:22 <-- editieren / zitieren --> Unities abgeben: Nur für tomz579
|
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 05. Okt. 2011 12:03 <-- editieren / zitieren --> Unities abgeben:
|
nohlesepiet Mitglied
Beiträge: 18 Registriert: 29.09.2011
|
erstellt am: 05. Okt. 2011 21:12 <-- editieren / zitieren --> Unities abgeben: Nur für tomz579
Ich stand zufälligerweise heute vor einem Ähnlichen Problem. Und zwar wollte ich den Kontaktstatus über den Substeps auslesen. Mir ist nix besseres eingefallen als das ganze was umständlich anzugehen aber vielleicht hilft es dir ja weiter: Im Prinzip läuft das so: - Kontaktelemente auswählen und den gewünschten Wert in eine Element Table schreiben - Die Nummern der Elemente in nen Vektor schreiben - Dann die Elemente aus dem Vektor einzel abklappern und den Kontaktstatus (in deinem Fall der Druck)sowie die Koordinaten(oder ggf. die Nummern) der jeweiligen Knotem am Element in nen Ergebnisvektor schreiben Weil immer ein Knoten überlappt müsste man am Ende noch die doppelten Knoten aus dem Vektor löschen, aber das geht flotter in Excel. Ich hoffe es hilft weiter Piet *GET,Anz_Cont_elem,ELEM,,COUNT
! Substep wählen ESEL,S,TYPE,,3 ! Contactelemente wählen ETABLE,ConStat,CONT,STAT ! Contactstatus in eine Tabelle schreiben *GET,anz_elem,ELEM,0,COUNT *DIM,elem_nummern,ARRAY,anz_elem ! Vektor mit den Nummern der Kontaktelemente *DO,i,1,anz_elem,1 ! wird hier gefüllt *GET,temp_min,ELEM,0,NUM,MIN elem_nummern(i)=temp_min ESEL,U,ELEM,,temp_min *ENDDO ALLSEL,ALL anz_nodes=2*(anz_elem) *DIM,node_conta_stat,ARRAY,anz_nodes,3 ! 2 Spalten r,phi Koordinaten 1 Spalte Kontaktstatus CSYS,11 *DO,i,1,anz_elem,1 temp_e_nr=elem_nummern(i) ESEL,S,ELEM,,temp_e_nr *GET,node_conta_stat(2*i,3),ETAB,1,ELEM,temp_e_nr ! Schreibt den Kontaktatus des Elements in den Ergebnisvektor *GET,node_conta_stat(2*i-1,3),ETAB,1,ELEM,temp_e_nr NSLE,S *GET,temp_node_nr_min,NODE,,NUM,MIN ! Mininale Knotennummer *GET,temp_node_nr_max,NODE,,NUM,MAX node_conta_stat(2*i-1,1)=NX(temp_node_nr_min) node_conta_stat(2*i-1,2)=NY(temp_node_nr_min) node_conta_stat(2*i,1)=NX(temp_node_nr_max) node_conta_stat(2*i,2)=NY(temp_node_nr_max) *ENDDO CSYS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nohlesepiet Mitglied
Beiträge: 18 Registriert: 29.09.2011
|
erstellt am: 06. Okt. 2011 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für tomz579
|
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 07. Okt. 2011 17:09 <-- editieren / zitieren --> Unities abgeben:
bei mir liefert er nur völlig unnsinnige werte. ist es möglich das mit den knotenergebnissen zu machen. wenn ich das richtig verstanden habe ziehst du ja aus dem elementtable die elementergebnisse und setzt diese auf die knoten. um die knotenergebnisse zu erhalten müsste ich die werte der jeweils benachbarten knoten mitteln? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomz579 Mitglied
Beiträge: 24 Registriert: 29.09.2011
|
erstellt am: 18. Feb. 2012 18:22 <-- editieren / zitieren --> Unities abgeben:
falls es noch von interesse ist: eine relativ einfache möglichkeit die Kontaktspanungen etc zu bekommen ist natürich die anfordeerung der werte über SMISC bzw. NMISC.
hat leider lange gedauert bis mir sich dieser weg, nun gottseidank bei anderen modell eröffnet hat. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|