Thermal application in Voronoi UDEC Model

Hello all,
I want to cool down the model from room temperature. But when I add voronoi and cool it down, the propagation doesn’t pass though the entire model, the change of temperature is only visible near the outer boundaries. Also, I am a but confused as in how to use thermal substep-mechanical command as this complete mode should be a thermo-mechanical analysis. Please help. Below is the attached code:

model new
block config thermal
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Tolerances
block tolerance minimum-edge-length 0.00010
block tolerance corner-round-length 0.00005
block contact tolerance overlap 1E-3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Model Generation
fish def constants

rx1 = 0 ;rock x direction start
rx2 = .055 ;rock x direction end
ry1 = 0
ry2 = .120

pt_thick = 0.000 ;platen thickness
px1 = rx1 - pt_thick ;platen x direction start
px2 = rx2 + pt_thick ;platen y direction start
py1 = ry1 - pt_thick
py2 = ry2 + pt_thick

end
@constants
block create polygon @px1,@py1 @px1,@py2 @px2,@py2 @px2,@py1
block cut crack begin @px1 @ry1 @px2 @ry1
block cut crack begin @px1 @ry2 @px2 @ry2
block cut crack begin @rx1 @ry1 @rx1 @ry2
block cut crack begin @rx2 @ry1 @rx2 @ry2
block delete position-x @px1 @rx1 position-y @ry1 @ry2
block delete position-x @rx2 @px2 position-y @ry1 @ry2
block hide
seek range atblock 0.015 0.015
block cut voronoi edge-maximum 0.004 iterations 10 round 0.0002 random-seed 1
block zone gen edge 0.002
;Contacts
block contact cmodel assign residual stiffness-shear 1.5333E12 stiffness-normal 2.3E12 friction 43 …
cohesion 66E6 tension 17E6 dilation 0 cohesion-residual 0 tension-residual 0 friction-residual 35
;Blocks
block zone cmodel assign elastic density=2650 bulk=50E9 shear=30E9 cond 1 specheat 800 thermal-expansion 5.4E-6
block gridpoint init temperature 30
block edge apply convection 1000 -10 range pos-x 0
block edge apply convection 1000 -10 range pos-x 0.055
block edge apply convection 1000 -10 range pos-y 0
block edge apply convection 1000 -10 range pos-y 0.120

block mechanical history unbalanced-maximum
block gridpoint history temperature 0.0275 0.060

;block solve thermal substep-mechanical 5
block thermal cycle step 100000 temperature-change 40 tolerance-gridpoint 1.0E-4
;block step 2000
ret

You have not run the model long enough. I ran it for 1,000,000 cycles and the lower temperatures keep moving inward.

The commands:

block thermal substep-mechanical

block thermal substep-thermal

are used to control the interlace between mechanical and thermal cycles (they are done separately). If the temperature is changing very fast, you want more mechanical cycles for each thermal cycle (substep-thermal must be 1 or more). this is to maintain mechanical equilibrium. In your case, the temperature is changing very slowly so you want a higher substep-themal and a smaller substep-mechanical.

block thermal substep-thermal i

Set the number of thermal steps to do before switching to mechanical steps. (See Section 3 in Special Features.)

Note

The default value is zero, in which case no substepping occurs. If the value is not zero, the program will switch to mechanical steps every i steps or when the temperature change parameter (block thermal cycle temp = value) is met. If the temperature change parameter is met when substep-thermal = 0, thermal cycling stops, and further thermal or mechanical cycling is controlled by the user.

Caution

The thermal linkages that allow heat flow across joints are only updated at the beginning of a BLOCK THERMAL CYCLE command. If large geometry changes are expected, it is better to divide the solution into several shorter BLOCK THERMAL CYCLE commands.

block thermal substep-mechanical i

Set the maximum number of mechanical steps executed between thermal steps when block thermal substep-thermal is nonzero. (default = 500. (See Section 3 in Special Features).