{"id":19709120,"url":"https://github.com/tlroy/thermalporous","last_synced_at":"2025-04-29T17:30:59.590Z","repository":{"id":88048537,"uuid":"167407129","full_name":"tlroy/thermalporous","owner":"tlroy","description":"DG0 solver for non-isothermal flow in porous media","archived":false,"fork":false,"pushed_at":"2020-12-11T19:59:59.000Z","size":19371,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T18:50:16.022Z","etag":null,"topics":["discontinuous-galerkin","finite-volume","porous-media-flow","preconditioning","reservoir-simulation","thermal"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlroy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-01-24T17:22:09.000Z","updated_at":"2024-03-29T17:43:09.000Z","dependencies_parsed_at":"2023-05-06T18:27:26.242Z","dependency_job_id":null,"html_url":"https://github.com/tlroy/thermalporous","commit_stats":{"total_commits":74,"total_committers":2,"mean_commits":37.0,"dds":0.1216216216216216,"last_synced_commit":"fd7fdfdf80cd0371c4578976b46a52793e4623ab"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlroy%2Fthermalporous","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlroy%2Fthermalporous/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlroy%2Fthermalporous/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlroy%2Fthermalporous/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlroy","download_url":"https://codeload.github.com/tlroy/thermalporous/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251549141,"owners_count":21607359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discontinuous-galerkin","finite-volume","porous-media-flow","preconditioning","reservoir-simulation","thermal"],"created_at":"2024-11-11T21:46:33.442Z","updated_at":"2025-04-29T17:30:54.569Z","avatar_url":"https://github.com/tlroy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thermalporous\nDG0 solver for non-isothermal flow in porous media\n\n## Requirements\nPlease install the open-source [Firedrake](https://www.firedrakeproject.org) finite element library first.\n\n## Installation\nRun:\n\n    git clone https://github.com/tlroy/thermalporous.git\n\nTo use Thermalporous, activate the Firedrake virtualenv and then run\n\n    cd thermalporous\n    source activate.sh\n    \n### Model features\n* Single and two- phase non-isothermal flow of viscous oil and water\n* Anisotropic and heterogeneous permeability fields\n* Well and heater source terms\n\n### Solver features\n* CPR preconditioner from [Wallis, 1983](https://arxiv.org/abs/1907.04229) with decoupling operators\n* Block preconditioner for single phase flow from [Roy et al., 2019](https://doi.org/10.1016/j.jcp.2019.06.038)\n* CPTR preconditioner for multiphase flow from [Roy et al., 2020](https://doi.org/10.1137/19M1292023)\n* DG0 formulation of the Finite Volume method\n\n### Piecewise constant discontinuous Galerkin (DG0)\nThe 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](https://doi.org/10.1016/j.jcp.2019.06.038) and [Roy, 2019](https://www.ora.ox.ac.uk/objects/uuid:478d84ed-fd67-4fd5-ba69-b7c962792c67).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlroy%2Fthermalporous","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlroy%2Fthermalporous","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlroy%2Fthermalporous/lists"}