Commit 053bb006 authored by sfritschi's avatar sfritschi
Browse files

Updated thesis text

parent d0907da9
\relax
\providecommand\hyper@newdestlabel[2]{}
\abx@aux@refcontext{none/global//global/global}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
......@@ -9,15 +26,16 @@
\abx@aux@segm{0}{0}{petsc-web-page}
\abx@aux@cite{MEYER2021103936}
\abx@aux@segm{0}{0}{MEYER2021103936}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{section.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Parallel Flow Solver}{2}{section.2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}PETSc Interface}{2}{subsection.2.1}\protected@file@percent }
\abx@aux@cite{hypre-web-page}
\abx@aux@segm{0}{0}{hypre-web-page}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Parallel Flow Solver}{2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}PETSc Interface}{2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Solver}{3}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Results}{3}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Pressures $p_{\mathrm {in}}$ and $p_{\mathrm {out}}$ are applied to in-pores and out-pores respectively, driving the network flow. The resulting pressure system is solved with the respective solvers from above and the mean total pore flux is shown in each case. With PETSc using 4 processes to solve the system. (AMG = algebraic multi-grid, CG = conjugate gradients, ILU = incomplete LU-preconditioning + GMRES)}}{3}\protected@file@percent }
\newlabel{fig:balance}{{1}{3}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Solver}{3}{subsection.2.2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Results}{3}{subsection.2.3}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Pressures $p_{\mathrm {in}}$ and $p_{\mathrm {out}}$ are applied to in-pores and out-pores respectively, driving the network flow. The resulting pressure system is solved with the respective solvers from above and the mean total pore flux is shown in each case. With PETSc using 4 processes to solve the system. (AMG = algebraic multi-grid, CG = conjugate gradients, ILU = incomplete LU-preconditioning + GMRES)}}{4}{figure.1}\protected@file@percent }
\newlabel{fig:balance}{{1}{4}{Pressures $p_{\mathrm {in}}$ and $p_{\mathrm {out}}$ are applied to in-pores and out-pores respectively, driving the network flow. The resulting pressure system is solved with the respective solvers from above and the mean total pore flux is shown in each case. With PETSc using 4 processes to solve the system. (AMG = algebraic multi-grid, CG = conjugate gradients, ILU = incomplete LU-preconditioning + GMRES)}{figure.1}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {A}PETSc Installation}{4}{appendix.A}\protected@file@percent }
\abx@aux@refcontextdefaultsdone
\abx@aux@defaultrefcontext{0}{MEYER2021103936}{none/global//global/global}
\abx@aux@defaultrefcontext{0}{petsc-web-page}{none/global//global/global}
......
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.4.27) 20 OCT 2021 22:33
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.4.27) 21 OCT 2021 12:12
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
......@@ -655,31 +655,152 @@ File: pgfmodulematrix.code.tex 2020/01/08 v3.1.5b (3.1.5b)
zlibrarytopaths.code.tex
File: tikzlibrarytopaths.code.tex 2020/01/08 v3.1.5b (3.1.5b)
)))
\@quotelevel=\count397
\@quotereset=\count398
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX
(/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
)
\@linkdim=\dimen196
\Hy@linkcounter=\count397
\Hy@pagecounter=\count398
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1
)
(/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
)
\Hy@SavedSpaceFactor=\count399
\pdfmajorversion=\count400
Package hyperref Info: Hyper figures OFF on input line 4547.
Package hyperref Info: Link nesting OFF on input line 4552.
Package hyperref Info: Hyper index ON on input line 4555.
Package hyperref Info: Plain pages OFF on input line 4562.
Package hyperref Info: Backreferencing OFF on input line 4567.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4800.
\c@Hy@tempcnt=\count401
LaTeX Info: Redefining \url on input line 5159.
\XeTeXLinkMargin=\dimen197
(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
)
))
\Fld@menulength=\count402
\Field@Width=\dimen198
\Fld@charsize=\dimen199
Package hyperref Info: Hyper figures OFF on input line 6430.
Package hyperref Info: Link nesting OFF on input line 6435.
Package hyperref Info: Hyper index ON on input line 6438.
Package hyperref Info: backreferencing OFF on input line 6445.
Package hyperref Info: Link coloring OFF on input line 6450.
Package hyperref Info: Link coloring with OCG OFF on input line 6455.
Package hyperref Info: PDF/A mode OFF on input line 6460.
LaTeX Info: Redefining \ref on input line 6500.
LaTeX Info: Redefining \pageref on input line 6504.
(/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO)
)
\Hy@abspage=\count403
\c@Item=\count404
\c@Hfootnote=\count405
)
Package hyperref Info: Driver (autodetected): hpdftex.
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX
(/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO)
)
\Fld@listcount=\count406
\c@bookmark@seq@number=\count407
(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO)
(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
86.
)
\Hy@SectionHShift=\skip73
)
(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
\lst@mode=\count408
\lst@gtempboxa=\box102
\lst@token=\toks27
\lst@length=\count409
\lst@currlwidth=\dimen256
\lst@column=\count410
\lst@pos=\count411
\lst@lostspace=\dimen257
\lst@width=\dimen258
\lst@newlines=\count412
\lst@lineno=\count413
\lst@maxwidth=\dimen259
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz)
\c@lstnumber=\count414
\lst@skipnumbers=\count415
\lst@framebox=\box103
)
(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2019/09/10 1.8c listings configuration
))
Package: listings 2019/09/10 1.8c (Carsten Heinz)
\@quotelevel=\count416
\@quotereset=\count417
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode
\l__kernel_color_stack_int=\count399
\l__pdf_internal_box=\box102
\l__kernel_color_stack_int=\count418
\l__pdf_internal_box=\box104
)
(./thesis.aux)
\openout1 = `thesis.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 17.
LaTeX Font Info: ... okay on input line 17.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 19.
LaTeX Font Info: ... okay on input line 19.
Package biblatex Info: Trying to load language 'english'...
Package biblatex Info: ... file 'english.lbx' found.
......@@ -695,22 +816,22 @@ Package biblatex Info: Trying to load bibliographic data...
Package biblatex Info: ... file 'thesis.bbl' found.
(./thesis.bbl)
Package biblatex Info: Reference section=0 on input line 17.
Package biblatex Info: Reference segment=0 on input line 17.
Package biblatex Info: Reference section=0 on input line 19.
Package biblatex Info: Reference segment=0 on input line 19.
ABD: EveryShipout initializing macros
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count400
\scratchdimen=\dimen196
\scratchbox=\box103
\nofMPsegments=\count401
\nofMParguments=\count402
\everyMPshowfont=\toks27
\MPscratchCnt=\count403
\MPscratchDim=\dimen197
\MPnumerator=\count404
\makeMPintoPDFobject=\count405
\everyMPtoPDFconversion=\toks28
\scratchcounter=\count419
\scratchdimen=\dimen260
\scratchbox=\box105
\nofMPsegments=\count420
\nofMParguments=\count421
\everyMPshowfont=\toks28
\MPscratchCnt=\count422
\MPscratchDim=\dimen261
\MPnumerator=\count423
\makeMPintoPDFobject=\count424
\everyMPtoPDFconversion=\toks29
) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
......@@ -720,53 +841,88 @@ Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
\AtBeginShipoutBox=\box106
Package hyperref Info: Link coloring OFF on input line 19.
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section
(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
)
\c@section@level=\count425
)
LaTeX Info: Redefining \ref on input line 19.
LaTeX Info: Redefining \pageref on input line 19.
LaTeX Info: Redefining \nameref on input line 19.
(./thesis.out) (./thesis.out)
\@outlinefile=\write5
\openout5 = `thesis.out'.
\c@lstlisting=\count426
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 18.
(Font) <12> on input line 21.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 18.
(Font) <8> on input line 21.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 18.
[1
(Font) <6> on input line 21.
[1
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 53.
(Font) <7> on input line 55.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 53.
<plots/flux_PETSC.png, id=17, 462.528pt x 346.896pt>
(Font) <5> on input line 55.
<plots/flux_PETSC.png, id=52, 462.528pt x 346.896pt>
File: plots/flux_PETSC.png Graphic file (type png)
<use plots/flux_PETSC.png>
Package pdftex.def Info: plots/flux_PETSC.png used on input line 59.
Package pdftex.def Info: plots/flux_PETSC.png used on input line 61.
(pdftex.def) Requested size: 276.00105pt x 207.01175pt.
[3 <./plots/flux_PETSC.png>] [4] (./thesis.aux)
LaTeX Warning: `h' float specifier changed to `ht'.
[3] [4 <./plots/flux_PETSC.png>] [5]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 88.
Package atveryend Info: Empty hook `AfterLastShipout' on input line 88.
(./thesis.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 88.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 88.
Package rerunfilecheck Info: File `thesis.out' has not changed.
(rerunfilecheck) Checksum: F4D7414D4B090067DEED7F25683328D2;331.
Package logreq Info: Writing requests to 'thesis.run.xml'.
\openout1 = `thesis.run.xml'.
)
Here is how much of TeX's memory you used:
18979 strings out of 483107
379441 string characters out of 5964630
973636 words of memory out of 5000000
33735 multiletter control sequences out of 15000+600000
537760 words of font info for 42 fonts, out of 8000000 for 9000
23776 strings out of 483107
453047 string characters out of 5964630
1072211 words of memory out of 5000000
38424 multiletter control sequences out of 15000+600000
538403 words of font info for 44 fonts, out of 8000000 for 9000
59 hyphenation exceptions out of 8191
60i,7n,60p,2072b,1226s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></us
r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></usr/sha
re/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/tex
live/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/te
xmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dis
t/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texlive/texmf-dist/fonts/
type1/public/amsfonts/cm/cmsl10.pfb></usr/share/texlive/texmf-dist/fonts/type1/
public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public
/amsfonts/cm/cmsy7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfon
ts/cm/cmti10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/
cmtt10.pfb>
Output written on thesis.pdf (4 pages, 167316 bytes).
60i,7n,60p,2074b,1257s stack positions out of 5000i,500n,10000p,200000b,80000s
</home/sev/.texlive2019/texmf-var/fonts/pk/ljfour/jknappen/ec/tcrm1000.600pk
></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr
/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></usr/share/texl
ive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/te
xmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dis
t/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/fonts
/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texlive/texmf-dist/fonts/type1/p
ublic/amsfonts/cm/cmsl10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/
amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfon
ts/cm/cmsy7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c
mti10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.
pfb>
Output written on thesis.pdf (5 pages, 186097 bytes).
PDF statistics:
67 PDF objects out of 1000 (max. 8388607)
47 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
18 words of extra memory for PDF output out of 10000 (max. 10000000)
136 PDF objects out of 1000 (max. 8388607)
112 compressed objects within 2 object streams
17 named destinations out of 1000 (max. 500000)
66 words of extra memory for PDF output out of 10000 (max. 10000000)
\BOOKMARK [1][-]{section.1}{Introduction}{}% 1
\BOOKMARK [1][-]{section.2}{Parallel Flow Solver}{}% 2
\BOOKMARK [2][-]{subsection.2.1}{PETSc Interface}{section.2}% 3
\BOOKMARK [2][-]{subsection.2.2}{Solver}{section.2}% 4
\BOOKMARK [2][-]{subsection.2.3}{Results}{section.2}% 5
\BOOKMARK [1][-]{appendix.A}{PETSc Installation}{}% 6
No preview for this file type
No preview for this file type
......@@ -8,6 +8,8 @@
\usepackage[backend=biber, sorting=none]{biblatex}
\usepackage{multicol} % multicolumn environment
\usepackage{tikz} % figures
\usepackage{hyperref} % web-links
\usepackage{listings} % line break in verb environment
% references
\addbibresource{bib/RandomGenerationFlowNetworks.bib}
......@@ -42,13 +44,13 @@
\vspace{5ex}
\begin{multicols}{2}
\section{Introduction}
\hspace{0.5cm}Porous media are abundant in nature. Various types of soils harbor intricate networks that enable the flow of groundwater and subsequently the transport of important chemical compounds through the soil. To understand these natural phenomena, it is of key interest to study the flow through pore networks. However, this requires sufficiently large void-space geometries taken from porous bodies, which despite advances in scanning technologies, is infeasible. Additionally, in pursuit of simulation efficiency, the 3D images obtained from scans are converted into a simplified representation consisting of spherical pores (nodes), connected by cylindrical throats (edges). To overcome above size limitation, the paper from \cite{MEYER2021103936} outlines a procedure for generating random realizations of much larger flow networks, taking an existing base network, obtained from a scan of a porous medium, as input. Furthermore, this method is particularly useful for generating heterogeneous networks, characterized by irregular pore distributions. This is done with dendrogram-based clustering of pores in the original network, followed by random rotations of said clusters. When performed repeatedly and arranged in a 3-dimensional grid of perturbed base network copies, the resulting network, carrying over pore statistics such as coordination number \& radius, preserves the irregular pore structure of the original network. The \emph{netflow} package that implements the mentioned algorithm also provides functionality for solving and analyzing the flow through such networks. The former of which is now to be parallelized in a distributed fashion, so that it may support larger networks with up to 100 millions of pores. In a further step, the network generation algorithm shall be complemented by a parallel shared memory approach, specifically for connecting the generated pores in the resulting network. This is done directly in Python using the \verb|multiprocessing| library.
\hspace{0.5cm}Porous media are abundant in nature. Various types of soils harbor intricate networks that enable the flow of groundwater and subsequently the transport of important chemical compounds through the soil. To understand these natural phenomena, it is of key interest to study the flow through pore networks. However, this requires sufficiently large void-space geometries taken from porous bodies, which despite advances in scanning technologies, is infeasible. Additionally, in pursuit of simulation efficiency, the 3D images obtained from scans are converted into a simplified representation consisting of spherical pores (nodes), connected by cylindrical throats (edges). To overcome above size limitation, the paper from \cite{MEYER2021103936} outlines a procedure for generating random realizations of much larger flow networks, taking an existing base network, obtained from a scan of a porous medium, as input. Furthermore, this method is particularly useful for generating heterogeneous networks, characterized by an irregular pore distribution. This is done with dendrogram-based clustering of pores in the original network, followed by random rotations of said clusters. When performed repeatedly and arranged in a 3-dimensional grid of perturbed base network copies, the resulting network, carrying over pore statistics such as coordination number \& radius, preserves the irregular pore structure of the original network. The \emph{netflow} package that implements the mentioned algorithm also provides functionality for solving and analyzing the flow through such networks. The former of which is now to be parallelized in a distributed fashion, so that it may support larger networks with up to 100 millions of pores. In a further step, the network generation algorithm shall be complemented by a parallel shared memory approach, specifically for connecting the generated pores in the resulting network. This is done directly in Python using the \verb|multiprocessing| library.
\section{Parallel Flow Solver}
\subsection{PETSc Interface}
\hspace{0.5cm}In order to interface the chosen C API of PETSc with the \emph{netflow} Python module, we rely on Cython to wrap the C source in Python, that is subsequently compiled with all required compilation and linking flags of PETSc. This allows us to invoke a \verb|solve_py()| function from Python delegating the relevant parameters, namely the system matrix and right-hand-side vector, to the C function \verb|solve()|.
\hspace{0.5cm}Despite the availability of Python package \emph{petsc4py}, we decided to use the native implementation in C instead. This choice was motivated by the fact that the latter is better maintained, and the inclusion of an additional Python module would further complicate the dependency tree on the Python side. In order to interface the chosen C API of PETSc with the \emph{netflow} Python module, we rely on Cython to wrap the C source in Python, that is subsequently compiled with all required compilation and linking flags of PETSc. This allows us to invoke a \verb|solve_py()| function from Python delegating the relevant parameters, namely the system matrix and right-hand-side vector, to the C function \verb|solve()|. Here, the system matrix, in the compressed row storage format, is converted into PETSc's internal representation for sparse and distributed matrices called \verb|Mat|. The same applies to the r.h.s. which is used to initialize a distributed vector object in PETSc, i.e. \verb|Vec|. When the solution has been computed, it is communicated in full to the root rank via a call to \verb|MPI_Gatherv()|. It is stored in a Cython memoryview, converted back into a numpy array, and finally returned by \verb|solve_py()|.
\subsection{Solver}
\hspace{0.5cm}The actual solver written in C then utilizes PETSc to iteratively approximate the solution of the system in parallel with the available MPI processes. For this purpose, the system matrix and r.h.s. have to be assembled to PETSc objects \verb|Mat| and \verb|Vec| respectively. To avoid data duplication this is only done on the root rank and then communicated in parts to the corresponding ranks through PETSc's \verb|Assembly| routines. The iterative method chosen to solve the non-symmetric pressure system, arising from the flow network, is GMRES together with a left algebraic multi-grid preconditioner supplied via hypre \cite{hypre-web-page}.
\hspace{0.5cm}The actual solver written in C then utilizes PETSc's collection of krylov-subspace (KSP) methods to iteratively approximate the solution of the system in parallel with the available MPI processes. To avoid data duplication, the initial assembly of PETSc objects is only done on the root rank and then communicated in parts to the corresponding ranks through PETSc's collective \verb|Assembly| routines. The iterative method chosen to solve the non-symmetric pressure system, arising from the flow network, is GMRES together with a left algebraic multi-grid preconditioner supplied via hypre \cite{hypre-web-page}.
\subsection{Results}
\hspace{0.5cm}In order to assess the quality of the pressure-solution obtained by this solver, we study the fluxes induced by the pore pressures for a given base network comprised of 2636 pores. In particular, we look at the sum of all in- and out-going fluxes per pore, obtained from the function \verb|flux_balance()|, and aggregated over all pores of the network. As expected from the conservation of mass, the mean is close to $0$ ($\approx 10^{-10}$) and the maximum is $\approx 10^{-7}$, which is in complete agreement with existing single-core solvers implemented in \emph{netflow}, see Figure ~\ref{fig:balance}.
......@@ -63,6 +65,24 @@
\newpage
\appendix
\begin{center} \Large{\textbf{Appendix}} \end{center}
\section{PETSc Installation}
For the purposes of this thesis, PETSc was installed in the following way. Given \textbf{existing} (open)MPI compilers located at \verb|/usr/bin/|.
\begin{itemize}
\item Clone \href{https://gitlab.com/petsc/petsc}{PETSc repository}.
\item Run \textbf{configuration} script:\\
\begin{tabular}{ l l }
\verb|./configure| & \verb|--with-cc=/usr/bin/mpicc| \\
& \verb|--with-cxx=/usr/bin/mpicxx| \\
& \verb|--with-fc=0| \\
& \verb|--download-hypre|
\end{tabular}
\item Set environment flags \verb|PETSC_DIR| and \verb|PETSC_ARCH| as specified in the output of \verb|./configure| \& run \textbf{make all}.
\end{itemize}
\newpage
\centering
\printbibliography
\end{document}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment