| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Birth And Death (2992 mal gelesen)
|
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 08. Nov. 2012 16:53 <-- editieren / zitieren --> Unities abgeben:
Hallo CAD-Community, ich habe ein Problem mit der Birth And Death Funktion in Ansys Classic 14. Ich möchte einen Schweißprozess simulieren und dazu in aufeinander folgenden Zeitpunkten, Elemente mit einer bestimmten Leistung (Heatflux) einblenden. Leider fängt das Problem schon mit dem Einblenden des ersten Elementes an. Das Einblenden mit EALIVE funktioniert, jedoch findet Ansys schon in Zeitpunkt zwei keine Konvergenz. Nur das alleinige Einblenden eines Elementes führt dazu, dass SUB= 999999 gesetzt wird. Woran könnte das liegen? Ich habe bereits mit dem Befehl ESTIF rumgespielt, aber auch das brachte nichts. Wie gesagt das reine Ein- und Ausblenden der Elemente krieg ich hin, aber irgendetwas ist hier faul! Vielen Dank schonmal für Eure Hilfe! Hier meine Befehlsfolge: dick=0.01 !Dicke der Platte breit=0.2 !Breite lang=0.4 !Länge /PREP7 et,1,solid5 block,0,breit,0,lang,0,dick zdiv = 4 !vertical division lesize, 9, , , zdiv, lesize, 10, , , zdiv, lesize, 11, , , zdiv, lesize, 12, , , zdiv, esize,dick vmesh,all MP,KXX,1,40 MP,DENS,1,7800 MP,C,1,500 TUNIF,293 ESEL,S,ELEM,,2409,3189,20 EKILL,ALL /SOLU ANTY,TRANS NROPT,FULL EQSLV,FRONT OUTRES,ALL,ALL TIME,1e-6 SOLVE TIME,2 NSUB,3 ESEL,S,ELEM,,2409 EALIVE,ALL SOLVE ESEL,S,LIVE EPLO Im Anhang findet ihr noch ein Screenshot vom 2. Zeitpunkt!
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: 08. Nov. 2012 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Bei solchen Problemen bin ich bisher noch nie auf die Idee gekommen, das durch Sterben und Beleben von Elementen lösen zu wollen. Den Wärmeeintrag in die Elemente habe ich bisher auf Knoten oder Elemente aufgeprägt. ------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 09. Nov. 2012 17:09 <-- editieren / zitieren --> Unities abgeben:
|
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 10. Nov. 2012 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Dieses Vorgehen funktioniert definitiv. Ich denke, dass bei dir vor den SOLVE-Befehlen noch ein ALLSEL stehen sollte. Warum hast du eigentlich die Option NROPT, FULL verwendet? Dein Problem sollte ja linear sein!? 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: 11. Nov. 2012 19:14 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
|
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 12. Nov. 2012 12:22 <-- editieren / zitieren --> Unities abgeben:
Danke für Eure Hilfe! Wosch, ich habe mir Dein Beispiel mal angeguckt, verstehe allerdings nicht deinen kompletten Code, da ich noch blutiger Anfänger in Ansys bin. Meine Frage an Dich: Hast Du die Elemente nur in der Animation ein und ausgeblendet oder hast du auch die Physik dahinter berücksichtigt? Soweit ich informiert bin, kann man mein Vorhaben nur mit der Birth/Death Funktion realisieren. Zunächst werden alle Elemente der Schweißnaht gelöscht (EKILL), wobei Sie eigentlich noch da sind, aber für Ansys haben Sie keinerlei physik. Freiheitsgrade. Danach möchte ich von TimeStep zu TimeStep jeweils ein Element einblenden, welches eine Leistung X (je nach Schweißverfahren) aufweist. Der Tipp mit AllSEL vor SOLVE hat funktioniert. Das Ein- und Ausblenden der Elemente funktioniert auch nach wie vor. Jetzt möchte ich in Step 2 meinem reaktiviertem Element eine Leistung mittels HFLUX zuweisen. Und genau das ist jetzt mein Problem. Das Element erhitzt sich nicht. Trage ich Wärme auf ein unmittelbar benachbartes Element auf, so erhitzt sich das reaktivierte Element, es leitet also Wärme, aber hflux auf widerbelebtes Element funktioniert anscheinend nicht. Hier mein aktueller Code: dick=0.01 !Dicke der Platte breit=0.2 !Breite lang=0.4 !Länge
/PREP7 et,1,solid5 block,0,breit,0,lang,0,dick zdiv = 4 !vertical division lesize, 9, , , zdiv, lesize, 10, , , zdiv, lesize, 11, , , zdiv, lesize, 12, , , zdiv, esize,dick vmesh,all MP,KXX,1,40 MP,DENS,1,7800 MP,C,1,500 /SOLU ANTY,TRANS NROPT,FULL EQSLV,FRONT OUTRES,ALL,ALL
TIME,1e-6 TUNIF,293 ESEL,S,ELEM,,2409,3189,20 EKILL,ALL ESEL,S,LIVE SOLVE TIME,2 NSUB,3 ESEL,S,ELEM,,2409 EALIVE,ALL SFE,2409,6,hflux,,5e7 ALLSEL SOLVE TIME,3 NSUB,3 ESEL,S,ELEM,,2429 EALIVE,ALL SFE,2429,6,hflux,,5e7 ALLSEL SOLVE ESEL,S,LIVE EPLO
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 12. Nov. 2012 12:25 <-- editieren / zitieren --> Unities abgeben:
Achja, zum NROPT,FULL. Da kann ich nur aus dem Beispiel 9.2 aus dem Buch "FEM für Praktiker - Band 3" zitieren: "Für den Kill-Alive-Algorithmus..., muss bei jeder Änderung des Kill- bzw. Live- Zustandes die Steifigkeitsmatrix des entsprechenden Elementes neu berechnet werden..." 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: 12. Nov. 2012 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Zitat: Danach möchte ich von TimeStep zu TimeStep jeweils ein Element einblenden, welches eine Leistung X (je nach Schweißverfahren) aufweist.
Genau das habe ich gemacht. Die Elemente des noch nicht gefüllten Spaltes sind nicht in die Rechnung einbezogen. In jedem Rechen-Schritt wird ein Element hinzugefügt und in das die Wärme eingespeist. (Die Rechnung lässt sich ja auch schrittweise nachvollziehen.) ------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 12. Nov. 2012 13:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Wosch! Ich habe mir Deinen Code nochmal angeschaut. Meiner Meinung nach berücksichtigst Du nicht, dass im ersten Timestep wirklich nur ein Element mit der Leistung X vorhanden ist. Bei Dir sind alle Elemente von Anfang an vorhanden und da sie nicht deaktiviert (EKILL) werden können sie auch Wärme aufnehmen, was streng genommen nicht sein kann, da im echten Leben noch kein weiteres Material vorhanden ist. 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: 12. Nov. 2012 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Die Temperaturverteilung nach dem ersten Schritt sieht bei mir so aus. Die nächsten Elemente der Fuge werden in die Berechnung noch nicht einbezogen. Es werden nur die hier dargestellten Elemente in der Rechnung erfasst. (Man darf natürlich kein allsel oder esel,all benutzen.) Das lässt sich mit eplot überprüfen. ------------------ Viel Erfolg wünscht Wolfgang Schätzing 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. Nov. 2012 22:44 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Ich habe mich vor einiger Zeit während meiner Projektarbeit auch einmal mit Schweißsimulationen auseinandergesetzt. Auch ich hatte die NROPT, FULL-Option verwendet, vielleicht braucht man sie ja wirklich . Ich hatte damals den Befehl Code: BF, knotennummer, HGEN, wert
verwendet, vielleicht funktioniert das besser!?Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 13. Nov. 2012 14:58 <-- editieren / zitieren --> Unities abgeben:
Also, ich habe gerade versucht mit HGEN Leistung auf einen Knoten des wiederbelebten Elementes zu geben. Funktioniert leider so wenig wie mit Heatflux. BFE, knotenummer,hgen... funktioniert auch nicht. Das widerbelebte Element will einfach keine Leistung aufnehmen. Wobei es mit jedem anderen Element funktioniert. Werden unmittelbare Nachbarelemente des widerbelebten Elementes mit Leistung beaufschlagt, so nimmt allerdings das widerbelebte Element Wärme auf. @ChristophN: Du hast nicht zufällig noch den Code deiner Projektarbeit? ;-) 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: 14. Nov. 2012 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
|
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 14. Nov. 2012 10:25 <-- editieren / zitieren --> Unities abgeben:
|
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: 14. Nov. 2012 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
|
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 14. Nov. 2012 10:37 <-- editieren / zitieren --> Unities abgeben:
|
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: 14. Nov. 2012 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Ja, mache ich ausnahmsweise. !Schweißen mit Nahtfüllung !aus dem Forum von kurzschluss2000 ! finish $/clear *abbr,kurzschluss2,/inp,kurzschluss2,txt dick=0.01 !Dicke der Platte breit=0.2 !Breite lang=0.4 !Länge /PREP7 et,1,solid5,8 block,0,breit,0,lang,0,dick zdiv = 4 !vertical division lesize, 9, , , zdiv, lesize, 10, , , zdiv, lesize, 11, , , zdiv, lesize, 12, , , zdiv, esize,dick vmesh,all /view,,0.6,-0.2,0.7 /ang,,-50 eplot MP,KXX,1,40 MP,DENS,1,7800 MP,C,1,500 !------------------------------------------ /SOLU ANTY,TRANS NROPT,FULL EQSLV,FRONT OUTRES,ALL,ALL
TIME,1e-6 TUNIF,293 ESEL,S,ELEM,,2409,3189,20 EKILL,ALL ESEL,S,LIVE SOLVE /post1 plns,temp /wait,1 !----------------------------------------- /prep7 ESEL,S,ELEM,,2409 EALIVE,ALL esel,s,live /solu TIME,2 NSUB,3 SFE,2409,6,hflux,,5e7 SOLVE /post1 plns,temp /wait,1 !----------------------------------- /prep7 ESEL,S,ELEM,,2429 EALIVE,ALL esel,s,live /solu TIME,3 NSUB,3 sfedel,all,6,all SFE,2429,6,hflux,,5e7 SOLVE
!------------------------------------ /post1 plns,temp
------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 14. Nov. 2012 11:27 <-- editieren / zitieren --> Unities abgeben:
Danke! Wenn ich Deinen Code ausführe, habe ich das Problem, dass ich mir nicht mehr den ersten TimeStep (1e-6) angucken kann. Wenn ich im /post1 set,first eingebe lande ich im Step 1. Den Schritt wo die Platte komplett 293 K hat, kann ich mir irgendwie nicht mehr ansehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 14. Nov. 2012 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Das liegt daran, dass Herr Schätzing den /solu-Prozessor verlässt, damit vergisst Ansys alles, was es bisher gerechnet hat. Die Ergebnisse sind also nicht das, was du haben möchtest. Bei mir funktioniert es wunderbar, wenn ich das Element solid70 nehme. Solid 5 wird nicht umsonst ein veraltetes Element sein... Möchtest du, dass die Schweißquelle über dein Bauteil wandert? Dann musst du die alten Lasten löschen, sonst simuliert Ansys ja, dass der Brenner auch noch an den schon geschweißten Stellen anliegt... Ich kann leider auch keine Dateien anhängen, deswegen gibts meinen Code mal so: Code: fini /cleardick=0.01 !Dicke der Platte breit=0.2 !Breite lang=0.4 !Länge /PREP7 et,1,solid70 block,0,breit,0,lang,0,dick zdiv = 4 !vertical division lesize, 9, , , zdiv, lesize, 10, , , zdiv, lesize, 11, , , zdiv, lesize, 12, , , zdiv, esize,dick vmesh,all MP,KXX,1,40 MP,DENS,1,7800 MP,C,1,500 /SOLU ANTY,TRANS NROPT,FULL EQSLV,FRONT OUTRES,ALL,ALL
TIME,1e-6 TUNIF,293 ESEL,S,ELEM,,2409,3189,20 EKILL,ALL ALLSEL SOLVE TIME,2 NSUB,3 ESEL,S,ELEM,,2409 EALIVE,ALL SFE,2409,6,hflux,,5e7 ALLSEL SOLVE TIME,3 NSUB,3 sfedel,all,all,all ESEL,S,ELEM,,2429 EALIVE,ALL SFE,2429,6,hflux,,5e7 ALLSEL SOLVE ESEL,S,LIVE EPLO /post1 plns, temp
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurzschluss2000 Mitglied
Beiträge: 10 Registriert: 08.11.2012
|
erstellt am: 14. Nov. 2012 14:25 <-- editieren / zitieren --> Unities abgeben:
Vielen lieben Dank, ChristophN! Deine Antwort hat mir sehr geholfen. Der Fehler lag in diesem Skriptabschnitt: TIME,1e-6 TUNIF,293 ESEL,S,ELEM,,2409,3189,20 EKILL,ALL ALLSEL SOLVE Du verwendest vor dem SOLVE ALLSEL, ich habe aus welchen Gründen auch immer esel,s,all genommen. Jetzt klappt es! Und die Schweißquelle soll selbstverständlich übers Bauteil wandern, aber in meinem Beispiel ging es erstmal grundsätzlich darum warum das widerbelebte Element keine Leistung aufnimmt. Also nochmal danke, es klappt jetzt! 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: 14. Nov. 2012 17:16 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Das Programm von ChristophN gefällt mir erst einmal sehr gut. Wenn ich aber 4 Schritte rechne und mir nach der Rechnung Ergebnisse voriger Schritte ansehe, erhalte ich die nur mit der Geometrie vom letzten Rechenschritt. (Hochladen eines Bildes geht immer noch nicht.) Was mich irritiert: wenn ich mir nach dem ALLSEL vor dem SOLVE die Elemente ansehe, sind das immer alle Elemente! ------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 14. Nov. 2012 17:44 <-- editieren / zitieren --> Unities abgeben: Nur für kurzschluss2000
Zitat: Original erstellt von wosch: Was mich irritiert: wenn ich mir nach dem ALLSEL vor dem SOLVE die Elemente ansehe, sind das immer alle Elemente!
Das ist das Birth and Death-"Feature": die Elementsteifigkeitsmatrizen der getöteten Elemente werden mit einem kleinen Faktor multipliziert und damit numerisch entfernt. Wenn man die Elemente wiederbelebt, dann wird der Steifigkeitsmultiplikator entfernt und man bekommt das gewohnte Verhalten. Was Ansys leider nicht bietet ist die Option, nur die Elemente anzeigen zu lassen, die während des Schritts, den man sich im Postprocessing anschaut, aktiviert waren. Bei dem Beispiel hier kann man es aber recht leicht sehen, da die deaktivierten Elemente eine vergleichbar geringe Temperatur besitzen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|