Commit a31e9a06 authored by Kilian Weishaupt's avatar Kilian Weishaupt
Browse files

[multidomain][test][stokesDarcy1p] Set fluidsystem in main file

parent b1686de1
...@@ -33,13 +33,6 @@ ...@@ -33,13 +33,6 @@
#include "spatialparams.hh" #include "spatialparams.hh"
#include <dumux/material/fluidsystems/2pimmiscible.hh>
#include <dumux/material/fluidsystems/1pliquid.hh>
#include <dumux/material/fluidsystems/1pgas.hh>
#include <dumux/material/components/air.hh>
#include <dumux/material/components/simpleh2o.hh>
#include <dumux/material/components/tabulatedcomponent.hh>
namespace Dumux namespace Dumux
{ {
template <class TypeTag> template <class TypeTag>
...@@ -52,17 +45,6 @@ NEW_TYPE_TAG(DarcyTwoPTypeTag, INHERITS_FROM(CCTpfaModel, TwoP)); ...@@ -52,17 +45,6 @@ NEW_TYPE_TAG(DarcyTwoPTypeTag, INHERITS_FROM(CCTpfaModel, TwoP));
// Set the problem property // Set the problem property
SET_TYPE_PROP(DarcyTwoPTypeTag, Problem, Dumux::DarcySubProblem<TypeTag>); SET_TYPE_PROP(DarcyTwoPTypeTag, Problem, Dumux::DarcySubProblem<TypeTag>);
// the fluid system
SET_PROP(DarcyTwoPTypeTag, FluidSystem)
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using H2OType = Dumux::Components::SimpleH2O<Scalar>;
using H2OPhase = Dumux::FluidSystems::OnePLiquid<Scalar, H2OType>;
using AirType = Dumux::Components::TabulatedComponent<Components::Air<Scalar>, false >;
using AirPhase = Dumux::FluidSystems::OnePGas<Scalar, AirType>;
using type = FluidSystems::TwoPImmiscible<Scalar, H2OPhase, AirPhase> ;
};
// Set the grid type // Set the grid type
#if ENABLE_3D #if ENABLE_3D
SET_TYPE_PROP(DarcyTwoPTypeTag, Grid, Dune::YaspGrid<3>); SET_TYPE_PROP(DarcyTwoPTypeTag, Grid, Dune::YaspGrid<3>);
......
...@@ -26,14 +26,6 @@ ...@@ -26,14 +26,6 @@
#include <dune/grid/yaspgrid.hh> #include <dune/grid/yaspgrid.hh>
#include <dumux/material/fluidsystems/1padapter.hh>
#include <dumux/material/fluidsystems/2pimmiscible.hh>
#include <dumux/material/fluidsystems/1pliquid.hh>
#include <dumux/material/fluidsystems/1pgas.hh>
#include <dumux/material/components/air.hh>
#include <dumux/material/components/simpleh2o.hh>
#include <dumux/material/components/tabulatedcomponent.hh>
#include <dumux/freeflow/navierstokes/problem.hh> #include <dumux/freeflow/navierstokes/problem.hh>
#include <dumux/discretization/staggered/freeflow/properties.hh> #include <dumux/discretization/staggered/freeflow/properties.hh>
#include <dumux/freeflow/navierstokes/model.hh> #include <dumux/freeflow/navierstokes/model.hh>
...@@ -50,20 +42,6 @@ NEW_TYPE_TAG(StokesOnePTypeTag, INHERITS_FROM(StaggeredFreeFlowModel, NavierStok ...@@ -50,20 +42,6 @@ NEW_TYPE_TAG(StokesOnePTypeTag, INHERITS_FROM(StaggeredFreeFlowModel, NavierStok
// Set the grid type // Set the grid type
SET_TYPE_PROP(StokesOnePTypeTag, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); SET_TYPE_PROP(StokesOnePTypeTag, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >);
// the fluid system
SET_PROP(StokesOnePTypeTag, FluidSystem)
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using H2OType = Components::SimpleH2O<Scalar>;
using H2OPhase = FluidSystems::OnePLiquid<Scalar, H2OType>;
using AirType = Components::TabulatedComponent<Components::Air<Scalar>, false >;
using AirPhase = FluidSystems::OnePGas<Scalar, AirType>;
using TwoPFluidSystem = FluidSystems::TwoPImmiscible<Scalar, H2OPhase, AirPhase> ;
static constexpr auto phaseIdx = 1; // simulate the air phase
using type = FluidSystems::OnePAdapter<TwoPFluidSystem, phaseIdx>;
};
// Set the problem property // Set the problem property
SET_TYPE_PROP(StokesOnePTypeTag, Problem, Dumux::StokesSubProblem<TypeTag> ); SET_TYPE_PROP(StokesOnePTypeTag, Problem, Dumux::StokesSubProblem<TypeTag> );
......
...@@ -49,6 +49,14 @@ ...@@ -49,6 +49,14 @@
#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh> #include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
#include <dumux/material/fluidsystems/2pimmiscible.hh>
#include <dumux/material/fluidsystems/1pliquid.hh>
#include <dumux/material/fluidsystems/1pgas.hh>
#include <dumux/material/components/air.hh>
#include <dumux/material/components/simpleh2o.hh>
#include <dumux/material/components/tabulatedcomponent.hh>
#include <dumux/material/fluidsystems/1padapter.hh>
#include "darcyproblem.hh" #include "darcyproblem.hh"
#include "stokesproblem.hh" #include "stokesproblem.hh"
...@@ -67,6 +75,30 @@ SET_PROP(DarcyTwoPTypeTag, CouplingManager) ...@@ -67,6 +75,30 @@ SET_PROP(DarcyTwoPTypeTag, CouplingManager)
using type = Dumux::StokesDarcyCouplingManager<Traits>; using type = Dumux::StokesDarcyCouplingManager<Traits>;
}; };
template<class TypeTag>
struct CouplingFluidSystem
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using H2OType = Dumux::Components::SimpleH2O<Scalar>;
using H2OPhase = Dumux::FluidSystems::OnePLiquid<Scalar, H2OType>;
using AirType = Dumux::Components::TabulatedComponent<Components::Air<Scalar>, false >;
using AirPhase = Dumux::FluidSystems::OnePGas<Scalar, AirType>;
using type = FluidSystems::TwoPImmiscible<Scalar, H2OPhase, AirPhase> ;
};
// the fluid system for the free-flow model
SET_PROP(StokesOnePTypeTag, FluidSystem)
{
static constexpr auto phaseIdx = 1; // simulate the air phase
using type = FluidSystems::OnePAdapter<typename CouplingFluidSystem<TypeTag>::type, phaseIdx>;
};
// the fluid system for the Darcy model
SET_PROP(DarcyTwoPTypeTag, FluidSystem)
{
using type = typename CouplingFluidSystem<TypeTag>::type;
};
} // end namespace Properties } // end namespace Properties
} // end namespace Dumux } // end namespace Dumux
......
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