Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dumux-repositories
dumux
Commits
d74539ca
Commit
d74539ca
authored
Feb 02, 2016
by
Christoph Grüninger
Browse files
Merge branch 'feature/drop-alberta-for-foamgrid' into 'master'
Feature/drop alberta for foamgrid See merge request
!62
parents
a7d47a48
5e16b369
Changes
13
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
d74539ca
...
...
@@ -2,7 +2,11 @@ Differences Between DuMuX 2.8 and DuMuX 2.9
===================================================
*
IMPORTANT
NOTES
:
-
-
The
support
for
the
external
grid
library
ALBERTA
was
dropped
.
Instead
we
now
offically
support
dune
-
foamgrid
(
https
://
gitlab
.
dune
-
project
.
org
/
extensions
/
dune
-
foamgrid
).
Dune
-
foamgrid
supports
1
d
and
2
d
simplex
grids
embedded
in
an
arbitrary
dimension
world
space
.
It
features
element
parametrizations
,
runtime
growth
,
runtime
-
movable
vertices
.
*
IMPROVEMENTS
and
ENHANCEMENTS
:
-
The
multidomain
models
have
been
restructured
.
This
aims
at
a
reduction
in
...
...
doc/handbook/1_introduction.tex
View file @
d74539ca
...
...
@@ -18,8 +18,8 @@ for all possible cases, so \Dumux is build on top of \Dune, the
\textbf
{
D
}
istributed and
\textbf
{
U
}
nified
\textbf
{
N
}
umerics
\textbf
{
E
}
nvironment~
\cite
{
DUNE-HP
}
.
\Dune
provides a generic interface
to many existing grid management libraries such as UG~
\cite
{
UG-HP
}
,
ALBERTA~
\cite
{
ALBERTA-HP
}
,
ALUGrid~
\cite
{
ALUGRID-HP
}
and a few
more.
DUNE also extensively uses template programming in order to
ALUGrid~
\cite
{
ALUGRID-HP
}
and a few
more.
DUNE also extensively uses template programming in order to
achieve minimal overhead when accessing the underlying grid
libraries
\footnote
{
In fact, the performance penalty resulting from the
use of
\Dune
's grid interface is usually negligible~
\cite
{
BURRI2006
}
.
}
.
...
...
doc/handbook/2_detailedinstall.tex
View file @
d74539ca
...
...
@@ -236,15 +236,17 @@ In the following list, you can find some external modules and external libraries
and some more libraries and tools which are prerequisites for their use.
\begin
{
itemize
}
\item
\textbf
{
ALBERTA
}
: External grid library. Adaptive multi
-
level grid manager using bisectioning
refinement and error control by residual techniques for scientific Applications. Requires a Fortran
compiler like
\texttt
{
gfortran
}
. Download:
\texttt
{
\url
{
http:
//
www.alberta
-
fem.de
}}
or for version
3
.
0
\texttt
{
\url
{
http:
//
www.mathematik.uni
-
stuttgart.de
/
fak
8
/
ians
/
lehrstuhl
/
nmh
/
downloads
/
alberta
/
}}
.
\item
\textbf
{
dune
-
ALUGrid
}
: Grid library, comes as a
\Dune
module.
The parallel version needs also a graph partitioner, such as
\texttt
{
ParMETIS
}
.
Download:
\texttt
{
\url
{
https:
//
gitlab.dune
-
project.org
/
extensions
/
dune
-
alugrid
}}
\item
\textbf
{
dune
-
foamgrid
}
: External grid module. One
-
and two
-
dimensional grids
in a physical space of arbitrary dimension; non
-
manifold grids, growth, element
paramterizations, and movable vertices. This makes FoamGrid the grid data structure
of choice for simulating structures such as foams, discrete fracture networks,
or network flow problems.
Download:
\texttt
{
\url
{
https:
//
gitlab.dune
-
project.org
/
extensions
/
dune
-
foamgrid
}}
\item
\textbf
{
\Dune
-
multidomaingrid
}
and
\textbf
{
\Dune
-
multidomain
}
: External modules which offer a meta grid that
has different sub
-
domains. Each sub
-
domain can have a local operator that is coupled by a coupling condition. They are
used for multi
-
physics approaches or domain decomposition methods. Download:
...
...
@@ -279,7 +281,7 @@ depending on which modules of \Dune and which external libraries you use.
when they are going to be built for parallel computing.
\texttt
{
OpenMPI
}
and
\texttt
{
MPICH
}
in a recent
version have been reported to work.
\item
\textbf
{
BLAS
}
:
Alberta and
SuperLU make use of BLAS. Thus install GotoBLAS
2
, ATLAS, non
-
optimized BLAS
\item
\textbf
{
BLAS
}
: SuperLU make
s
use of BLAS. Thus install GotoBLAS
2
, ATLAS, non
-
optimized BLAS
or BLAS provided by a chip manufacturer. Take care that the installation scripts select the intended
version of BLAS.
...
...
doc/handbook/dumux-handbook.bib
View file @
d74539ca
...
...
@@ -1371,11 +1371,6 @@
url
=
{https://dx.doi.org/10.1021/jp021943g}
}
@MISC
{
ALBERTA-HP
,
title
=
{{The {ALBERTA} Website: \url{http://www.alberta-fem.de/}}}
,
key
=
{ALBERTA}
}
@MISC
{
ALUGRID-HP
,
title
=
{T{he {ALUG}rid Website: \url{http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/}}}
,
key
=
{ALU}
...
...
dumux/io/adaptivegridrestart.hh
View file @
d74539ca
...
...
@@ -28,9 +28,6 @@
#if HAVE_DUNE_ALUGRID
#include
<dune/alugrid/grid.hh>
#endif
#if HAVE_ALBERTA
#include
<dune/grid/albertagrid/agrid.hh>
#endif
#include
<dune/grid/common/backuprestore.hh>
#if ! DUNE_VERSION_NEWER(DUNE_COMMON, 3, 0)
...
...
@@ -60,14 +57,6 @@ struct GridRestartCheck<Dune::ALUGrid<dim, dimworld, elType, refinementType> >
static
const
bool
allowRestart
=
true
;
};
#endif
#if HAVE_ALBERTA
template
<
int
dim
,
int
dimworld
>
struct
GridRestartCheck
<
Dune
::
AlbertaGrid
<
dim
,
dimworld
>
>
{
static
const
bool
allowRestart
=
true
;
};
#endif
//! \endcond
...
...
dumux/io/gridcreator.hh
View file @
d74539ca
...
...
@@ -63,12 +63,6 @@
#include
<dune/foamgrid/dgffoam.cc>
#endif
// Alberta specific includes
#if HAVE_ALBERTA
#include
<dune/grid/albertagrid.hh>
#include
<dune/grid/albertagrid/dgfparser.hh>
#endif
#include
<dumux/common/propertysystem.hh>
#include
<dumux/common/parameters.hh>
...
...
@@ -1289,59 +1283,6 @@ public:
#endif // HAVE_DUNE_FOAMGRID
#if HAVE_ALBERTA
/*!
* \brief Provides a grid creator for FoamGrids
* from information in the input file
*
* All keys are expected to be in group GridParameterGroup.
* The following keys are recognized:
* - File : A DGF or gmsh file to load from, type detection by file extension
* - Verbosity : whether the grid construction should output to standard out
*
*/
template
<
class
TypeTag
,
int
dim
,
int
dimworld
>
class
GridCreatorImpl
<
TypeTag
,
Dune
::
AlbertaGrid
<
dim
,
dimworld
>
>
:
public
GridCreatorBase
<
TypeTag
,
Dune
::
AlbertaGrid
<
dim
,
dimworld
>
>
{
public:
typedef
typename
Dune
::
AlbertaGrid
<
dim
,
dimworld
>
Grid
;
typedef
GridCreatorBase
<
TypeTag
,
Grid
>
ParentType
;
/*!
* \brief Make the grid. This is implemented by specializations of this method.
*/
static
void
makeGrid
()
{
// First try to create it from a DGF or msh file in GridParameterGroup.File
try
{
const
std
::
string
fileName
=
GET_RUNTIME_PARAM_FROM_GROUP_CSTRING
(
TypeTag
,
std
::
string
,
GET_PROP_VALUE
(
TypeTag
,
GridParameterGroup
).
c_str
(),
File
);
ParentType
::
makeGridFromFile
(
fileName
,
"Alberta"
);
ParentType
::
maybeRefineGrid
();
return
;
}
catch
(
Dumux
::
ParameterException
&
e
)
{}
catch
(...)
{
throw
;
}
// Then look for the necessary keys to construct a structured grid from the input file
try
{
ParentType
::
template
makeStructuredGrid
<
dim
,
dimworld
>(
ParentType
::
CellType
::
Simplex
);
ParentType
::
maybeRefineGrid
();
}
catch
(
Dumux
::
ParameterException
&
e
)
{
DUNE_THROW
(
Dumux
::
ParameterException
,
"Please supply the mandatory parameters "
<<
GET_PROP_VALUE
(
TypeTag
,
GridParameterGroup
)
<<
".UpperRight and "
<<
GET_PROP_VALUE
(
TypeTag
,
GridParameterGroup
)
<<
".LowerLeft or a grid file in "
<<
GET_PROP_VALUE
(
TypeTag
,
GridParameterGroup
)
<<
".File."
);
}
catch
(...)
{
throw
;
}
}
};
#endif // HAVE_ALBERTA
// TODO Petrel grids with dune-cornerpoint
}
// namespace Dumux
...
...
dune.module
View file @
d74539ca
...
...
@@ -2,5 +2,5 @@ Module: dumux
Version
:
2.9
-
git
Maintainer
:
dumux
@
listserv
.
uni
-
stuttgart
.
de
Depends
:
dune
-
grid
(
>=
2.4
)
dune
-
localfunctions
(
>=
2.4
)
dune
-
istl
(
>=
2.4
)
Suggests
:
dune
-
alugrid
(
>=
2.4
)
dune
-
pdelab
(
>=
2.0
)
dune
-
multidomain
dune
-
cornerpoint
Suggests
:
dune
-
alugrid
(
>=
2.4
)
dune
-
pdelab
(
>=
2.0
)
dune
-
multidomain
dune
-
cornerpoint
dune
-
foamgrid
(
>=
2.4
)
Whitespace
-
Hook
:
Yes
test/porousmediumflow/1p/implicit/1ptestproblem.hh
View file @
d74539ca
...
...
@@ -82,17 +82,17 @@ NEW_TYPE_TAG(OnePTestCCProblemWithAMG, INHERITS_FROM(OnePTestCCProblem));
SET_TYPE_PROP
(
OnePTestBoxProblemWithAMG
,
LinearSolver
,
Dumux
::
AMGBackend
<
TypeTag
>
);
SET_TYPE_PROP
(
OnePTestCCProblemWithAMG
,
LinearSolver
,
Dumux
::
AMGBackend
<
TypeTag
>
);
// if
Alberta
Grid is available, test for dim < dimWorld
#if HAVE_
ALBERTA
// if
Foam
Grid is available, test for dim < dimWorld
#if HAVE_
DUNE_FOAMGRID
NEW_TYPE_TAG
(
OnePOneDThreeDTestProblem
,
INHERITS_FROM
(
OnePTestProblem
));
NEW_TYPE_TAG
(
OnePOneDThreeDTestBoxProblem
,
INHERITS_FROM
(
BoxModel
,
OnePOneDThreeDTestProblem
));
NEW_TYPE_TAG
(
OnePOneDThreeDTestCCProblem
,
INHERITS_FROM
(
CCModel
,
OnePOneDThreeDTestProblem
));
SET_TYPE_PROP
(
OnePOneDThreeDTestProblem
,
Grid
,
Dune
::
Alberta
Grid
<
1
,
3
>
);
SET_TYPE_PROP
(
OnePOneDThreeDTestProblem
,
Grid
,
Dune
::
Foam
Grid
<
1
,
3
>
);
NEW_TYPE_TAG
(
OnePTwoDThreeDTestProblem
,
INHERITS_FROM
(
OnePTestProblem
));
NEW_TYPE_TAG
(
OnePTwoDThreeDTestBoxProblem
,
INHERITS_FROM
(
BoxModel
,
OnePTwoDThreeDTestProblem
));
NEW_TYPE_TAG
(
OnePTwoDThreeDTestCCProblem
,
INHERITS_FROM
(
CCModel
,
OnePTwoDThreeDTestProblem
));
SET_TYPE_PROP
(
OnePTwoDThreeDTestProblem
,
Grid
,
Dune
::
Alberta
Grid
<
2
,
3
>
);
SET_TYPE_PROP
(
OnePTwoDThreeDTestProblem
,
Grid
,
Dune
::
Foam
Grid
<
2
,
3
>
);
#endif
// Enable gravity
...
...
test/porousmediumflow/1p/implicit/CMakeLists.txt
View file @
d74539ca
...
...
@@ -63,14 +63,13 @@ add_dumux_test(test_cc1pniconvection test_cc1pniconvection test_cc1pniconvection
${
CMAKE_CURRENT_BINARY_DIR
}
/cc1pniconvection-00011.vtu
--command
"
${
CMAKE_CURRENT_BINARY_DIR
}
/test_cc1pniconvection"
)
# dim < dimWorld tests
# dim < dimWorld tests
with foamgrid
add_dumux_test
(
test_box1p1d3d test_box1p1d3d test_box1p1d3d.cc
python
${
CMAKE_SOURCE_DIR
}
/bin/runtest.py
--script fuzzy
--files
${
CMAKE_SOURCE_DIR
}
/test/references/1ptestbox1d3d-reference.vtp
${
CMAKE_CURRENT_BINARY_DIR
}
/1ptestbox1d3d-00002.vtp
--command
"
${
CMAKE_CURRENT_BINARY_DIR
}
/test_box1p1d3d"
)
add_dune_alberta_flags
(
test_box1p1d3d GRIDDIM 1 WORLDDIM 3
)
add_dumux_test
(
test_box1p2d3d test_box1p2d3d test_box1p2d3d.cc
python
${
CMAKE_SOURCE_DIR
}
/bin/runtest.py
...
...
@@ -78,7 +77,6 @@ add_dumux_test(test_box1p2d3d test_box1p2d3d test_box1p2d3d.cc
--files
${
CMAKE_SOURCE_DIR
}
/test/references/1ptestbox2d3d-reference.vtu
${
CMAKE_CURRENT_BINARY_DIR
}
/1ptestbox2d3d-00002.vtu
--command
"
${
CMAKE_CURRENT_BINARY_DIR
}
/test_box1p2d3d"
)
add_dune_alberta_flags
(
test_box1p2d3d GRIDDIM 2 WORLDDIM 3
)
add_dumux_test
(
test_cc1p1d3d test_cc1p1d3d test_cc1p1d3d.cc
python
${
CMAKE_SOURCE_DIR
}
/bin/runtest.py
...
...
@@ -86,7 +84,6 @@ add_dumux_test(test_cc1p1d3d test_cc1p1d3d test_cc1p1d3d.cc
--files
${
CMAKE_SOURCE_DIR
}
/test/references/1ptestcc1d3d-reference.vtp
${
CMAKE_CURRENT_BINARY_DIR
}
/1ptestcc1d3d-00002.vtp
--command
"
${
CMAKE_CURRENT_BINARY_DIR
}
/test_cc1p1d3d"
)
add_dune_alberta_flags
(
test_cc1p1d3d GRIDDIM 1 WORLDDIM 3
)
add_dumux_test
(
test_cc1p2d3d test_cc1p2d3d test_cc1p2d3d.cc
python
${
CMAKE_SOURCE_DIR
}
/bin/runtest.py
...
...
@@ -94,7 +91,6 @@ add_dumux_test(test_cc1p2d3d test_cc1p2d3d test_cc1p2d3d.cc
--files
${
CMAKE_SOURCE_DIR
}
/test/references/1ptestcc2d3d-reference.vtu
${
CMAKE_CURRENT_BINARY_DIR
}
/1ptestcc2d3d-00002.vtu
--command
"
${
CMAKE_CURRENT_BINARY_DIR
}
/test_cc1p2d3d"
)
add_dune_alberta_flags
(
test_cc1p2d3d GRIDDIM 2 WORLDDIM 3
)
#install sources
...
...
test/porousmediumflow/1p/implicit/test_box1p1d3d.cc
View file @
d74539ca
...
...
@@ -59,12 +59,12 @@ void usage(const char *progName, const std::string &errorMsg)
int
main
(
int
argc
,
char
**
argv
)
{
#if HAVE_
ALBERTA
#if HAVE_
DUNE_FOAMGRID
typedef
TTAG
(
OnePOneDThreeDTestBoxProblem
)
ProblemTypeTag
;
return
Dumux
::
start
<
ProblemTypeTag
>
(
argc
,
argv
,
usage
);
#else
#warning External grid
Alberta
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
Alberta
!"
<<
std
::
endl
;
#warning External grid
module dune-foamgrid
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
dune-foamgrid
!"
<<
std
::
endl
;
return
77
;
#endif
}
test/porousmediumflow/1p/implicit/test_box1p2d3d.cc
View file @
d74539ca
...
...
@@ -59,12 +59,12 @@ void usage(const char *progName, const std::string &errorMsg)
int
main
(
int
argc
,
char
**
argv
)
{
#if HAVE_
ALBERTA
#if HAVE_
DUNE_FOAMGRID
typedef
TTAG
(
OnePTwoDThreeDTestBoxProblem
)
ProblemTypeTag
;
return
Dumux
::
start
<
ProblemTypeTag
>
(
argc
,
argv
,
usage
);
#else
#warning External grid
Alberta
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
Alberta
!"
<<
std
::
endl
;
#warning External grid
module dune-foamgrid
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
dune-foamgrid
!"
<<
std
::
endl
;
return
77
;
#endif
}
test/porousmediumflow/1p/implicit/test_cc1p1d3d.cc
View file @
d74539ca
...
...
@@ -59,12 +59,12 @@ void usage(const char *progName, const std::string &errorMsg)
int
main
(
int
argc
,
char
**
argv
)
{
#if HAVE_
ALBERTA
#if HAVE_
DUNE_FOAMGRID
typedef
TTAG
(
OnePOneDThreeDTestCCProblem
)
ProblemTypeTag
;
return
Dumux
::
start
<
ProblemTypeTag
>
(
argc
,
argv
,
usage
);
#else
#warning External grid
Alberta
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
Alberta
!"
<<
std
::
endl
;
#warning External grid
module dune-foamgrid
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
dune-foamgrid
!"
<<
std
::
endl
;
return
77
;
#endif
}
test/porousmediumflow/1p/implicit/test_cc1p2d3d.cc
View file @
d74539ca
...
...
@@ -59,12 +59,12 @@ void usage(const char *progName, const std::string &errorMsg)
int
main
(
int
argc
,
char
**
argv
)
{
#if HAVE_
ALBERTA
#if HAVE_
DUNE_FOAMGRID
typedef
TTAG
(
OnePTwoDThreeDTestCCProblem
)
ProblemTypeTag
;
return
Dumux
::
start
<
ProblemTypeTag
>
(
argc
,
argv
,
usage
);
#else
#warning External grid
Alberta
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
Alberta
!"
<<
std
::
endl
;
#warning External grid
module dune-foamgrid
needed to run this example.
std
::
cerr
<<
"Test skipped, it needs
dune-foamgrid
!"
<<
std
::
endl
;
return
77
;
#endif
}
Timo Koch
@timok
Mentioned in issue
#282 (closed)
·
Sep 23, 2016
Mentioned in issue
#282 (closed)
Mentioned in issue #282
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment