Skip to content
Snippets Groups Projects
Commit 4b201a7f authored by Sina Ackermann's avatar Sina Ackermann Committed by Kilian Weishaupt
Browse files

[staggeredGrid][test] Revise channeltestproblem

* first version of running test problem
parent e3c523aa
No related branches found
No related tags found
2 merge requests!617[WIP] Next,!483Feature/staggered energy
...@@ -28,8 +28,9 @@ ...@@ -28,8 +28,9 @@
#include <dumux/freeflow/staggeredni/model.hh> #include <dumux/freeflow/staggeredni/model.hh>
#include <dumux/implicit/problem.hh> #include <dumux/implicit/problem.hh>
#include <dumux/material/components/simpleh2o.hh> #include <dumux/material/components/simpleh2o.hh>
#include <dumux/material/fluidsystems/liquidphase.hh> //#include <dumux/material/fluidsystems/liquidphase.hh>
#include <dumux/material/components/constant.hh> #include <dumux/material/fluidsystems/h2oair.hh>
//#include <dumux/material/components/constant.hh>
namespace Dumux namespace Dumux
{ {
...@@ -47,12 +48,26 @@ namespace Properties ...@@ -47,12 +48,26 @@ namespace Properties
{ {
NEW_TYPE_TAG(ChannelNITestProblem, INHERITS_FROM(StaggeredModel, NavierStokesNI)); NEW_TYPE_TAG(ChannelNITestProblem, INHERITS_FROM(StaggeredModel, NavierStokesNI));
SET_PROP(ChannelNITestProblem, Fluid) //SET_PROP(ChannelNITestProblem, Fluid)
//{
//private:
// typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
//public:
// typedef FluidSystems::LiquidPhase<Scalar, Dumux::SimpleH2O<Scalar> > type;
//};
NEW_PROP_TAG(FluidSystem);
// Select the fluid system
SET_TYPE_PROP(ChannelNITestProblem, FluidSystem,
FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)/*, SimpleH2O<typename GET_PROP_TYPE(TypeTag, Scalar)>, true*/>);
SET_PROP(ChannelNITestProblem, PhaseIdx)
{ {
private: private:
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
public: public:
typedef FluidSystems::LiquidPhase<Scalar, Dumux::Constant<TypeTag, Scalar> > type; static constexpr int value = FluidSystem::wPhaseIdx;
}; };
// Set the grid type // Set the grid type
...@@ -87,6 +102,7 @@ class ChannelNITestProblem : public NavierStokesProblem<TypeTag> ...@@ -87,6 +102,7 @@ class ChannelNITestProblem : public NavierStokesProblem<TypeTag>
typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
// copy some indices for convenience // copy some indices for convenience
typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
...@@ -127,7 +143,7 @@ class ChannelNITestProblem : public NavierStokesProblem<TypeTag> ...@@ -127,7 +143,7 @@ class ChannelNITestProblem : public NavierStokesProblem<TypeTag>
public: public:
ChannelNITestProblem(TimeManager &timeManager, const GridView &gridView) ChannelNITestProblem(TimeManager &timeManager, const GridView &gridView)
: ParentType(timeManager, gridView)//, eps_(1e-6) : ParentType(timeManager, gridView)
{ {
name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag,
std::string, std::string,
...@@ -138,6 +154,7 @@ public: ...@@ -138,6 +154,7 @@ public:
Scalar, Scalar,
Problem, Problem,
InletVelocity); InletVelocity);
FluidSystem::init();
} }
/*! /*!
...@@ -160,16 +177,6 @@ public: ...@@ -160,16 +177,6 @@ public:
return false; return false;
} }
// /*!
// * \brief Return the temperature within the domain in [K].
// *
// * This problem assumes a temperature of 10 degrees Celsius.
// */
Scalar temperature() const // TODO remove!
{
return 273.15 + 10;
}
/*! /*!
* \brief Return the sources within the domain. * \brief Return the sources within the domain.
* *
...@@ -194,7 +201,6 @@ public: ...@@ -194,7 +201,6 @@ public:
BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const
{ {
BoundaryTypes values; BoundaryTypes values;
// set Dirichlet values for the velocity everywhere // set Dirichlet values for the velocity everywhere
values.setDirichlet(momentumBalanceIdx); values.setDirichlet(momentumBalanceIdx);
values.setDirichlet(energyBalanceIdx); values.setDirichlet(energyBalanceIdx);
...@@ -227,7 +233,7 @@ public: ...@@ -227,7 +233,7 @@ public:
{ {
values[velocityXIdx] = inletVelocity_; values[velocityXIdx] = inletVelocity_;
values[velocityYIdx] = 0.0; values[velocityYIdx] = 0.0;
values[temperatureIdx] = 263.15; // TODO values[temperatureIdx] = 303.15; // TODO
} }
else if(isWall(globalPos)) else if(isWall(globalPos))
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment