Hello Feap-Community,
I am doing a thermal Simulation and would like to introduce an upper limit to the possible Temperature values at each node (the evaporation temperature of my material, say 1000K)
I want to check the solution-array after solving a timestep and set all temperatures above 1000K to 1000K. (the excess thermal Energy is handeled separately)
So i want so set:
U_mod=min(U_sol,1000K)
after each timestep.
I would like the time integration, so the update of velocity and acceleration, to happen based on the new values of U_mod and not U_sol.
To check if this is the case, I set the Solution-vector to 1.0 after each step in a umacr.
I expected the temperature Rate to be 0.0 because the temperature stays constant at 1.0.
However this was not the case.
My Solution commands are:
PARA
dt=1.2*10^(-9) !timestep
t=dt*8 !tmax time of simulation
BATCh
TRANsient,NEWMark
DT,,dt !set timestep
LOOP INFInite
TIME,,t
DISP all !prints U_mod (all values are 1.0 at every timestep)
VELO all !prints velocities not equal to 0.0, which i would have expected
TANGent,,1
tchk,,100 !calls umacr
NEXT
END
in my umacr i have the code:
integer :: index_U, xlen, xpre,index_d
logical flag
include 'comblk.h' ! hr array
call pgetd ("U", index_U,xlen,xpre,flag)
!set all solutions to 1 to check how it affects time integration
hr(index_U:index_U+xlen-1)=1.0d0
How can i make the time-integration use the modified values of my U_mod?
What command triggers the time-integration? is it at the TIME-Command or does it happen at TANGent?
Kind Regards