MONOLITHIC APPROACH FOR SOLVING STOKES-DARCY SYSTEMS: Difference between revisions

From MaRDI portal
Created page with "= MONOLITHIC APPROACH FOR SOLVING STOKES-DARCY SYSTEMS = PID (if applicable): [https://arxiv.org/pdf/2108.13229.pdf arxiv:2108.13229] == Problem Statement == Instationary, coupled Stokes-Darcy two-domain problem: coupled systems of free flow adjacent to permeable (porous) media === Object of Research and Objective === The motivation for this is to avoid problems when using simple direct solvers (sparse direct solvers for the (linearized) subproblems): bad parallel s..."
 
T4 (talk | contribs)
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 36: Line 36:
=== Variables ===
=== Variables ===


{|
{| class="wikitable"
! Name
! Name
! Unit
! Unit
Line 43: Line 43:
| Pressure (Dirichlet pressure)
| Pressure (Dirichlet pressure)
| -
| -
| $p$
| <math>p</math>
|-
|-
| Velocity (Neumann velocity)
| Velocity (Neumann velocity)
| -
| -
| $v$
| <math>v</math>
|}
|}


Line 54: Line 54:
=== Process Steps ===
=== Process Steps ===


{|
{| class="wikitable"
! Name
! Name
! Description
! Description
Line 76: Line 76:
=== Applied Methods ===
=== Applied Methods ===


{|
{| class="wikitable"
! ID
! ID
! Name
! Name
Line 83: Line 83:
! implemented by
! implemented by
|-
|-
| wikidata:Q1069090
| wikidata:[[wikidata:Q1069090|Q1069090]]
| block-Gauss-Seidel preconditioner
| block-Gauss-Seidel preconditioner
| Preconditioning
| Preconditioning
Line 89: Line 89:
|
|
|-
|-
| wikidata:Q1481893
| wikidata:[[wikidata:Q1481893|Q1481893]]
| Block Jacobi Preconditioner
| Block Jacobi Preconditioner
| Preconditioning
| Preconditioning
Line 107: Line 107:
|
|
|-
|-
| wikidata:Q2467290
| wikidata:[[wikidata:Q2467290|Q2467290]]
| Umfpack
| Umfpack
| Solver
| Solver
Line 113: Line 113:
|
|
|-
|-
| wikidata: Q56564057
| wikidata: [[wikidata:Q56564057|Q56564057]]
| PD-GMRES
| PD-GMRES
| Solver
| Solver
Line 119: Line 119:
|
|
|-
|-
| wikidata:Q56560244
| wikidata:[[wikidata:Q56560244|Q56560244]]
| Bi-CGSTAB
| Bi-CGSTAB
| Solver
| Solver
Line 125: Line 125:
|
|
|-
|-
| wikidata:Q1471828
| wikidata:[[wikidata:Q1471828|Q1471828]]
| AMG method
| AMG method
| Preconditioner
| Preconditioner
Line 131: Line 131:
|
|
|-
|-
| wikidata: Q17144437
| wikidata: [[wikidata:Q17144437|Q17144437]]
| Uzawa-iterations
| Uzawa-iterations
| Preconditioner
| Preconditioner
Line 137: Line 137:
|
|
|-
|-
| wikidata:Q1654069
| wikidata:[[wikidata:Q1654069|Q1654069]]
| ILU(0) factorization
| ILU(0) factorization
| Preconditioner
| Preconditioner
Line 146: Line 146:
=== Software used ===
=== Software used ===


{|
{| class="wikitable"
! ID
! ID
! Name
! Name
Line 157: Line 157:
! documented
! documented
|-
|-
| sw:14293
| sw:[https://swmath.org/software/14293 14293]
| DuMux
| DuMux
| DUNE for Multi-{Phase, Component, Scale, Physics, …} flow and transport in porous media
| DUNE for Multi-{Phase, Component, Scale, Physics, …} flow and transport in porous media
Line 167: Line 167:
| [https://dumux.org/docs/ https://dumux.org/docs/]
| [https://dumux.org/docs/ https://dumux.org/docs/]
|-
|-
| sw:18749
| sw:[https://swmath.org/software/18749 18749]
| ISTL
| ISTL
| Iterative Solver Template Library” (ISTL) which is part of the “Distributed and Unified Numerics Environment” (DUNE).
| Iterative Solver Template Library” (ISTL) which is part of the “Distributed and Unified Numerics Environment” (DUNE).
Line 174: Line 174:
| Linux, DuNE (C++ Rahmenwerk)
| Linux, DuNE (C++ Rahmenwerk)
| [https://gitlab.dune-project.org/core/dune-istl https://gitlab.dune-project.org/core/dune-istl]
| [https://gitlab.dune-project.org/core/dune-istl https://gitlab.dune-project.org/core/dune-istl]
| doi:10.1007/978-3-540-75755-9_82
| https://doi.org/10.1007/978-3-540-75755-9_82
| [https://www.dune-project.org/modules/dune-istl/ https://www.dune-project.org/modules/dune-istl/]
| [https://www.dune-project.org/modules/dune-istl/ https://www.dune-project.org/modules/dune-istl/]
|}
|}
Line 180: Line 180:
=== Hardware ===
=== Hardware ===


{|
{| class="wikitable"
! ID
! ID
! Name
! Name
Line 198: Line 198:
=== Input Data ===
=== Input Data ===


{|
{| class="wikitable"
! ID
! ID
! Name
! Name
Line 212: Line 212:
|
|
| LGS
| LGS
| O($2*10^6$) Matrix size
| O(<math>2*10^6</math>) Matrix size
| Data structure in DUNE/DuMux
| Data structure in DUNE/DuMux
|
|
Line 224: Line 224:
=== Output Data ===
=== Output Data ===


{|
{| class="wikitable"
! ID
! ID
! Name
! Name
Line 258: Line 258:
| ?
| ?
|-
|-
| wikidata:Q18812775
| wikidata:[[wikidata:Q18812775|Q18812775]]
| vtk-image files, from the daten structure
| vtk-image files, from the daten structure
| ?
| ?
Line 307: Line 307:


wikidata: [https://www.wikidata.org/wiki/ https://www.wikidata.org/wiki/]
wikidata: [https://www.wikidata.org/wiki/ https://www.wikidata.org/wiki/]
[[Category:Workflow]]

Latest revision as of 17:23, 15 November 2022

MONOLITHIC APPROACH FOR SOLVING STOKES-DARCY SYSTEMS

PID (if applicable): arxiv:2108.13229

Problem Statement

Instationary, coupled Stokes-Darcy two-domain problem: coupled systems of free flow adjacent to permeable (porous) media

Object of Research and Objective

The motivation for this is to avoid problems when using simple direct solvers (sparse direct solvers for the (linearized) subproblems): bad parallel scaling, untrustworthy solution with bad conditioning.

Procedure

Assemble and solve the above system via block-preconditioning (implemented entirely in DuMux)

File:Https://i.imgur.com/3K2chRh.jpg

Involved Disciplines

Environmental Systems, Mathematics

Data Streams

Model

Stokes flow in the free-flow domain Darcy’s law for the porous domain

Discretization

  • Time: first-order backward Euler scheme
  • Space: finite volumes
    • Porous Domain (Darcy): mit two-point flux approximation for pressure
    • Free Flow domain (Stokes): staggered grid for pressure and velocity, upwind scheme for approximation of fluxes

Variables

Name Unit Symbol
Pressure (Dirichlet pressure) -
Velocity (Neumann velocity) -

Process Informationen

Process Steps

Name Description Input Output Method Parameter Environment Mathematical Area
Solving Solving with Preconditioner+Solver LGS Vector Solver: PD-GMRES, Preconditioner: AMG, Uzawa, ILU(0), Block-Jacobi, Block-Gauss-Seidel DuMux Numerical Mathematics

Applied Methods

ID Name Process Step Parameter implemented by
wikidata:Q1069090 block-Gauss-Seidel preconditioner Preconditioning
wikidata:Q1481893 Block Jacobi Preconditioner Preconditioning
- Two-domain block-Gauss-Seidel preconditioner Two-Domain Preconditioning
- Two-domain Block Jacobi Preconditioner Two-Domain Preconditioning
wikidata:Q2467290 Umfpack Solver
wikidata: Q56564057 PD-GMRES Solver k (subiteration parameter, determined automatically), tolerance: relative residual...
wikidata:Q56560244 Bi-CGSTAB Solver tolerance: relative residual...
wikidata:Q1471828 AMG method Preconditioner
wikidata: Q17144437 Uzawa-iterations Preconditioner
wikidata:Q1654069 ILU(0) factorization Preconditioner

Software used

ID Name Description Version Programming Language Dependencies versioned published documented
sw:14293 DuMux DUNE for Multi-{Phase, Component, Scale, Physics, …} flow and transport in porous media C++, python-bindings, utility-skripts in python Linux, DuNE (C++ Framework), cmake (module chains), package-config, compiler, build-essentials, dpg https://git.iws.uni-stuttgart.de/dumux-repositories/dumux https://zenodo.org/record/5152939#.YQva944zY2w https://dumux.org/docs/
sw:18749 ISTL Iterative Solver Template Library” (ISTL) which is part of the “Distributed and Unified Numerics Environment” (DUNE). C++ Linux, DuNE (C++ Rahmenwerk) https://gitlab.dune-project.org/core/dune-istl https://doi.org/10.1007/978-3-540-75755-9_82 https://www.dune-project.org/modules/dune-istl/

Hardware

ID Name Processor Compiler #Nodes #Cores
AMD EPYC 7551P CPU 1 1

Input Data

ID Name Size Data Structure Format Representation Format Exchange binary/text proprietary to publish to archive
LGS O() Matrix size Data structure in DUNE/DuMux numbers open ? ?

Output Data

ID Name Size Data Structure Format Representation Format Exchange binary/text proprietary to publish to archive
Solution Vector Data Structure in DUNE/DuMux numbers open ? ?
Runtime Behavior Data Structure in DUNE/DuMux numbers open ? ?
wikidata:Q18812775 vtk-image files, from the daten structure ? ASCII or binary open ? ?

Reproducibility

Mathematical Reproducibility

yes, by all parameters

Runtime Reproducibility

yes, for same input samples

Reproducibility of Results

Due to floating point arithmetic, no bitwise reproducibility

Reproducibility on original Hardware

Reproducibility on other Hardware

a) Serial Computation

b) Parallel Computation

Transferability to

a) similar model parameters (other initial and boundary values)

b) other models

Legend

The following abbreviations are used in the document to indicate/resolve IDs:

doi: DOI / https://dx.doi.org/

sw: swMATH / https://swmath.org/software/

wikidata: https://www.wikidata.org/wiki/