Commit 30c36012 authored by sfritschi's avatar sfritschi
Browse files

Further updated thesis

parent 45d194a6
......@@ -11,9 +11,12 @@
\abx@aux@segm{0}{0}{MEYER2021103936}
\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}{2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Results}{2}\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}
\abx@aux@defaultrefcontext{0}{hypre-web-page}{none/global//global/global}
\@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 }
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.4.27) 18 OCT 2021 15:55
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2021.4.27) 18 OCT 2021 20:57
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
......@@ -399,34 +399,37 @@ LaTeX Font Info: External font `cmex10' loaded for size
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 51.
(Font) <7> on input line 52.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 51.
(Font) <5> on input line 52.
[2]
(./thesis.aux)
[3] (./thesis.aux)
Package logreq Info: Writing requests to 'thesis.run.xml'.
\openout1 = `thesis.run.xml'.
)
Here is how much of TeX's memory you used:
7965 strings out of 483107
150622 string characters out of 5964630
773517 words of memory out of 5000000
22971 multiletter control sequences out of 15000+600000
537453 words of font info for 41 fonts, out of 8000000 for 9000
7966 strings out of 483107
150637 string characters out of 5964630
776517 words of memory out of 5000000
22972 multiletter control sequences out of 15000+600000
537760 words of font info for 42 fonts, out of 8000000 for 9000
59 hyphenation exceptions out of 8191
36i,7n,45p,1789b,1266s stack positions out of 5000i,500n,10000p,200000b,80000s
36i,7n,45p,1789b,1224s 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/cmr10.pfb></usr/share/texl
ive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/tex
mf-dist/fonts/type1/public/amsfonts/cm/cmsl10.pfb></usr/share/texlive/texmf-dis
t/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/texlive/texmf-dist/font
s/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on thesis.pdf (2 pages, 98175 bytes).
mf-dist/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/
amsfonts/cm/cmti10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfon
ts/cm/cmtt10.pfb>
Output written on thesis.pdf (3 pages, 121713 bytes).
PDF statistics:
39 PDF objects out of 1000 (max. 8388607)
27 compressed objects within 1 object stream
54 PDF objects out of 1000 (max. 8388607)
38 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)
No preview for this file type
No preview for this file type
......@@ -41,12 +41,20 @@
\vspace{5ex}
\begin{multicols}{2}
\section{Introduction}
\hspace{0.5cm} The paper from \cite{MEYER2021103936} outlines a procedure for generating random realizations of larger flow networks, taking an existing base network, obtained from a scan of a porous medium, as input. Said network consists of spherical pores that are connected by cylindrical throats. The \emph{netflow} package that implements the algorithm from above 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 millions of pores.
\hspace{0.5cm}The paper from \cite{MEYER2021103936} outlines a procedure for generating random realizations of larger flow networks, taking an existing base network, obtained from a scan of a porous medium, as input. Said network consists of spherical pores that are connected by cylindrical throats. The \emph{netflow} package that implements the algorithm from above 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 millions of pores.
\section{Parallel Flow Solver}
\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, 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 C code, which in turn utilizes PETSc to iteratively solve the system in parallel with the available MPI processes. To avoid data duplication of the fairly large and sparse system matrix, it is only assembled 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 pressure system arising from the flow network is GMRES together with a left algebraic multi-grid preconditioner supplied via hypre \cite{hypre-web-page}. 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 containing 2636 pores.
\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, 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 C code.
\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. To avoid data duplication of the fairly large and sparse system matrix, it is only assembled 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 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 containing 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}.
\end{multicols}
\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