PFC提供了两个耦合方法,一个是流固耦合,一个是热固耦合。热固耦合有两个概念:一个是传热、一个是热胀冷缩,前者决定了固体对热力场的影响,后者是热力对固体的影响。
热力学参数有三个:热膨胀系数- thexp 热阻 - thres 比热容 - sheat。第一个反应的是固体由于温度改变引起的热胀冷缩,第二个和第三个反应的是固体间的传热。
这里提供一个简单的算例反应一下深埋岩石的传热,这个现象也比较多,比如火山附近的岩石都会有这种边值问题。
首先形成一个岩石,成样、预压和加胶结,这里不再赘述了。后面进入热力学部分,保持围压不关闭。
下面为热力学实现的代码:
restore jiajiaojie
configure thermal
set thermal on mechanical on
contact thermal model ThermalPipe
ball thermal attribute temperature 300
wall thermal attribute temperature 300
ball thermal attribute sheat 0.84e1 thexp 8.0e-6
ball thermal property thres 0.1
wall thermal attribute temperature 380 range id 4
ball group left range x [-wlx*0.5] [-wlx*0.5 rdmax*2.0]
ball thermal attribute temperature 380 range group left
ball thermal fix range group left
[count=1]
[baocunpinlv=0.05]
[time_record=mech.age-1]
def savefile
if mech.age-time_record > baocunpinlv then
filename=string.build("jieguo%1",count)
command
save @filename
endcommand
time_record=mech.age
count =1
endif
end
set fish callback -1.0 @savefile
set timestep fix 1e-5
cycle 1
solve thermal age 1.0
为了加快计算速度,将时步进行适当的放大,并且将比热容设置的小一点。
如图为试样的初始边界条件:
左边的墙和颗粒都设为380k,其余的设置为300k。注意一下这里温度的单位为开尔文温度,和摄氏度的换算为。摄氏度=开氏温度-273。将左边颗粒的温度fix一下,基本上就形成了我们的边界条件。
下面看一下计算0.1s的状态:
可以发现热量开始向内部传递
下面为看一下不同时刻的状态:
0.2s
0.4s
0.6s
0.8s
1.0s
当然做成动图也可以:
我们这里会发现一个问题,在温度场中有一些奇异点,这是因为在PFC中温度的传递是通过颗粒之间的接触,这些奇异点和周围的岩石没有接触,也就是如下图所示的赋存状态。