| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: .rth Datei wird nicht erzeugt (1748 mal gelesen)
|
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 29. Jun. 2015 18:26 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, im Rahmen meiner Masterarbeit führe ich mit ANSYS 15 eine Load Transfer Coupled Physics Analysis durch. Beteiligt sind eine elektromagnetische, eine thermische und eine strukturelle Simulation. Für die Lösung des thermischen Modells setze ich folgenden Code ein: !==== Thermisches Modell lösen physics,read,Thermisch /assign,emat,Therm,emat /assign,esav,Therm,esav /assign,rth,Therm,rth /solu parsav,all,Parameter,sav *if,i,gt,1,then antype,trans,rest *endif parres,new,Parameter,sav time,Zeit cmsel,s,Blech_Area,area esla,s *If,Keop,eq,6,then ldread,hgen,,,Zeit,,Mag,rmg *Elseif,Keop,eq,0,then ldread,hgen,,,Zeit,,Mag,rmg *endif esel,all solve *vplot,Qint_Matriz(1,0),Qint_Matriz(1,1) *vplot,Qint_Spule(1,0),Qint_Spule(1,1) *vplot,Qint_Blech(1,0),Qint_Blech(1,1) finish /assign,emat /assign,esav /assign,rth Mein Problem ist nun, dass die Datei Therm.rth trotz entsprechender Meldung im Outputfenster "Therm.rth does not exist and will be created." einfach nicht im entsprechenden Arbeitsordner erstellt wird. Wenn ich im weiteren Ablauf des Makros auf die Datei zugreifen möchte, kommt entsprechend die Fehlermeldung "The results file (Therm.rst) is not available. The LDREAD Command is ignored." Wenn ich manuelle eine entsprechende leere Datei anlege, wird diese beim Durchlauf des Makros gelöscht. Ich bin vollkommen ratlos, hoffe aber noch auf einen Bedienungsfehler. Ein Bug in ANSYS wäre wirklich unglücklich. Ich freue mich sehr über jeden Hinweis und Eure Hilfe. Schöne Grüße, Hendrik Röhrs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 29. Jun. 2015 18:44 <-- editieren / zitieren --> Unities abgeben: Nur für HendrikRoe
Macht das der Befehl PHYSICS? In der Hilfe steht: Zitat: Option: READ: Deletes all solution information (material properties, solution options, load step options, constraint equations, coupled nodes, results, and GUI preference settings) then reads all the information listed above into the ANSYS database from the location specified by the Fname and Ext arguments.
Möchtest Du genau das? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 30. Jun. 2015 09:18 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich orientiere mich bei der Struktur meines Makros an dem Beispiel zum Induction Heating aus der Hilfe. Dort sieht der Code folgendermaßen aus: *do,i,1,ftime/tinc ! solution *do loop time=time+tinc ! increment time physics,read,emag ! read emag physics file /solu *if,i,eq,1,then tunif,100 ! initial temperature *else ldread,temp,last,,,,,rth ! read thermal analysis temperatures *endif solve ! solve harmonic analysis finish physics,read,thermal ! read thermal physics file /assign,esav,therm,esav ! redirect files for use in thermal restart /assign,emat,therm,emat /solu parsav,scalar,parameter,sav !save parameters before multiframe restart *if,i,gt,1,then antype,trans,rest ! thermal restart *endif parres,new,parameter,sav !restore parameters after multiframe restart time,time ! time at end of thermal run esel,s,mat,,2 ! select billet region ldread,hgen,,,,2,,rmg ! apply coupled joule heating load from emag esel,all solve finish /assign,esav ! reassign files to default /assign,emat *enddo ! end of solution looping finish save ! save database Der physics,read-Befehl scheint demnach schon korrekt zu sein. Das Thermische Modell habe ich wie folgt definiert: !--------------------Thermisch----------------------------------------------! /prep7 lsclear,all !---- Alle Lasten und Lastschrittoptionen löschen *If,MagEle,eq,13,then !---- Freiheitsgrad auf Temperaturen stellen et,Luft_Elem,0 et,Spule_Elem,plane13,2,,1 et,Blech_Elem,plane13,2,,1 et,Matriz_Elem,plane13,2,,1 *Endif /solu antype,trans toffst,0 !---- Temperatur Offset tunif,20 !---- Referenztemperatur cnvtol,heat,1 !---- Konvergenzkriterium setzen kbc,1 !----Sprungförmige Lastaufbringung trnopt,full autopt,on nsubst,1 outres,basic,all cnvtol,heat,1 !RESCONTROL,DEFINE,all,last,0 allsel physics,write,Thermisch,Thermisch Kennt diese Problem tatsächlich niemand? Besten Dank im Voraus, Hendrik Röhrs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 30. Jun. 2015 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für HendrikRoe
Es ist sehr unwahrscheinlich, dass dies ein Bug in Ansys ist. Läuft denn das Ansys-Beispiel bei Dir durch? Zitat: Original erstellt von HendrikRoe: Mein Problem ist nun, dass die Datei Therm.rth trotz entsprechender Meldung im Outputfenster "Therm.rth does not exist and will be created."
Nach welchem Befehl kommt diese Meldung? Ich schätze nach /assign,rth,Therm,rth. Wozu benötigst Du diesen Befehl? Zitat: Original erstellt von HendrikRoe: "The results file (Therm.rst) is not available. The LDREAD Command is ignored."[/i]
Diese Fehlermeldung kann durch keinen der Befehle hervorgerufen werden, die in Deinem Code-Schnipsel stehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 30. Jun. 2015 10:12 <-- editieren / zitieren --> Unities abgeben:
Ich halte den Bug in Ansys auch für unwahrscheinlich. Das Problem ist, dass ich das Makro von jemand anderem (fast) ohne jeden Kommentar übernommen habe, und deshalb nicht über die Sinnhaftigkeit jeder Zeile abschließend urteilen kann. Klar ist, dass der Befehl /assign,rth,Therm,rth dazu dient, die Ergebnisdatei zu bennen, damit im nächsten Schleifendurchlauf die Temperatur auf das elektromagnetische Modell aufgebracht werden können. Das Codefragment hierzu lautet: *do,i,1,schritte Zeit=Zeit+tinc !==== Elektromagnetisches Modell lösen physics,read,Magnetisch /assign,emat,Mag,emat !---- Binär, Element matrices /assign,esav,Mag,esav !---- Binär, Element saved data /assign,rmg,Mag,rmg !---- Binär, Results from magnetic field analysis /solu *if,i,eq,1,then !==== 1. Lastschritt time,Zeit tunif,20 *do,g,1,WindungenAnzahl !---- Für alle Windungen asel,s,area,,g !---- Windungsflächennummer = 1-21?! nsla,s *get,Node_Num(g,1),node,,num,min !---- Schreibe die jeweils kleinste Knotennummer in Liste cp,g,volt,all !---- Verknüpfe Voltage Freiheitsgrade aller Knoten einer Windung *enddo nsel,s,loc,x,0 !---- Wähle alle Knoten an der Symmetrieachse d,all,az,0 !---- Setze magnetisches Vektorpotential zu Null *do,t,1,WindungenAnzahl !---- Für alle Windungen asel,s,area,,t *If,Keop,eq,6,then !---- Freiheitsgrad magnetisches + elektrisches Potential nsla,s f,Node_Num(t,1),amps,%arg% !---- Beaufschlage Windungsknoten mit Strom *Elseif,Keop,eq,0,then !---- Freiheitsgrad magnetisches Potential esla,s bfe,all,js,,,,%arg% !---- Beaufschlage Element mit Stromdichte *endif *enddo *else !==== Jeder weitere Lastschritt parsav,all,Parameter,sav !---- Speichere Parameter antype,trans,rest !---- Neustart vorangegangene Analyse parres,new,Parameter,sav !---- Lade Parameter time,Zeit cmsel,s,Blech_Area,area !---- Wähle Blechfläche esla,s !---- Wähle Blechflächenelemente ldread,temp,last,,,,Therm,rth !---- Lese Temperaturen aus letztem Lastschritt, Bringe Temperaturen auf *do,g,1,WindungenAnzahl !---- Siehe oben asel,s,area,,g nsla,s *get,Node_Num(g,1),node,,num,min cp,g,volt,all *enddo nsel,s,loc,x,0 !---- Siehe oben d,all,az,0 *do,t,1,WindungenAnzahl !---- Siehe oben asel,s,area,,t *If,Keop,eq,6,then nsla,s f,Node_Num(t,1),amps,%arg% *Elseif,Keop,eq,0,then esla,s bfe,all,js,,,,%arg% *endif *enddo allsel *endif allsel solve finish Ich schätze, dass die Fehlermeldung durch das fett markierte Kommando hervorgerufen wird. Das Beispiel aus der Hilfe läuft ohne Probleme durch. Eine induc.rth wird dabei auch erstellt. Hast Du, Christoph, oder jemand anderes, eine Idee, wie ich das Problem näher eingrenzen kann?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 30. Jun. 2015 12:33 <-- editieren / zitieren --> Unities abgeben: Nur für HendrikRoe
Zitat: Original erstellt von HendrikRoe: Ich schätze, dass die Fehlermeldung durch das fett markierte Kommando hervorgerufen wird.
Denke ich auch. Also muss Dein Problem ja in irgendwelchen Befehlen davor liegen... Zu dem /assign: So ganz verstehe ich nicht, wozu die Ergebnisdatei des vorangegangenen Schritts benötigt werden soll!? Im Ansys-Beispiel wird das ja auch nicht gebraucht... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 30. Jun. 2015 13:43 <-- editieren / zitieren --> Unities abgeben:
Wir führen insgesamt sogar vier Simulationen durch. Zwei davon erzeugen eine Ergebnisdatei .rmg und zwei (Struktur und Thermo) erzeugen ein .rst Um diese Dateien in späteren Lösungsschleifendurchlaufen im ldread-Befehl gezielt ansprechen zu können, weisen wir Namen zu. Es stellt sich die Frage, ob es für ANSYS problematisch ist, wenn Ergebnisdateien nicht den Namen des Projektes haben. So wäre es ja, wenn wir keine speziellen Namen zuweisen würden?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 01. Jul. 2015 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für HendrikRoe
|
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 01. Jul. 2015 14:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Herr Schätzing, das heißt, sie haben mit dem Plane13 Element auch schon merkwürdiges Verhalten beobachtet?! Kann es vielleicht sein, dass es keine gute Idee ist, Plane13 mit Temperaturen als Knotenfreiheitsgrade in einer thermischen Analyse einzusetzen? Vielen Dank und beste Grüße, Hendrik Röhrs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 01. Jul. 2015 15:36 <-- editieren / zitieren --> Unities abgeben: Nur für HendrikRoe
|
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 01. Jul. 2015 16:26 <-- editieren / zitieren --> Unities abgeben: Nur für HendrikRoe
|
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 01. Jul. 2015 17:20 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für das Beispiel! Das kuriose ist ja, dass unser Makro in Version 14.5 durchläuft. In anderen Versionen kommt die o.g. Fehlermeldung. Das Vorliegen von direkt behebbaren Programmierfehlern ist also eher unwahrscheinlich. Es scheint schlicht so zu sein, dass nach dem Solve-Befehl im thermischen Modell programmintern nicht das passiert, was passieren sollte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HendrikRoe Mitglied Student
Beiträge: 32 Registriert: 29.06.2015
|
erstellt am: 01. Jul. 2015 17:30 <-- editieren / zitieren --> Unities abgeben:
Nachfolgend der Code, der das thermische Modell spezifiziert: /prep7 lsclear,all !---- Alle Lasten und Lastschrittoptionen löschen et,Luft_Elem,0 et,Spule_Elem,plane55,,,1 !---- Freiheitsgrad auf Temperaturen stellen et,Blech_Elem,plane55,,,1 et,Matriz_Elem,plane55,,,1 /solu antype,trans toffst,0 !---- Temperatur Offset tunif,20 !---- Referenztemperatur cnvtol,heat,1 !---- Konvergenzkriterium setzen kbc,1 !----Sprungförmige Lastaufbringung trnopt,full autopt,on nsubst,1 outres,basic,all cnvtol,heat,1 !RESCONTROL,DEFINE,all,last,0 allsel physics,write,Thermisch,Thermisch
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|