Impose thermal evolution from another analysis
Impose thermal evolution from another analysis
(OP)
Hello,
I would like to impose the thermal history from all the nodes of my mesh that result from another (non Abaqus) analysis. In other words, i've got a database with the temperature values of all the nodes at each time increments and i would loke to use it in order to run a mechanical analysis.
How can I do that?
Denis
I would like to impose the thermal history from all the nodes of my mesh that result from another (non Abaqus) analysis. In other words, i've got a database with the temperature values of all the nodes at each time increments and i would loke to use it in order to run a mechanical analysis.
How can I do that?
Denis





RE: Impose thermal evolution from another analysis
corus
RE: Impose thermal evolution from another analysis
*TEMPERATURE, INC=1
1, 25
2, 25
...
*TEMPERATURE, INC=2
1,25.5
2,25.1
...
????
RE: Impose thermal evolution from another analysis
corus
RE: Impose thermal evolution from another analysis
Have you considered the UTEMP user subroutine?
SUBROUTINE UTEMP(TEMP,MSECPT,KSTEP,KINC,TIME,NODE,COORDS)
You know the current ABAQUS time, so perhaps you can interpolate results from your database time to ABAQUS time.
MRG
RE: Impose thermal evolution from another analysis
"It is actually not unworkable, you need to write a miniscule database which reads the time into an array
and loads the temperatures on demand or on startup. If the mesh is the same this is rather trivial."
but, i don't understand what they mean and how to realize that...
Denis
RE: Impose thermal evolution from another analysis
Let's assume the mesh is the same. You don't need to interpolate the coordinates from the thermal analysis to the ABAQUS mesh. However, you need to interpolate the temperature at a given time.
In the ABAQUS analysis you need:
*TEMPERATURE, USER
NALL
where NALL is the node set of all nodes in the mesh.
You need to write the subroutine UTEMP (see bare bones below) and submit the job accordingly:
abaqus j=job1 user=utemp.f
Lets say that UTEMP is called at node 101 at an ABAQUS time of t. You read in your database temperatures for node 101 at the two time increments from your thermal analysis that span that time. Say they are times t1 and t2, with corresponding temperature T1 and T2. It is now a simple matter to interpolate to find the nodal temperature at time t:
T = T1 + (t-t1)*(T2-T1)/(t2-t1) (I hope!)
Note that it would be sensible to set your ABAQUS step times to correspond to the times in your thermal analysis.
So, in each call to UTEMP you would:
* if not already open, open the file containing the thermal analysis results,
* loop through the file to search for the temperatures at the particular NODE that span the current ABAQUS step time or total time (stored in the array TIME),
* interpolate to find the temperature at that node at the current time,
* set the variable TEMP and return from the subroutine.
I hope this helps.
MRG
SUBROUTINE UTEMP(TEMP,MSECPT,KSTEP,KINC,TIME,NODE,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TEMP(MSECPT), TIME(2), COORDS(3)
C
user coding to define TEMP
RETURN
END
RE: Impose thermal evolution from another analysis
corus