tlroy / thermalporous

DG0 solver for non-isothermal flow in porous media

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Thermalporous

DG0 solver for non-isothermal flow in porous media

Requirements

Please install the open-source Firedrake finite element library first.

Installation

Run:

git clone https://github.com/tlroy/thermalporous.git

To use Thermalporous, activate the Firedrake virtualenv and then run

cd thermalporous
source activate.sh

Model features

  • Single and two- phase non-isothermal flow of viscous oil and water
  • Anisotropic and heterogeneous permeability fields
  • Well and heater source terms

Solver features

  • CPR preconditioner from Wallis, 1983 with decoupling operators
  • Block preconditioner for single phase flow from Roy et al., 2019
  • CPTR preconditioner for multiphase flow from Roy et al., 2020
  • DG0 formulation of the Finite Volume method

Piecewise constant discontinuous Galerkin (DG0)

The DG0 discretization is equivalent in the weak sense to the Finite Volume method with two-point flux approximation (TPFA). For some simple examples of using DG0 in Firedrake, please look in the intro folder. More details can be in found Roy et al., 2019 and Roy, 2019.

About

DG0 solver for non-isothermal flow in porous media

License:GNU Lesser General Public License v3.0


Languages

Language:Python 100.0%Language:Shell 0.0%