Skip to content
GitLab
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-lecture
Commits
042caae4
Commit
042caae4
authored
Jun 25, 2020
by
Timo Koch
Browse files
Merge branch 'feature/propertiesheader_lec-co2plume' into 'master'
Properties header file for [MM] co2plume See merge request
!118
parents
ac28466a
b140dd34
Changes
4
Hide whitespace changes
Inline
Side-by-side
lecture/mm/co2plume/CMakeLists.txt
View file @
042caae4
...
...
@@ -13,6 +13,7 @@ dune_add_test(NAME co2plumeshapeexercise
#install sources
install
(
FILES
co2plumeshapeproblem.hh
co2plumeshapeproperties.hh
co2plumeshapespatialparameters.hh
injectionco2tables.hh
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/lecture/mm/co2plumeshape
)
lecture/mm/co2plume/co2plumeshapeexercise.cc
View file @
042caae4
...
...
@@ -45,8 +45,8 @@
#include
<dumux/io/vtkoutputmodule.hh>
#include
<dumux/io/grid/gridmanager.hh>
// the pro
blem definitions
#include
"co2plumeshapepro
blem
.hh"
// the pro
perties file
#include
"co2plumeshapepro
perties
.hh"
int
main
(
int
argc
,
char
**
argv
)
try
{
...
...
lecture/mm/co2plume/co2plumeshapeproblem.hh
View file @
042caae4
...
...
@@ -23,21 +23,15 @@
#ifndef DUMUX_PLUMESHAPE_PROBLEM_HH
#define DUMUX_PLUMESHAPE_PROBLEM_HH
#include
<dune/grid/yaspgrid.hh>
#include
<dumux/discretization/cctpfa.hh>
#include
<dumux/discretization/box.hh>
#include
<dumux/common/properties.hh>
#include
<dumux/common/parameters.hh>
#include
<dumux/porousmediumflow/problem.hh>
#include
<dumux/porousmediumflow/co2/model.hh>
#include
<dumux/material/components/tabulatedcomponent.hh>
#include
<dumux/material/components/h2o.hh>
#include
<dumux/material/fluidsystems/brineco2.hh>
#include
<dumux/discretization/box/scvftoscvboundarytypes.hh>
#include
<lecture/common/co2tablesbenchmark3.hh>
#include
"co2plumeshapespatialparameters.hh"
// per default use isothermal model
#ifndef ISOTHERMAL
...
...
@@ -45,54 +39,6 @@
#endif
namespace
Dumux
{
/*!
* \brief Definition of a problem, where CO2 is injected in a reservoir.
*/
template
<
class
TypeTag
>
class
PlumeShapeProblem
;
namespace
Properties
{
// Create new type tags
namespace
TTag
{
struct
PlumeShapeTypeTag
{
using
InheritsFrom
=
std
::
tuple
<
TwoPTwoCCO2NI
>
;
};
struct
PlumeShapeBoxTypeTag
{
using
InheritsFrom
=
std
::
tuple
<
BoxModel
,
PlumeShapeTypeTag
>
;
};
}
// end namespace TTag
//Set the grid type
template
<
class
TypeTag
>
struct
Grid
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
using
type
=
Dune
::
YaspGrid
<
2
>
;
};
// Set the problem property
template
<
class
TypeTag
>
struct
Problem
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
using
type
=
PlumeShapeProblem
<
TypeTag
>
;
};
// Set the spatial parameters
template
<
class
TypeTag
>
struct
SpatialParams
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
using
FVGridGeometry
=
GetPropType
<
TypeTag
,
Properties
::
GridGeometry
>
;
using
Scalar
=
GetPropType
<
TypeTag
,
Properties
::
Scalar
>
;
using
type
=
PlumeShapeSpatialParams
<
FVGridGeometry
,
Scalar
>
;
};
// Set fluid configuration
template
<
class
TypeTag
>
struct
FluidSystem
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
private:
using
Scalar
=
GetPropType
<
TypeTag
,
Properties
::
Scalar
>
;
public:
using
type
=
FluidSystems
::
BrineCO2
<
Scalar
,
CO2TablesBenchmarkThree
::
CO2Tables
,
Components
::
TabulatedComponent
<
Components
::
H2O
<
Scalar
>>
,
FluidSystems
::
BrineCO2DefaultPolicy
<
/*constantSalinity=*/
true
,
/*simpleButFast=*/
true
>>
;
};
// Use Moles
template
<
class
TypeTag
>
struct
UseMoles
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
static
constexpr
bool
value
=
false
;
};
}
// end namespace Properties
/*!
* \brief Definition of a problem, where CO2 is injected in a reservoir.
...
...
lecture/mm/co2plume/co2plumeshapeproperties.hh
0 → 100644
View file @
042caae4
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*****************************************************************************
* See the file COPYING for full copying permissions. *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*****************************************************************************/
/*!
* \file
* \brief Properties file of CO2 injection into a reservoir.
*/
#ifndef DUMUX_PLUMESHAPE_PROPERTIES_HH
#define DUMUX_PLUMESHAPE_PROPERTIES_HH
#include
<dune/grid/yaspgrid.hh>
#include
<dumux/common/properties.hh>
#include
<dumux/discretization/box.hh>
#include
<dumux/porousmediumflow/co2/model.hh>
#include
<dumux/material/components/tabulatedcomponent.hh>
#include
<dumux/material/components/h2o.hh>
#include
<dumux/material/fluidsystems/brineco2.hh>
#include
<lecture/common/co2tablesbenchmark3.hh>
#include
"co2plumeshapespatialparameters.hh"
#include
"co2plumeshapeproblem.hh"
namespace
Dumux
::
Properties
{
// Create new type tags
namespace
TTag
{
struct
PlumeShapeTypeTag
{
using
InheritsFrom
=
std
::
tuple
<
TwoPTwoCCO2NI
>
;
};
struct
PlumeShapeBoxTypeTag
{
using
InheritsFrom
=
std
::
tuple
<
BoxModel
,
PlumeShapeTypeTag
>
;
};
}
// end namespace TTag
//Set the grid type
template
<
class
TypeTag
>
struct
Grid
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
using
type
=
Dune
::
YaspGrid
<
2
>
;
};
// Set the problem property
template
<
class
TypeTag
>
struct
Problem
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
using
type
=
PlumeShapeProblem
<
TypeTag
>
;
};
// Set the spatial parameters
template
<
class
TypeTag
>
struct
SpatialParams
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
using
FVGridGeometry
=
GetPropType
<
TypeTag
,
Properties
::
GridGeometry
>
;
using
Scalar
=
GetPropType
<
TypeTag
,
Properties
::
Scalar
>
;
using
type
=
PlumeShapeSpatialParams
<
FVGridGeometry
,
Scalar
>
;
};
// Set fluid configuration
template
<
class
TypeTag
>
struct
FluidSystem
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
private:
using
Scalar
=
GetPropType
<
TypeTag
,
Properties
::
Scalar
>
;
public:
using
type
=
FluidSystems
::
BrineCO2
<
Scalar
,
CO2TablesBenchmarkThree
::
CO2Tables
,
Components
::
TabulatedComponent
<
Components
::
H2O
<
Scalar
>>
,
FluidSystems
::
BrineCO2DefaultPolicy
<
/*constantSalinity=*/
true
,
/*simpleButFast=*/
true
>>
;
};
// Use Moles
template
<
class
TypeTag
>
struct
UseMoles
<
TypeTag
,
TTag
::
PlumeShapeTypeTag
>
{
static
constexpr
bool
value
=
false
;
};
}
// end namespace Dumux::Properties
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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