Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Thermomechanisch gekoppelte Simulation

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Thermomechanisch gekoppelte Simulation (2441 mal gelesen)
flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 06. Jun. 2013 16:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich bin grade dabei ein thermomechanisches Model eines additiven Fertigungsprozesses (unter Verwendung eines Stahls) zu erstellen. Ich verwende eine schwache Kopplung. Also berechne ich zuerst das Temperaturfeld in einer Simulation und möchte dann das Temperaturfeld als Eingangsgröße für die anschließende Berechnung von Eigenspannungen nehmen. In der Simulation des Temperaturfeldes werden zudem lösungsabhängige Zustandsvariablen verwendet. Diese verwende ich in einer Subroutine (USDFLD), die mir die Phasentransformationen berechnet.
Ich möchte nun auch eine der lösungsabhängigen Zustandsvariablen (STATEV (x), den Martensitgehalt) als Eingangsgröße in meine Eigenspannungsberechnung mit einbringen. Bei der Temperatur geht dass ja über ein predifined field...

Aber wie kann ich das nun für meine Zustandsvariable tun?

Jede Idee ist herzlich willkommen!! Danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

slein89
Mitglied



Sehen Sie sich das Profil von slein89 an!   Senden Sie eine Private Message an slein89  Schreiben Sie einen Gästebucheintrag für slein89

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 07. Jun. 2013 08:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für flo1121 10 Unities + Antwort hilfreich

Verwendest du für die Spannungsberechnung eine UMAT oder verfügt ABAQUS über ein Stoffgesetz, welches den Martensitgehalt berücksichtigt? Bei der UMAT übergibst du deine Variable über *INITIAL CONDITIONS, TYPE=SOLUTION oder noch besser mit Hilfe der Userroutine SDVINI.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 07. Jun. 2013 12:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Danke für die schnelle Antwort!

Also ich setze die Variablen mit SDVINI und verwende dann USDFLD um den Martensitgehalt zu berechnen. Eine meine STATEV'en ist der Martensitgehalt. Alle STATEV und die Knotentemperaturen werden ins .odb-file geschrieben. Jetzt möchte ich aber neben den aktuellen Knotentemperaturen auch den Martensitgehalt im jeweiligen Step in der anschießenden Eigenspannungsberechnung verwenden. Die Knotentemperaturen kann ich ja über ein Predefined Filed (also initial conditions) aus dem .odb-file lesen, aber ich weiß nicht wie ich das auch für meine STATEV (3) hinbekomme?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

slein89
Mitglied



Sehen Sie sich das Profil von slein89 an!   Senden Sie eine Private Message an slein89  Schreiben Sie einen Gästebucheintrag für slein89

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 07. Jun. 2013 13:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für flo1121 10 Unities + Antwort hilfreich

Ich nehme an, dass du mit ABAQUS/CAE arbeitest richtig? Das Problem ist, du musst die INITIAL CONDITIONS im INPUT FILE aufgeben, weil die nicht von CAE unterstützt werden.

Also folgendes Vorgehen:

Im InputFile gibst du an entsprechender Stelle den Befehl "*INITIAL CONDITIONS,TYPE=SOLUTION, USER" ein.

http://abaqus.me.chalmers.se/v6.12/books/key/default.htm?startat=ch09abk18.html#usb-kws-minitialcond

Anschließend schreibst du dir die Userroutine SDVINI wie hier:

http://abaqus.me.chalmers.se/v6.12/books/sub/default.htm?startat=ch01s01asb17.html#sub-xsl-sdvini

Hier kannst du auf die einzelnen Gaußpunkte zugreifen, und denen die entsprechende SDEV zuweisen.

Knackpunkt bei der Geschichte ist den Befehl der INITIAL CONDITIONS ins Inputfile reinzukriegen. Die einfachste Variante geht so, dass du im Modellbaum mit rechts auf das Model klickst und auf Edit Keywords gehst. Dort fügst du an entsprechender Stelle den Befehl ein.

Grüße

Slein

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 07. Jun. 2013 14:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

also ich habe einen automatischen Inputfilegenerator erstellt der mir Knotendefinitionen, Elementsets, Stepdefinitionen...etc in ein File schreibt. Auf diese Weise wird mein Inputfile generiert und ich füge lediglich die Materialdefinitionen manuell hinzu.

