| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
| |
 | Metall-3D-Drucke mit ANSYS Prozesssimulation | Tech Artikel , ein Fachartikel
|
Autor
|
Thema: Solution in Lastfunktion einsetzten (1901 mal gelesen)
|
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 21. Okt. 2008 11:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute! Benötige einen Tipp! Habe in einigen Beiträgen etwas zu meinem Problem gelesen auch in der Ansyshilfe steht einiges, aber mir gelingt es nicht die Teillösungen zusammen zufassen. Deshalb wende ich mich nochmal an euch. Es geht darum: Ich belaste einen Balken von unten mit einer Wärmestromfunktion. Das Problem dabei ist, dass die Funtkion nach Eurocode 1-1-2 von der Bauteiloberflächentemperatur und der Zeit (1 Minutenschritte) abhängig ist. Versuche nun über den Function editor zu arbeiten. Mein Problem ist die folgende wie bekomme ich die Temp. an der Oberfläche in die Funktion für den nächsten Loadstep? Wie ich die Temp. nach dem ersten Substep finde ist klar aber nicht wie ich sie dann einsetzte! Ich müsste ja das etwas automatisieren da ich nicht für jeden loadstep ne neue function erstellen will! Die berechnung geht über 90 Minuten mit 1 minute langen Lastschritten. Mein plan sieht zur zeit so aus. 1. Lastschritt -> Wärmestrom bekannt /solu antype,4 !Specify transient analysis timint,on autots,on asel,s,,, sfa,all,1,hflux,25,13886.8 kbc,0 time,1*60 !1 Minute nsubst,60,60,20 solve fini 2. Lastschritt -> Wärmestrom unbekannt! A=Oberflächen Temp; t(i) = Zeit !hier muss ich jetzt die Lösung aus Loadstep 1 selektieren /post26 nsol,1,node(0,0,0),temp,,Temperaturverlauf Unterkante Bauteil !------------- !HIER LIEGT NUN DAS PROBLEM WIE DEFINIERE ICH DASS A DIE LÖSUNG DIESES PUNKTES IST?! A=nsol,1,node(0,0,0),temp,,Temperaturverlauf Unterkante Bauteil !------------ /solu antype,4 !Specify transient analysis timint,on autots,on !Funktion über Funktions Editor Tfunkt=500+8625log(8*t(i)+1)-25*A+3,969e-8*((293+345*log(8*t(i)+1))^4-(A+273)^4) t(i)=2 !da jetzt Wärmestrom nach 2 Minuten bei unbekannter Oberflächentemp. die Belastung ist asel,s,,, sfa,all,hflux,25,%Tfunkt% kbc,0 time,1*60 !1 Minute nsubst,60,60,20 solve !jetzt würde ich das 90 mal wiederholen da ich auch keine automatiesierung hinbekomme Vielleicht könnt ihr mir ja helfen! Vielen dank. Werd mich jetzt noch durch APDL durchkämpfen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 21. Okt. 2008 13:13 <-- editieren / zitieren --> Unities abgeben:         
Bin ein Stück weiter! nsol ist nicht der richtige Weg! mit n1=node(0,0,0) *get,a,node,n1,temp kann ich die Temp. selektieren und als Parameter definieren. Wenn ich den Function Editor verwende habe ich (so weit ich das sehe) keine Möglichkeit eine Automatisierung hinzubekommen, da ich ja jedesmal die Funktion einlesen und die Variablen eingeben muss und dies nicht über die Befehlsleiste geht. Darum muss es doch anders gehen. Vielleicht über ein Table Array! Kann ich die durch den *get,.. Befehl erhaltene Werte in ein Table Array schreiben? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 21. Okt. 2008 13:21 <-- editieren / zitieren --> Unities abgeben:         
Das war Blödsinn! Den Parameter in ein Table Array schreiben bringt mich nicht weiter, da ich ja der Parameter nicht die Hauptbelastung ist sondern benötigt wird um den netto-Wärmestrom und damit die Belastung zu berechnen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 29. Okt. 2008 19:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute! Ich bin alleine schon ziemlich weit gekommen, aber nun brauch ich euer Talent. Also folgendes, ich fang am besten nochmal vorne an! ich habe mein Modell generiert und vernetzt. Danach habe ich mithilfe eines Arrays die Temperatur in multilinearer Form festgelegt. So: anz=12 *dim,z,array,anz *dim,t,array,anz !1. Ausgangspunkt der Transiente z(1)=1 t(1)=349.2 !2. Anstieg von 0 bis 2 min z(2)=2 t(2)=444.5 . . Also Zeit und Temperatur sind nun festgelegt. Nun gehe ich in die /solu und errechne ich mir den Wärmestrom über die mir gegebene Funktion aus. (mach in teilschritten) Und belaste damit den Querschnitt /solu antype,4 deltim,... outres,all,all h1=25*(t(1)-20) !Temp. conv h2=(t(1)+273)*(t(1)+273)*(t(1)+273)*(t(1)+273) h3=(20+273)*(20+273)*(20+273)*(20+273) h4=h2-h3 h5=3.969e-8*h4 !Temp. rad h_f1=h1+h5 !Nettowärmestrom H_f time,1*60 sfa,all,1,hflux,h_f1 jetzt das eigentliche das Problem da die Funtkion wie schon gesagt von der Bauteiloberflächentemp. abhängig ist muss ich nun den Solutionprozessor verlassen und in den Postprozessor Jetzt hole ich mir also im /post die Temp aus der Rechnung in errechne mir die neue Belastung /post1 *get,n_2,node,node(0,0,0),temp h1=25*(t(2)-n_2) !Temp. conv h2=(t(2)+273)*(t(2)+273)*(t(2)+273)*(t(2)+273) h3=(n_2+273)*(n_2+273)*(n_2+273)*(n_2+273) h4=h2-h3 h5=3.969e-8*h4 !Temp. rad h_f2=h1+h5 !Nettowärmestrom H_f Dann wieder in die Solution rechnen lassen und wieder in den Postprozessor! Aber hier klappt was nicht. Durch das verlassen des Solutionprozessors gehen die dort berechneten Ergebnisse verloren, so dass im nächsten Lastschritt alles überschrieben wird. D.h. ansys hängt die neue belastung nicht an die alte sondern sagt scheinbar das das bauteil nie belastet war und rechnet einfach von vorne! Wie kann ich das denn ändern? Gibt es einen Befehl mit dem ich in der /solu den vorherigen Rechnenschritt einlesen kann? lswrite und lsread bringen nix, da ich ja mehr brauch als nur die Einstellungen und Optionen! Vielleicht kann ich das Ergebnis auch einlesen ohne in den Postprozessor zu wechseln! Bitte helft mir ich komm echt nicht mehr weiter! 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: 29. Okt. 2008 19:21 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
|
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 29. Okt. 2008 22:57 <-- editieren / zitieren --> Unities abgeben:         
Das probiere ich sofort aus! Danke. Ich weiß nicht wie ich es anders erklären soll! Ich belaste mein Bauteil mit einem Wärmestrom! Daraus ergibt sich eine Temperatur am Bauteil, welche ich für meinen nächsten Rechenschritt berücksichtigen muss! Denn die nächste Belastung ergibt sich dann zu Gastemperatur minus Bauteiltemperatur! Zum Zeitpunkt t, habe ich die Belastung H, dies ergibt die Bauteiloberflächentemperatur M Zum Zeitpunkt t+1, habe ich die Belastung H+1-M, welche dann eine Bauteiloberflächentemperatur von M+? ergibt. usw. da ich die die Temp. M nicht kenne muss ich sie mir aus dem /post holen! Und das alles macht mir schwierigkeiten! Aber dein Tip hilft mir vielleicht schon! Vielen dank!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 09:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo Wosch, Ich denke das mit dem antype,trans,rest,... ist ein gute Ansatz. Aber erste Erfolge sind ausgeblieben. Wenn ich mit antype,,rest arbeite dann überschreibt er mir wieder die vorangegangenen Sachen. antype,,rest,,endstep akzeptiert ansys nicht. es kommt die Fehlermeldung, dass der letzte loadstep nicht zu ende ist! Keine Ahnung warum. ich denke in der Ansys Hilfe unter Punkt 3.9.1.3.1 Re-establishing Boundary conditions steht wie ich vorgehen muss, aber da Blick ich nicht durch. Ich will ja nicht überschreiben, sondern dort weitermachen wo ich aufgehört habe! Also keine neue höhere Last, sondern ab dem letzten Punkt eine Laststeigerung durchführen. Sozusgaen ein Polygonzug. Eine Idee [Diese Nachricht wurde von Hammelfleisch am 30. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ich001 Mitglied Student
 
 Beiträge: 260 Registriert: 18.02.2008 Win Vista ANSYS 11.0 Classic AMD Sempron 1,7 GHz 2 GB RAM Pro/E WF3
|
erstellt am: 30. Okt. 2008 09:56 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
Hallo Also ich habe bei statischen Berechnungen immer mit antype,,restart,,,continue gearbeitet, um an einem konvergierten Rechenschritt mit veränderten Solutioneinstellungen fortzufahren. Vielleicht das mal statt antype,,rest,,endstep versuchen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 10:16 <-- editieren / zitieren --> Unities abgeben:         
Danke! Das hab ich auch gleich ausprobiert, ist auch die default Einstellung. Das Ergebnis kann nicht stimmen, da die gemessene Temperatur kleiner wird als die aus dem vorangegangen Lastschritt! (kann ja nicht sein da die Belastungstemperatur immer nur steigt!) Zur Zeit gebe ich als neue Belastung die Temperaturdifferenz bis zum nächsten Polygonpunkt an. Da ich ja möchte, dass Ansys auf die alte Temperatur die Differenz dazuzählt. Scheinbar beginnt er die Rechnung mit der im 2. angegebenen Temp. Belastung neu. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MGebhardt Mitglied Dipl.-Ing. Masch., WiMi

 Beiträge: 95 Registriert: 15.09.2008 2 * Intel Core 2 Duo 2,66 GHz, 2* 4 GB RAM, OpenSUSE 11.0 Ansys 11.0 Academic Research
|
erstellt am: 30. Okt. 2008 15:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
Hi, probier RESCONTROL (bitte selbst durchlesen, da fallabhängig) ANTYPE,TRANS,REST muss funktionieren. Grad erst gesehen: ZITAT: Zur Zeit gebe ich als neue Belastung die Temperaturdifferenz bis zum nächsten Polygonpunkt an. Da ich ja möchte, dass Ansys auf die alte Temperatur die Differenz dazuzählt. Scheinbar beginnt er die Rechnung mit der im 2. angegebenen Temp. Belastung neu. /ZITAT Nee, gib die Endtemperatur in jedem Zeitpunkt auf. Gruß Moritz ------------------ Moritz Oliver Gebhardt [Diese Nachricht wurde von MGebhardt am 30. Okt. 2008 editiert.] 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: 30. Okt. 2008 16:04 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
|
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 16:25 <-- editieren / zitieren --> Unities abgeben:         
at Wosch: Da ich den Wärmestrom vorher nicht kenne! Ich kenne die belastung im 1. Lastschritt! Danach ist die neue Belastung davon abhängig wie sich das Bauteil erwärmt. Das wird so in der Europäischen Norm verlangt!! at MGebhardt Mit rescontrol hab ich es auch schon versucht. Das Ergebnis war wie immer das gleiche! (Komisch ist das ich egal was ich ändere nur geringe Abweichungen im Ergebnis erziele!) Mit antype,,rest bekomme ich es immer nur hin das ich einen Loadstep habe! Er überschreibt mir die vorher abgegriffenen Werte so, dass mir die Teilergebnisse fehlen! Als file hab ich sie aber nicht in ansys. das heißt dann muss ich die database einlesen. Wird ja alles nur noch komplizierter. Seit 4 Stunden läuft ein neuer Rechenversuch! Hat gut ausgesehen doch jetzt treten wieder Unstimmigkeiten auf. Die Bauteiltemp. sinkt!!! Ich versteh's nicht. Diesmal habe ich versucht die solution nicht zu verlassen. Das heißt ich glaube so alles richtig zu machen! Dennoch springt die errechnete Temp. immermal hoch und runter! Ich versuch nochmal dein Tipp MGebhardt. Habe mal die TXT von meiner letzten Rechnung angehängt. Aber das bringt glaub ich auch nicht viel. Vielen DAnk [Diese Nachricht wurde von Hammelfleisch am 30. Okt. 2008 editiert.] 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: 30. Okt. 2008 16:48 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
Um die Temperatur zu ermitteln, muss ich doch den Lösungsprozesor nicht verlassen. Mit dieser Temperatur (aus dem aktuellen Schritt) kann doch mit einer Gleichung der Wärmestrom für den folgenden Schritt berechnet und danach aufgegeben werden. Mir ist unverständlich, dass für eine Programmentwicklung mit einem Monster, das vier Stunden läuft, gearbeitet werden muss. Für eine solche Testung eignet sich doch ein stark abgerüstetes Modell mit einer Rechenzeit von wenigen Sekunden viel besser. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 16:58 <-- editieren / zitieren --> Unities abgeben:         
Ich würde das Modell gern vereinfachen! Das wird mir jedoch nicht gewährt. Es handelt sich natürlich (wie erwähnt anders "darf" ich es nicht) um einen 3D Verbundquerschnitt! Das ich den Lösungsprozessor nicht verlassen muss hab ich ja jetzt auch rausgefunden! Die oben angehängte TXT Datei zeigt meinen Weg den ich gehe. Eine schleife wollte ich dann einsetzten wenn ich mir sicher bin, dass es klappt!# Allerdings stimmt das Ergebnis so ja auch nicht. In der Datei setzte ich Wärmestromdifferenzen ein. MGebhardt meinte ja ich soll Endwerte einsetzten. Dann werden aber die Temp. wahnsinnig hoch was auch nicht sein kann! 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: 30. Okt. 2008 17:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
In jedem Fall lässt sich zum Austesten des Algorithmus das Modell auf wenige Elemente reduzieren, um damit zu überprüfen, ob die Temperaturentwicklung im Modell plausibel steigt. (Wenn dann alles vernünftig erscheint, kann man auf das Gesamtmodell zurück gehen.) Der Weg, Schleifen erst einzusetzen, wenn der Testlauf durch zwei bis drei Schritte ordentlich läuft, ist schon in Ordnung, aber das darf nicht vier Stunden dauern. Soweit ich bisher Einblick habe, werden zwei geschachtelte Schleifen nötig sein: eine übergeordnete für die Zeit und eine untergeordnete für die beaufschlagten Elemente. (Wegen seines Umfanges schreckt der mitgegebene Quelltext ab, ihn nachzuvollziehen, zumal kein Modell dabei ist, um ihn zu testen.) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 17:37 <-- editieren / zitieren --> Unities abgeben:         
Das stimmt natürlich! Ihr müsstet mal den ganzen Quelltext sehen Nun ich werd alles nochmal zerpflücken und nochmal probieren. was bleibt mir übrig. Danke Werde jetzt erst mal einige Vereinfachungen vornehmen! [Diese Nachricht wurde von Hammelfleisch am 30. Okt. 2008 editiert.] 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: 30. Okt. 2008 19:00 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
So wie im angehängten Beispiel könnte man anfangen. Da hat man erst einmal etwas, was läuft. Dann kann im nächsten Schritt diese diskutierte Funktion für die Wärmestromdichte für jedes Element eingebaut und getestet werden. erst zum Schluss wird dann das alles auf das Vollmodell übertragen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 19:12 <-- editieren / zitieren --> Unities abgeben:         
|
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 30. Okt. 2008 19:29 <-- editieren / zitieren --> Unities abgeben:         
Eins versteh ich noch nicht so ganz! /solu endzeit=240 schritte=6 antype,trans kbc,1 outres,all,all *do,i,0,schritte time,endzeit/schritte*i+1e-12 ... Was passiert hier? kbc,1, also stepped! Heißt das, dass der Wärmestrom innerhalb von 4 minuten aufgebaut wird? Und warum die Eingabe von 1e-12 bei time? Danke EDIT!!!! Logisch! Wegen i=0 klar! Deshalb die 1e-12! [Diese Nachricht wurde von Hammelfleisch am 30. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 31. Okt. 2008 07:27 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich habe mir das heut Nacht nochmal durch den Kopfgehen lassen! Dank dir Wosch habe ich einen lauffähigen Ansatz. Nach deinem Rat versuche ich jetzt die Wärmestromfunktion einzusetzten! Die veränderte Schleife und mein Problem damit zeigt die angehängte Quelldatei! Das Probleme ist das ich mit dem *get-Befehl mir die Temp greifen will. Innerhalb der Schleife müsste ich den Bezeichnungs-Parameter dann von der i-Variablen abhängigmachen, aber das geht wohl nicht, oder? Vielleicht kann man hier mit dem *set-Befehl arbeiten? Ansys akzeptiert auch die mathematische Operante x^4 nicht, so dass man den Ausdruck 4mal hintereinander schreiben muss. Die Formel sieht erschreckend aus ist aber lediglich der Anteil aus Wärmeübergang: alpha*(T_f-T_w) und der Anteil aus Wärmestrahlung: F*epsilon*sigma*(T_i^4-T_j^4) zusammengefasst. Steht auch so in meinem FEM für Praktiker Wie gesagt die Quelldatei ist wegen dem obengenannten nicht lauffähig. [Diese Nachricht wurde von Hammelfleisch am 31. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 31. Okt. 2008 07:52 <-- editieren / zitieren --> Unities abgeben:         
Gerade kommt mir die Erleuchtung!!!!!!! Ich muss das gar nicht so machen! Der mit *get gefundene Werte wird doch einfach überschrieben! Den Temperaturverlauf kann ich mir später ja eh an schauen. Hier die Korrektur! LAUFFÄHIG Damit ich für den ersten Durchlauf ein Wert für den Parameter n habe, hab ich IC,all,temp,20 eingesetzt! Wie ih aber nach dem rechnen sehen werdet ist die Temperaturbelastung der Wahnsinn! Kann natürlich mit unter am Modell liegen. Werd ich weiter ausprobieren. 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: 31. Okt. 2008 08:46 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
Dass die Datei lauffähig.txt nicht zu öffnen ist, liegt sicherlich an dem Umlaut im Namen. Potenzen gehen in APDL so: a=2**4 da ergibt sich a=16 Temperaturen von Knoten können mit der Funktion temp,.. übernommen werden. (*get braucht es dazu nicht) Knotennummer lässt sich mit der Funktion node,.. ermitteln. Beispiel: kn_nr=node(breit/2,-hoch/2,0) temperatur=temp(kn_nr) oder gleich temperatur=temp(node(breit/2,-hoch/2,0)) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 31. Okt. 2008 10:30 <-- editieren / zitieren --> Unities abgeben:         
Und wieder hilfst du mir sehr weiter Danke. Ich werde jetzt mal deinen Tipp durcharbeiten! Mit dem *get Befehl tritt nämlich ein neues Problem auf. Die Schleife läuft korrekt dann wird der get-Befehl ausgeführt und dann passiert in einem Späteren Lastschritt folgendes! Der durch den get-Befehl gegriffene Wert lässt den Belastungsstrom negativ werden! Das dürfte nicht sein, denke ich, denn das würde bedeuten, dass das Bauteil sich stärker erwärmt als der Wert der Bulktemperatur. Der Wärmestrom müsste doch eigentlich immer positiv sein und steigen in den späteren Lastschritten zwar gegen null aber dennoch darf er doch nicht negativ werden. Das würde ja das Bauteil abkühlen obwohl die Tempbelastung steigt? Oder irre ich mich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 31. Okt. 2008 11:57 <-- editieren / zitieren --> Unities abgeben:         
Wosch! Ein absolutes Dankeschön an dich! Du hast mir riesig geholfen. Vielen dank! Allerdings habe ich immernoch keine Lösung für das letzte Problem gefunden. Wie sieht denn der log(x) in APDL aus? denn wenn ich die Gleichung mit Excel rechnen lasse kommt etwas anderes heraus als es Ansys berechnet! Das wäre vielleicht noch ein Ansatz! Wenn man sich die Formel betrachtet ((alpha*((Gastemp)-Bauteiltemp.))+(3.969*((Gastemp)+273)**4-(Bauteiltemp+273)**4))) Gastemp= Einheitstemperaturkurve lediglich in Abhängigkeit der Zeit Dann kann der Wärmestrom ja nur dann negativ werden wenn die Bauteiltemp größer wird als die Gastemp.! Aber das dürfte doch niemals geschehen! In dem lauffähigen Test kommt noch hinzu, dass die Endtemperatur nach lediglich 36 minuten schon eine Endtemperatur von 1014 Grad erreicht wird! Die Gastemperatur laut (20+345*LOG(8*(i)+1) liegt bei 36 minuten jedoch erst bei 869 Grad! Ein Einheitenfehler habe ich nicht da ich mit Kelvin rechne und auch sonst mich strikt an das SI-Einheitensystem gehalten habe! Muss ich vielleicht tref, oder toffst, noch einsetzten? Mir fehlt jede Spur. [Diese Nachricht wurde von Hammelfleisch am 31. Okt. 2008 editiert.] 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: 31. Okt. 2008 13:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
|
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 31. Okt. 2008 19:15 <-- editieren / zitieren --> Unities abgeben:         
Hmm....! Ja auf die schnelle war das genau richtig! Ich habe jetzt nur Testläufe gemacht, aber endlich stimmen diese! Angehängt ist für die die es interessiert, ein korrekter Quellcode! Danke an alle die geholfen haben. Ohne euch wäre ich verrückt geworden! Super großes Lob. Jetzt wünsch ich euch noch einen schönen Freitagabend und ein tolles Wochenende. Mist Quellcode vergessen! Gruß Simon
[Diese Nachricht wurde von Hammelfleisch am 31. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 02. Nov. 2008 16:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo jetzt hab ich doch nochmal ne Frage! Mit dem Befehl n=temp(node(0,-hoch/2,0)), weiße ich dem Parameter n die Temp. des Knoten node(0,-hoch/2,0) zu. Gibt es auch eine Möglichkeit die maximal Temp (unbekannter Knoten) dem Parameter n zuzuOrdnen ohne den Solutionprozessor zu verlassen? Und was bedeutet die folgende Warnung/Fehlermeldung: "Material Properties kxx of mat 2 of element ... is evaluated temperature of 4.08938, which is below the supplied temp.range. Temp.range checking terminatet." Also grob verstehe ich es allerdings habe ich keine Ahnung was ich ändern könnte um es zu beheben! Die Werte von kxx, sind als mptemp und mpdata eingegeben! 25 Werte ergeben eine Multilineare Linie. Vielen Dank für eure Hilfe.
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: 02. Nov. 2008 18:53 <-- editieren / zitieren --> Unities abgeben:          Nur für Hammelfleisch
Maximaltemperatur: (nicht erprobt, kann also Fehler enthalten) alle Knoten selektieren, die abgefragt werden sollen. Code: *get,n_anz,node,,count *get,n_min,node,,num,min n_arb=n_min t_max=20 *do,i,1,n_anz t_arb=temp(n_arb) *if,t_arb,gt,t_max then t_max=t_arb n_tmax=n_arb *endif n_arb=ndnext(n_arb) *end
Nach meinem Verständnis muss für jeden Knoten die entsprechende Wärmeflussdichte mit dieser nichtlinearen Funktion ermittelt und dem Knoten zugeweisen werden. Dann braucht man das Maximum gar nicht. [Diese Nachricht wurde von wosch am 03. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hammelfleisch Mitglied

 Beiträge: 43 Registriert: 13.10.2008
|
erstellt am: 02. Nov. 2008 20:46 <-- editieren / zitieren --> Unities abgeben:         
|