C C User subroutine vutemp C subroutine VUTemp( C Write only - * rUserTemp, C Read only - * nBlock, * nComp, nField, * kStep, * jFlags, * jNodeUid, * time, * field, * coords, * U, V, A ) * include 'vaba_param.inc' dimension rUserTemp(nBlock,nComp) dimension field(nBlock,nComp,nField) dimension jNodeUid(nBlock) * parameter ( i_utmp_Current = 1, * i_utmp_Increment = 2, * i_utmp_Period = 3, * i_utmp_Total = 4, * n_utmp_Time = 4 ) * parameter ( i_utmp_CoordX = 1, * i_utmp_CoordY = 2, * i_utmp_CoordZ = 3, * n_utmp_Coords = 3 ) * parameter ( i_utmp_SpaDisplX = 1, * i_utmp_SpaDisplY = 2, * i_utmp_SpaDisplZ = 3, * i_utmp_RotDisplX = 4, * i_utmp_RotDisplY = 5, * i_utmp_RotDisplZ = 6, * i_utmp_AcoPress = 7, * n_utmp_SolU = 7 ) * parameter ( i_utmp_SpaVelX = 1, * i_utmp_SpaVelY = 2, * i_utmp_SpaVelZ = 3, * i_utmp_RotVelX = 4, * i_utmp_RotVelY = 5, * i_utmp_RotVelZ = 6, * i_utmp_DAcoPress = 7, * n_utmp_SolV = 7 ) * parameter ( i_utmp_SpaAccelX = 1, * i_utmp_SpaAccelY = 2, * i_utmp_SpaAccelZ = 3, * i_utmp_RotAccelX = 4, * i_utmp_RotAccelY = 5, * i_utmp_RotAccelZ = 6, * i_utmp_DDAcoPress = 7, * n_utmp_SolA = 7 ) * parameter( i_utmp_kInc = 1, * i_utmp_kPass = 2, * n_utmp_Flags = 2) * dimension time(n_utmp_Time), coords(n_utmp_Coords,nBlock) dimension U(n_utmp_SolU,nBlock), V(n_utmp_SolV,nBlock), * A(n_utmp_SolA,nBlock),jFlags(n_utmp_Flags) kPass = jFlags(i_utmp_kPass) * if( kPass.eq. 1 .and. nComp .eq.1) then * Set the temperature at the first section point * bottom of the first Layer do kNod = 1, nBlock rUserTemp(kNod, 1) = 425.0 end do * else if( kPass.eq. 2 ) then * In the second pass nComp=2 (HTemperatures) * See the Verification Manual: * Abaqus->Verification->User Subroutines-> * User subroutine verification ->UTEMP, VUTEMP, T1=425.0 T3=373.2 T5=336.8 T7=287.5 gradL1=(T3-T1)/2. gradL2=(T5-T3)/2. gradL3=(T7-T5)/2. * do kNod = 1, nBlock rUserTemp(kNod, 1) = T1 + gradL1 rUserTemp(kNod, 2) = T3 rUserTemp(kNod, 3) = T3 + gradL2 rUserTemp(kNod, 4) = T5 rUserTemp(kNod, 5) = T5 + gradL3 rUserTemp(kNod, 6) = T7 end do end if * return end