Multiphysics processes in fractured porous media is a research field of importance for several subsurface applications and has received considerable attention over the last decade. The dynamics are characterised by strong couplings between processes as well as interaction between the processes and the structure of the fractured medium itself. The rich range of behavior calls for explorative mathematical modelling, such as experimentation with constitutive laws and novel coupling concepts between physical processes. Moreover, efficient simulations of the strong couplings between multiphysics processes and geological structures require the development of tailored numerical methods. We present a modelling framework and its implementation in the open-source simulation toolbox PorePy, which is designed for rapid prototyping of multiphysics processes in fractured porous media. PorePy uses a mixed-dimensional representation of the fracture geometry and generally applies fully implicit couplings between processes. The code design follows the paradigms of modularity and differentiable programming, which together allow for extreme flexibility in experimentation with governing equations with minimal changes to the code base. The code integrity is supported by a multilevel testing framework ensuring the reliability of the code. We present our modelling framework within a context of thermo-poroelasticity in deformable fractured porous media, illustrating the close relation between the governing equations and the source code. We furthermore discuss the design of the testing framework and present simulations showcasing the extendibility of PorePy, as well as the type of results that can be produced by mixed-dimensional simulation tools.
翻译:裂隙多孔介质中的多物理过程是多个地下应用领域的重要研究方向,近十年来受到广泛关注。其动力学特征表现为过程间的强耦合以及过程与裂隙介质结构本身的相互作用。丰富的物理行为需要探索性的数学模型,例如本构关系的实验验证以及物理过程间新型耦合概念的探索。此外,多物理过程与地质结构之间强耦合的高效模拟需要开发定制化的数值方法。本文提出了一种建模框架及其在开源模拟工具箱PorePy中的实现,该工具箱专为裂隙多孔介质中多物理过程的快速原型开发而设计。PorePy采用混合维表示裂隙几何,通常采用过程间的全隐式耦合。代码设计遵循模块化和可微分编程范式,二者共同实现了在最小化代码修改的前提下对控制方程进行实验的极高灵活性。代码完整性由多级测试框架支持,确保代码的可靠性。我们以可变形裂隙多孔介质中的热-孔弹性力学为背景阐述建模框架,展示了控制方程与源代码之间的紧密联系。此外,我们还讨论了测试框架的设计,并通过模拟实例展示了PorePy的可扩展性,以及混合维模拟工具可产生的典型结果类型。