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-lecture
Commits
30b80902
Commit
30b80902
authored
May 28, 2020
by
Theresa Schollenberger
Committed by
Timo Koch
Jun 26, 2020
Browse files
[mm][properties] add properties header for mcwhorter
parent
75adaaf1
Changes
3
Hide whitespace changes
Inline
Side-by-side
lecture/mm/mcwhorter/mcwhorterexercise.cc
View file @
30b80902
...
...
@@ -22,7 +22,7 @@
* \brief DOC ME!
*/
#include "config.h"
#include "mcwhorterpro
blem
.hh"
#include "mcwhorterpro
perties
.hh"
#include <dumux/common/start.hh>
#include <dumux/common/properties.hh>
...
...
lecture/mm/mcwhorter/mcwhorterproblem.hh
View file @
30b80902
...
...
@@ -19,65 +19,17 @@
#ifndef DUMUX_MCWHORTERPROBLEM_HH
#define DUMUX_MCWHORTERPROBLEM_HH
#include <dune/grid/yaspgrid.hh>
#include <dumux/common/properties.hh>
#include <dumux/material/fluidsystems/1pliquid.hh>
#include <dumux/material/fluidsystems/2pimmiscible.hh>
#include <dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressureproperties.hh>
#include <dumux/porousmediumflow/2p/sequential/transport/cellcentered/properties.hh>
#include <dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflfluxcoats.hh>
#include <dumux/common/parameters.hh>
#include <dumux/porousmediumflow/2p/sequential/impes/problem.hh>
//pseudo-oil and h2o have to be used to make viscosity and density input parameters
#include "../buckleyleverett/pseudooil.hh"
#include "../buckleyleverett/pseudoh2o.hh"
#include "../buckleyleverett/buckleyleverettspatialparams.hh"
#include "mcwhorteranalyticsolution.hh"
#include <lecture/common/viplaboutput.hh>
namespace
Dumux
{
template
<
typename
TypeTag
>
class
McWhorterProblem
;
//////////
// Specify the properties
//////////
namespace
Properties
{
// Create new type tags
namespace
TTag
{
struct
McWhorterProblemTypeTag
{
using
InheritsFrom
=
std
::
tuple
<
BuckleyLeverettSpatialParamsTypeTag
,
IMPESTwoP
,
FVTransportTwoP
,
FVPressureTwoP
>
;
};
}
// end namespace TTag
// Set the grid type
template
<
class
TypeTag
>
struct
Grid
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
type
=
Dune
::
YaspGrid
<
2
>
;
};
// Set the problem property
template
<
class
TypeTag
>
struct
Problem
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
type
=
McWhorterProblem
<
TypeTag
>
;
};
template
<
class
TypeTag
>
struct
Formulation
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
static
constexpr
int
value
=
SequentialTwoPCommonIndices
::
pnsw
;
};
// Set the wetting phase
template
<
class
TypeTag
>
struct
FluidSystem
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
Scalar
=
GetPropType
<
TypeTag
,
Properties
::
Scalar
>
;
using
WettingPhase
=
FluidSystems
::
OnePLiquid
<
Scalar
,
PseudoOil
<
Scalar
>
>
;
using
NonwettingPhase
=
FluidSystems
::
OnePLiquid
<
Scalar
,
PseudoH2O
<
Scalar
>
>
;
using
type
=
FluidSystems
::
TwoPImmiscible
<
Scalar
,
WettingPhase
,
NonwettingPhase
>
;
};
template
<
class
TypeTag
>
struct
EvalCflFluxFunction
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
type
=
Dumux
::
EvalCflFluxCoats
<
TypeTag
>
;
};
}
// end namespace Properties
/*!
* \brief McWhorter diffusion problem
*/
...
...
lecture/mm/mcwhorter/mcwhorterproperties.hh
0 → 100644
View file @
30b80902
// -*- 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/>. *
*****************************************************************************/
#ifndef DUMUX_MCWHORTERPROPERTIES_HH
#define DUMUX_MCWHORTERPROPERTIES_HH
#include <dune/grid/yaspgrid.hh>
#include <dumux/common/properties.hh>
#include <dumux/material/fluidsystems/1pliquid.hh>
#include <dumux/material/fluidsystems/2pimmiscible.hh>
#include <dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressureproperties.hh>
#include <dumux/porousmediumflow/2p/sequential/transport/cellcentered/properties.hh>
#include <dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflfluxcoats.hh>
//pseudo-oil and h2o have to be used to make viscosity and density input parameters
#include "../buckleyleverett/pseudooil.hh"
#include "../buckleyleverett/pseudoh2o.hh"
#include "../buckleyleverett/buckleyleverettspatialparams.hh"
#include "mcwhorterproblem.hh"
namespace
Dumux
::
Properties
{
// Create new type tags
namespace
TTag
{
struct
McWhorterProblemTypeTag
{
using
InheritsFrom
=
std
::
tuple
<
BuckleyLeverettSpatialParamsTypeTag
,
IMPESTwoP
,
FVTransportTwoP
,
FVPressureTwoP
>
;
};
}
// end namespace TTag
// Set the grid type
template
<
class
TypeTag
>
struct
Grid
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
type
=
Dune
::
YaspGrid
<
2
>
;
};
// Set the problem property
template
<
class
TypeTag
>
struct
Problem
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
type
=
McWhorterProblem
<
TypeTag
>
;
};
template
<
class
TypeTag
>
struct
Formulation
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
static
constexpr
int
value
=
SequentialTwoPCommonIndices
::
pnsw
;
};
// Set the wetting phase
template
<
class
TypeTag
>
struct
FluidSystem
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
Scalar
=
GetPropType
<
TypeTag
,
Properties
::
Scalar
>
;
using
WettingPhase
=
FluidSystems
::
OnePLiquid
<
Scalar
,
PseudoOil
<
Scalar
>
>
;
using
NonwettingPhase
=
FluidSystems
::
OnePLiquid
<
Scalar
,
PseudoH2O
<
Scalar
>
>
;
using
type
=
FluidSystems
::
TwoPImmiscible
<
Scalar
,
WettingPhase
,
NonwettingPhase
>
;
};
template
<
class
TypeTag
>
struct
EvalCflFluxFunction
<
TypeTag
,
TTag
::
McWhorterProblemTypeTag
>
{
using
type
=
Dumux
::
EvalCflFluxCoats
<
TypeTag
>
;
};
}
// end namespace Dumux::Properties
#endif // DUMUX_MCWHORTERPROPERTIES_HH
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