Dann lade ich mein Inputfile in Abaqus/CAE erstelle einen Job (unter Verwendung meines Fortranfiles für die drei Subroutinen DFLUX, SDVINI und USDFLD) und erhalte nach der Ausführung das Temperaturfeld und den Martensitgehalt im odb-File.
Diese Ergebnisdaten will ich nun in einer zweiten, neuen Simulation verwenden um die Eigenspannungen die im Prozess entstehen zu berechnen.

Ich bin grade dabei mein zweites Inputfile zu erstellen um die Eigenspannungen zu berechnen, habe aber Schwierigkeiten den Martensitgehalt, den ich in der ersten Simulation berechnen und als STATEV (3) festgelegt und ausgegeben habe, als Eingangsinformation in meine zweite Simulation zu speisen.

Mein Problem liegt also darin, dass ich nicht weiß wie ich eine Ergebnissfeld einer STATEV von einer Simulation in die nächste Übertragen kann.
Bei dem Temperaturfeld geht es ja über initial conditions im Inputfile, aber wie geht das für die STATEV?

Ich benötige Ihn um die Dehnungen aufgrund der Volumenänderung bei Phasentransformation in der Spannungsberechnung zu berücksichtigen.

Danke und beste Grüße,

Flo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 07. Jun. 2013 14:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

also ich habe einen automatischen Inputfilegenerator erstellt der mir Knotendefinitionen, Elementsets, Stepdefinitionen...etc in ein File schreibt. Auf diese Weise wird mein Inputfile generiert und ich füge lediglich die Materialdefinitionen manuell hinzu.

Dann lade ich mein Inputfile in Abaqus/CAE erstelle einen Job (unter Verwendung meines Fortranfiles für die drei Subroutinen DFLUX, SDVINI und USDFLD) und erhalte nach der Ausführung das Temperaturfeld und den Martensitgehalt im odb-File.
Diese Ergebnisdaten will ich nun in einer zweiten, neuen Simulation verwenden um die Eigenspannungen die im Prozess entstehen zu berechnen.

Ich bin grade dabei mein zweites Inputfile zu erstellen um die Eigenspannungen zu berechnen, habe aber Schwierigkeiten den Martensitgehalt, den ich in der ersten Simulation berechnen und als STATEV (3) festgelegt und ausgegeben habe, als Eingangsinformation in meine zweite Simulation zu speisen.

Mein Problem liegt also darin, dass ich nicht weiß wie ich eine Ergebnissfeld einer STATEV von einer Simulation in die nächste Übertragen kann.
Bei dem Temperaturfeld geht es ja über initial conditions im Inputfile, aber wie geht das für die STATEV?

Ich benötige Ihn um die Dehnungen aufgrund der Volumenänderung bei Phasentransformation in der Spannungsberechnung zu berücksichtigen.

Danke und beste Grüße,

Flo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 07. Jun. 2013 14:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ups, einmal hätte gereicht 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

slein89
Mitglied



Sehen Sie sich das Profil von slein89 an!   Senden Sie eine Private Message an slein89  Schreiben Sie einen Gästebucheintrag für slein89

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 07. Jun. 2013 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für flo1121 10 Unities + Antwort hilfreich

Also wenn du sowieso INP Files schreibst, kannst du die *INITIAL CONDITIONS gleich selbst reinschreiben:

Zitat:
Data lines for TYPE=SOLUTION if the USER and REBAR parameters are omitted:

First line:

    Element number or element set label.

    Value of first solution-dependent state variable.

    Value of second solution-dependent state variable.

    Etc., up to seven solution-dependent state variables.

Subsequent lines (only needed if more than seven solution-dependent state variables exist in the model):

    Value of eighth solution-dependent state variable.

    Etc., up to eight solution-dependent state variables per line.

It may be necessary to leave blank data lines for some elements if any other element in the model has more solution-dependent state variables because the total number of variables that Abaqus expects to read for any element is based on the maximum number of solution-dependent state variables for all the elements in the model. These trailing initial values will be zero and will not be used in the analysis. Values given on the data lines will be applied uniformly over the element.

Repeat this set of data lines as often as necessary to define initial values of solution-dependent state variables for various elements or element sets.


