1 # 1 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/thermal_adiabatic.f90" 
    4 # 1 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/thermal_adiabatic.f90" 
   24     character(len=pStringLen), 
allocatable, 
dimension(:) :: &
 
   48   integer :: maxninstance,h,nofmyhomog   
 
   53   if (maxninstance == 0) 
return 
   55   allocate(
param(maxninstance))
 
   86   integer,     
intent(in) :: &
 
   87     ip, &                                                                                           !< integration point number
 
   89   real(preal), 
intent(in) :: &
 
   92   logical, 
dimension(2)  :: &
 
  100   homog  = material_homogenizationat(el)
 
  101   offset = material_homogenizationmemberat(ip,el)
 
  103   t = thermalstate(homog)%subState0(1,offset)
 
  108                                      <= err_thermal_tolabs &
 
  109                                    .or. abs(t - thermalstate(homog)%state(1,offset)) &
 
  110                                      <= err_thermal_tolrel*abs(thermalstate(homog)%state(1,offset)), &
 
  113   temperature(homog)%p(thermalmapping(homog)%p(ip,el)) = t  
 
  114   temperaturerate(homog)%p(thermalmapping(homog)%p(ip,el)) = &
 
  115     (thermalstate(homog)%state(1,offset) - thermalstate(homog)%subState0(1,offset))/(subdt+tiny(0.0_preal))
 
  125   integer,     
intent(in) :: &
 
  126     ip, &                                                                                           !< integration point number
 
  128   real(preal), 
intent(in) :: &
 
  130   real(preal), 
intent(out) :: &
 
  143   homog  = material_homogenizationat(el)
 
  144   instance = thermal_typeinstance(homog)
 
  148   do grain = 1, homogenization_ngrains(homog)
 
  149     phase = material_phaseat(grain,el)
 
  150     constituent = material_phasememberat(grain,ip,el)
 
  151     do source = 1, phase_nsources(phase)
 
  152       select case(phase_source(source,phase))                                                   
 
  153         case (source_thermal_dissipation_id)
 
  154          call source_thermal_dissipation_getrateanditstangent(my_tdot, my_dtdot_dt, &
 
  155                                                               crystallite_s(1:3,1:3,grain,ip,el), &
 
  156                                                               crystallite_lp(1:3,1:3,grain,ip,el), &
 
  159         case (source_thermal_externalheat_id)
 
  160          call source_thermal_externalheat_getrateanditstangent(my_tdot, my_dtdot_dt, &
 
  165          my_dtdot_dt = 0.0_preal
 
  167       tdot = tdot + my_tdot
 
  168       dtdot_dt = dtdot_dt + my_dtdot_dt
 
  172   tdot = tdot/real(homogenization_ngrains(homog),preal)
 
  173   dtdot_dt = dtdot_dt/real(homogenization_ngrains(homog),preal)
 
  183   integer, 
intent(in) :: &
 
  184     ip, &                                                                                           !< integration point number
 
  194   do grain = 1, homogenization_ngrains(material_homogenizationat(el))
 
  196                                       + lattice_specificheat(material_phaseat(grain,el))
 
  200                                     / real(homogenization_ngrains(material_homogenizationat(el)),preal)
 
  210   integer, 
intent(in) :: &
 
  211     ip, &                                                                                           !< integration point number
 
  220   do grain = 1, homogenization_ngrains(material_homogenizationat(el))
 
  222                                      + lattice_massdensity(material_phaseat(grain,el))
 
  226                                    / real(homogenization_ngrains(material_homogenizationat(el)),preal)
 
  236   integer,          
intent(in) :: homog
 
  237   character(len=*), 
intent(in) :: group
 
  241   associate(prm => 
param(damage_typeinstance(homog)))
 
  242   outputsloop: 
do o = 1,
size(prm%output)
 
  243     select case(trim(prm%output(o)))
 
  245         call results_writedataset(group,temperature(homog)%p,
'T',&