diff --git a/Fetzer2012a.bib b/Fetzer2012a.bib new file mode 100644 index 0000000000000000000000000000000000000000..2d64fc4b29d0c24b89dfc7fa5b4d2278fd19fe3d --- /dev/null +++ b/Fetzer2012a.bib @@ -0,0 +1,8 @@ +@MastersThesis{Fetzer2012a, + author = {Thomas Fetzer}, + title = {{Numerical analysis of the influence of turbulence on exchange processes between porous-medium and free flow}}, + school = {University of Stuttgart}, + year = {2012}, + type = {Diploma Thesis}, + abstract = {Flow and transport processes in domains composed of a porous medium and an adjacent free-flow region appear in a wide range of industrial, medical and environmental appli- cations. One fundamental example is the evaporation from unsaturated soil under the influence of atmospheric processes. In a preliminary work, Stokes flow and isothermal conditions have been applied to simulate these evaporation processes. However, there is a discrepancy between the simulated evaporation rates and rates which have been measured in laboratory experiments. The main goal of this thesis is to extend the given model to turbulent conditions. For this purpose averaged turbulence models, such as Reynolds-averaged Navier-Stokes are reviewed and discussed for their applicability and limitations. Suitable concepts are implemented in the existing DuMux framework. Infirst step the implemented models will be applied to a pipe flow test case. Then the ef- fects on the transport behavior of water vapor across the soil-atmosphere interface will be analyzed and discussed. Finally simulations will be compared to evaporation data measured in wind tunnel experiments in cooperation with the research unit MUSIS and the group of Dani Or at the Institute of terrestrial ecosystems, ETH Z ̈ urich.}, +} diff --git a/README.md b/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f1b3dc3829e00e6f6c8aaa88a69851c250126587 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,28 @@ +Summary +======= +This is the DuMuX module containing the code for producing the results +published in: + +T. Fetzer<br> +Numerical analysis of the influence of turbulence on exchange processes between porous-medium and free flow<br> +Diploma Thesis, 2012<br> +Universität Stuttgart + +You can use the .bib file provided [here](Fetzer2012a.bib). + + +Installation +============ + +**Pleas note:** +The script only retrieves the necessary code bases. +Compiling executables will not work due to issues in automake and SuperLU (tried on 2017-11-16). + +The easiest way to install this module is to create a new folder and to execute the file +[installFetzer2012a.sh](https://git.iws.uni-stuttgart.de/dumux-pub/Fetzer2015a/raw/master/installFetzer2012a.sh) +in this folder. + +```bash +mkdir -p Fetzer2012a && cd Fetzer2012a +wget -q https://git.iws.uni-stuttgart.de/dumux-pub/Fetzer2012a/raw/master/installFetzer2012a.sh +sh ./installFetzer2012a.sh diff --git a/automake.opts b/automake.opts new file mode 100644 index 0000000000000000000000000000000000000000..2c3ef7642033946c67ab70cbecead6640b9be3fa --- /dev/null +++ b/automake.opts @@ -0,0 +1,33 @@ +# path to external modules +EXTDIR= + +GXX_WARNING_OPTS="\ + -Wall \ + -Wunused \ + -Wmissing-include-dirs \ + -Wno-cast-align \ + -Wno-sign-compare \ + -Wno-unused-parameter" + +# additional -W flags for g++ which will lead to many warnings in +# other dune modules +# -Wextra \ +# -Wfloat-equal \ +# -Wstrict-overflow \ + +GXX_OPTS="\ + -fno-strict-aliasing \ + -fstrict-overflow \ + -std=c++11 \ + -g -O2" + +# FLAGS FOR AUTOMAKE +CONFIGURE_FLAGS="\ + CC=/usr/bin/gcc-4.8 \ + CXX=/usr/bin/g++-4.8 \ + CXXFLAGS=\"${GXX_WARNING_OPTS} ${GXX_OPTS}\" \ + --with-ug=$EXTDIR/ug-3.11.0 \ + --with-lopenblas \ + --enable-parallel \ + --disable-documentation \ + --disable-mpiruntest" diff --git a/installFetzer2012a.sh b/installFetzer2012a.sh new file mode 100755 index 0000000000000000000000000000000000000000..4f061c572c7c517348cc038f502ae0dc166d4f8f --- /dev/null +++ b/installFetzer2012a.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +### Create a folder for the dune and dumux modules +### Go into the folder and execute this script + +### Clone the necessary modules +git clone -b releases/2.3 https://gitlab.dune-project.org/core/dune-common.git +git clone -b releases/2.3 https://gitlab.dune-project.org/core/dune-geometry.git +git clone -b releases/2.3 https://gitlab.dune-project.org/core/dune-grid.git +git clone -b releases/2.3 https://gitlab.dune-project.org/core/dune-istl.git +git clone -b releases/2.3 https://gitlab.dune-project.org/core/dune-localfunctions.git +git clone -b releases/2.0 https://gitlab.dune-project.org/pdelab/dune-pdelab.git +git clone -b releases/2.3 https://gitlab.dune-project.org/staging/dune-typetree.git +git clone -b v3.12.1 https://gitlab.dune-project.org/staging/dune-uggrid.git external/ug-3.12.1 +git clone -b releases/2.3 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git dumux +git clone git@git.iws.uni-stuttgart.de:dumux-repositories/dumux-devel-old.git dumux-devel +cd dumux-devel && git checkout 248d5967a1932dd4cf794e19fab213da148ef0b7 && cd .. +git clone https://git.iws.uni-stuttgart.de/dumux-pub/Fetzer2012a.git dumux-Fetzer2012a + +### EXTERNAL MODULES: UG is required +cd external/ug-3.12.1 +autoreconf -is +OPTIM_FLAGS="-O3 -DNDEBUG -march=native -finline-functions -funroll-loops" +# debug flags +if test "$ENABLE_DEBUG" == "y"; then + OPTIM_FLAGS="-O0 -g2" +fi +CFLAGS="$OPTIM_FLAGS" +CXXFLAGS="$OPTIM_FLAGS -std=c++0x -fno-strict-aliasing" +OPTS="--enable-dune --prefix=$PWD" + +if test "$ENABLE_MPI" == "y"; then + OPTS="$OPTS --enable-parallel MPICC=$MPICXX" +else + OPTS="$OPTS --without-mpi" +fi + +./configure \ + CC=g++ \ + CFLAGS="$CFLAGS" \ + CXXFLAGS="$CXXFLAGS" \ + $OPTS +make +make install + +### run dunecontrol +pwd > temp.txt +sed -i 's/\//\\\//g' temp.txt +EXTPATH=`cat temp.txt` +/usr/bin/rm temp.txt +sed "s/EXTDIR=.*/EXTDIR=$EXTPATH\/external/" dumux-Fetzer2012a/automake.opts > dumux-Fetzer2012a/automake_used.opts +./dune-common/bin/dunecontrol --opts=dumux-Fetzer2012a/automake_used.opts all