Also einfach:

Code:
*INITIAL CONDITIONS, TYPE=SOLUTION
Elementnummer1 , ,  , Martensitgehalt
Elementnummer2 , ,  , Martensitgehalt

Die zwei Leerstellen beziehen sich auch SDEV(1) und SDEV(2), sollen ja beide nicht berücksichtigt werden. Bei Martensitgehalt steht logischerweise die SDEV(3) des jeweiligen Elements. Die Werte musst du dir vorher aus der ODB auslesen (würde ich mit einem Pythonskript erledigen). Bei dieser Vorgehensweise werden aber auf alle Gaußpunkte pro Element die gleichen Werte vergeben. Ist bei reduzierter Integration kein Problem, wiel eh nur ein GP verwendet wird. Verwendest du Elemente mit mehreren Gaußpunkten, musst du die Userroutine SDVINI benutzen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 07. Jun. 2013 15:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi slein89,

danke für die schnelle Hilfe! Das klingt genau nach der Lösung meines Problems!

Ich hab C3D8 Elemente für die mechanische Simulation vorgesehen. Ich muss noch ein paar fehlende temperaturabhängige Materialdaten finden, dann kann ich es umsetzten. Habe allerdings vorher noch nie mit Python gearbeitet und keine Ahnung wo ich anfangen soll. Gibt es für solche Fälle keine Standardcodes, die dann individuell angepasst werden können? Ich bin bestimmt nicht der erste der Sie verwenden würde.

Mit SDVIVI setze ich ich dann im mechanischen Model (analog zur thermischen Simulation vorher) die STATEV's und kann ihnen dann die Werte, die ich aus dem odb-file auslese zuweisen? Hab ich das so richtig verstanden?

Grüße!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

slein89
Mitglied



Sehen Sie sich das Profil von slein89 an!   Senden Sie eine Private Message an slein89  Schreiben Sie einen Gästebucheintrag für slein89

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 07. Jun. 2013 15:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für flo1121 10 Unities + Antwort hilfreich

Ja das hast du richtig verstanden. Ich habe schon mal so eine kleine Pythonroutine geschrieben und könnte dir die zur Verfügung stellen. Allerdings beginnt jetzt erst mal mein Wochenende und ich muss dich auf Montag vertrösten. Du kannst mir aber schon verraten mit welchem Programm du dein INP aufbaust bzw. wie du die SDEV aufgearbeitet haben willst.

Grüße und schönes Wochenende

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

slein89
Mitglied



Sehen Sie sich das Profil von slein89 an!   Senden Sie eine Private Message an slein89  Schreiben Sie einen Gästebucheintrag für slein89

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 10. Jun. 2013 07:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für flo1121 10 Unities + Antwort hilfreich

Ich habe dir eine Nachricht geschickt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 11. Jun. 2013 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

sorry, dass ich mich jetzt erst melde, ich bin gesundheitlich etwas angeschlagen und habe die Arbeit eingestellen müssen...

Ich erstelle Teile des Inputfiles mit Mathematica 8 und die Subroutinen sind in Fortran geschrieben. Der Mathematica Code gibt mir meine Knotendefinitionen, Elementdefinnitionen und Elementsets als ein Textfile aus und ein weiteres Textfile für die Steps.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

flo1121
Mitglied
Student


Sehen Sie sich das Profil von flo1121 an!   Senden Sie eine Private Message an flo1121  Schreiben Sie einen Gästebucheintrag für flo1121

Beiträge: 23
Registriert: 04.04.2013

erstellt am: 14. Jun. 2013 11:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo slein89,

würde mir echt sehr weiterhelfen, wenn du mir Deine Pythonroutine zur Verfügung stellen könntest. Wenn es klappt, wär ich einen Schritt weiter und hätte ein Problem weniger. Vielen Dank schon mal!

Beste Grüße

Flo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

slein89
Mitglied



Sehen Sie sich das Profil von slein89 an!   Senden Sie eine Private Message an slein89  Schreiben Sie einen Gästebucheintrag für slein89

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 15. Jun. 2013 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für flo1121 10 Unities + Antwort hilfreich

Hallo,

die habe ich dir doch schon per PM zukommen lassen. Schau mal in deinem Profil nach ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz