问答中心分类: 数值计算麻烦问一下,GEM的求解流程是什么样的?翻了使用手册,无法将流程串联起来,有没有求解流程图对使用的求解算法和流程进行了解?或者在哪里可以找到,麻烦帮我解答一下?
0
yikedashu asked 2月 ago
1 Answers
0
abey 管理员 answered 1月 ago

CMG的GEM模块中,求解流程是一个多阶段耦合迭代过程,涉及流体相态、组分、地质力学等多个子系统。具体GEM求解核心流程:
​​(1)初始化阶段​​

  • 网格与属性加载:读取孔隙度(*PORO)、渗透率(*PERMI)等静态参数。
  • PVT初始化:通过WinProp生成的EOS数据(Peng-Robinson/SRK方程)初始化流体相态。
  • 应力场初始化(若启用*GEOMECH):加载杨氏模量(*YOUNGS)和泊松比(*POISSON)。

​​(2)时间步循环​​

  • 自适应隐式控制:根据Adaptive Implicit Formulation,动态选择显式/隐式求解区块。
  • 相平衡计算:使用QNSS(准牛顿连续替代法)进行闪蒸计算(Gibbs energy analysis)。

​​(3)非线性迭代​​

  • 残差计算:基于质量守恒与能量守恒方程(reservoir flow equations)。
  • 雅可比矩阵构建:通过*JACPAR启用并行化加速(Parallel Jacobian Building)。
  • 线性求解器:使用*PARASOL或*PCG求解线性系统(Geomechanics Linear Solver Control)。

​​(4)收敛判断​​

  • 物质平衡校验:输出*OUTPRN *MATBAL验证守恒性(Resolve Reporting)。
  • 迭代终止条件:满足*PRECCG(相对误差)和*PRECABG(绝对误差)。

​​(5)结果输出​​

  • 动态场输出:如饱和度(*SWAT)、压力(*PRES)等。
  • 应力场输出(若耦合地质力学):输出*STRESS和*DISPLACEMENT。