前言
这一篇复现了师姐教的小例子,主要做的工作是对某矿区的一断层进行构造几何数值模拟。
一、三维地质建模
1.建立断裂构造几何模型
根据相关地勘数据在GOCAD中建立矿区断层的几何模型,这样的一个模型上是只包括空间定位信息的几何模型。
2.建立断裂计算网格模型
- 首先,自动生成一个六面体网格模型,这个模型的相关参数是根据断裂面的空间位置延长过来而确定的,这个模型的作用相当于是给断层面提供一个底面,来生成一个楔形体;
model new
model large off
;;;;;;;;;;;;;;;;;;;;;;;;horiton;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;Create a hexahedron;;;;;;;;;;;;;
zone create brick size (5 130 60) ...
point 0 (, , -) ...
point 1 (, , ) ...
point 2 (, , ) ...
point 3 (, , ) ...
group 'layer0'
;;;;;;;;;;;;;;;Import fault;;;;;;;;;;;;;;;
- 导入断层面,连接断层面与立方体部分;而后删除原来的立方体(layer0)。
geometry import "F:\\simulation references\\code\\fault_l.dxf"
;;;;;;;;;;;;;;;Generate hanging plate from fault;;;;;;;;;;;;;;
zone generate from-topography geometry-set 'fault_l' ...
segments 16 ratio 1 direction (1 0 0) group 'layer1' slot '1Up'
;zone attach by-face
zone delete range group 'layer0'
;zone group 'layer1' range group 'layer11' ;'layer00' or 'layer11'
- 导入断层面平移一定距离后的另一断层面(这两个面相当于是给断层面加上了一个厚度),然后继续按上面的方式建模。
geometry import "F:\\simulation references\\code\\fault_r.dxf"
;;;;;;;;;;;;;;;Generate fault zone from the moved fault;;;;;;;;;;;;;;;
zone generate from-topography geometry-set 'fault_r' ...
segments 4 ratio 1 direction (1 0 0) group 'layer3' slot '3Fault'
;;;;;;;;;;;;;;;Generate the rightmost face;;;;;;;;;;;;;;
geometry select 'surface4'
geometry polygon create by-positions ...
(, , ) ...
(, , ) ...
(, , ) ...
(, , )
;;;;;;;;;;;;;;;Generate bottom plate from the rightmost face;;;;;;;;;;;;;;;;
zone generate from-topography geometry-set 'surface4' ...
segments 16 ratio 1 direction (1 0 0) group 'layer4' slot '4Down'
zone geometry-tolerance 0.2
zone geometry-test
zone attach by-face
zone export "F:\\Fault_model.f3grid"
这样的建模过程大概是下面的过程:
二、数值模拟
1.定义摩尔-库伦本构模型
经典的摩尔-库伦材料最适合表达中、上地壳的流变性特征。选用摩尔库伦模型来表达地壳应力-应变行为。
new
config fluid thermal
impgrid 'F:\\Fault_model.f3grid'
generate merge
attach face
model mech mohr therm th_iso ;th_ac
model fluid fl_iso
2.定义力学参数
摩尔-库伦材料模型包括cohesion(粘聚力)、density(密度)、dilation(膨胀角)、friction(内摩擦角)、tension(抗张强度)、bulk(体积模量)、shear(剪切模量)这七个参数的力学性质;permeability (渗透系数)、 prosity (孔隙度)两个流体性质,以及spec_heat (热导率)、thexp (比热容)、u_thc(热膨胀系数)等热力学性质。这些参数根据岩石测试资料或实验数据确定。
set grav 0 0 -9.8 ;定义重力加速度
; ---- 机械性质参数赋值 -----
prop cohesion 0 density 0 dilation 0 friction 0 tension 0 bulk 0 shear 0 range group layer1 ; 粘聚力、密度、膨胀叫、内摩擦角、抗张强度、体积模量、剪切模量
property
property
; ---- 流体性质参数赋值 ----
prop permeability 0 prosity 0 range group layer1 ; 渗透系数、孔隙度
; ---- 热力学性质参数赋值 ----
prop conductivity 0 spec_heat 0 thexp 0 u_thc 0 range group layer1 ; 热导率、比热、热膨胀系数
prop biot_c 1
set fluid biot off
3.定义边界条件、初始条件
根据地质实测数据和实验数据,设置初始条件(压力场和温度场)和边界条件(变形速度和持续时间)形成了模拟模拟。温度场的设置包括地表温度、地热梯度和岩体温度等,压力场的设置包括地表大气压力、地压梯度和流体压力;
; ---- 初始条件 ----
initial fmod 0 ftens 0 ften 0
initial sat 0 ;饱和度
initial temp 0 grad 0 0 1 ; 温度
initial pp 0 grad ; 孔压
initial sxx 0 ; 初始应力状态
; ---- 边界条件 ----
apply zforce 0
apply xvel 0 range x -0.1 0.1
fix pp 0 range z -0.1 0.1
4.模拟计算
进入时间循环,分别进行力学模型、流动模型和热传导模型的求解。
define newsolve(10)
local i
loop i (1,nbigsteps)
command
set therm off fluid off mech on
step 5;5
set mech off fluid off therm on
step 1;1
set mech off therm off fluid on
step 2;2
end_command
end_loop
end
总结
这一个小例子大致体现了成矿过程数值模拟的一个基本工作流程:①建立三维实体模型,根据地质描述修改完善;②选择本构模型,定义各种岩性力学水文和热力学参数;③设置初始条件、边界条件;④力热流耦合模拟实验。若模拟结果符合地质现象,再进一步对结果进行分析和解释,不符合的话再进一步修改相关参数及条件。