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

Merge branch 'freeflow/lowrekepsilonnc' into 'master'

Freeflow/lowrekepsilonnc

See merge request !928
parents cd2f843e 171ff32d
......@@ -178,18 +178,6 @@
* \brief Single-phase Navier-Stokes flow
* \copydetails ./freeflow/navierstokes/model.hh
*/
/*!
* \ingroup FreeflowModels
* \defgroup NavierStokesNCModel Navier-Stokes nc
* \brief Single-phase multi-component Navier-Stokes flow
* \copydetails ./freeflow/navierstokesnc/model.hh
*/
/*!
* \ingroup FreeflowModels
* \defgroup NavierStokesNIModel nonisothermal
* \brief An energy equation adaptor for isothermal Navier-Stokes models
* \copydetails ./freeflow/nonisothermal/model.hh
*/
/*!
* \ingroup FreeflowModels
* \defgroup RANSModel Reynolds-Averaged Navier-Stokes
......@@ -216,9 +204,15 @@
*/
/*!
* \ingroup FreeflowModels
* \defgroup RANSNCModel Reynolds-Averaged Navier-Stokes nc
* \brief Single-phase multi-component Reynolds-Averaged Navier-Stokes flow
* \copydetails ./freeflow/ransnc/model.hh
* \defgroup FreeflowNCModel Compositional
* \brief Single-phase multi-component free-flow flow models
* \copydetails ./freeflow/compositional/navierstokesncmodel.hh
*/
/*!
* \ingroup FreeflowModels
* \defgroup FreeflowNIModel Nonisothermal
* \brief An energy equation adaptor for isothermal free-flow models
* \copydetails ./freeflow/nonisothermal/model.hh
*/
/* ***************** Benchmarks and Tests ******************/
......
......@@ -82,10 +82,10 @@ public:
//! We don't cache anything for this law
using Cache = FluxVariablesCaching::EmptyDiffusionCache;
static CellCenterPrimaryVariables diffusiveFluxForCellCenter(const Problem& problem,
const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace &scvf)
static CellCenterPrimaryVariables flux(const Problem& problem,
const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace &scvf)
{
CellCenterPrimaryVariables flux(0.0);
......@@ -109,7 +109,7 @@ public:
return flux;
}
const Scalar tij = transmissibility_(problem, fvGeometry, elemVolVars, scvf, compIdx);
const Scalar tij = transmissibility_(fvGeometry, elemVolVars, scvf, compIdx);
const Scalar insideMoleFraction = insideVolVars.moleFraction(compIdx);
const Scalar outsideMolarDensity = scvf.boundary() ? insideVolVars.molarDensity() : outsideVolVars.molarDensity();
......@@ -148,8 +148,7 @@ public:
return flux;
}
static Scalar transmissibility_(const Problem& problem,
const FVElementGeometry& fvGeometry,
static Scalar transmissibility_(const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace& scvf,
const int compIdx)
......
......@@ -44,7 +44,6 @@ template <class TypeTag>
class FouriersLawImplementation<TypeTag, DiscretizationMethod::staggered >
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView;
using SubControlVolume = typename FVElementGeometry::SubControlVolume;
using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace;
......@@ -63,22 +62,14 @@ public:
//! We don't cache anything for this law
using Cache = FluxVariablesCaching::EmptyDiffusionCache;
//! calculate the molecular diffusive fluxes
static Scalar diffusiveFluxForCellCenter(const Problem& problem,
const Element& element,
const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace &scvf)
//! calculate the diffusive energy fluxes
static Scalar flux(const Element& element,
const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace &scvf)
{
Scalar flux(0.0);
if(scvf.boundary())
{
const auto bcTypes = problem.boundaryTypesAtPos(scvf.center());
if(bcTypes.isOutflow(energyBalanceIdx) || bcTypes.isNeumann(energyBalanceIdx))
return flux;
}
const auto& insideScv = fvGeometry.scv(scvf.insideScvIdx());
const auto& outsideScv = fvGeometry.scv(scvf.outsideScvIdx());
const auto& insideVolVars = elemVolVars[scvf.insideScvIdx()];
......
......@@ -24,6 +24,8 @@
#ifndef DUMUX_DISCRETIZATION_STAGGERED_FREEFLOW_FV_GRID_GEOMETRY_TRAITS
#define DUMUX_DISCRETIZATION_STAGGERED_FREEFLOW_FV_GRID_GEOMETRY_TRAITS
#include <dumux/common/defaultmappertraits.hh>
#include <dumux/common/intersectionmapper.hh>
#include <dumux/discretization/cellcentered/subcontrolvolume.hh>
#include <dumux/discretization/staggered/fvelementgeometry.hh>
#include <dumux/discretization/staggered/freeflow/subcontrolvolumeface.hh>
......
......@@ -85,10 +85,10 @@ public:
using Cache = FluxVariablesCaching::EmptyDiffusionCache;
using CacheFiller = FluxVariablesCaching::EmptyCacheFiller;
static CellCenterPrimaryVariables diffusiveFluxForCellCenter(const Problem& problem,
const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace& scvf)
static CellCenterPrimaryVariables flux(const Problem& problem,
const FVElementGeometry& fvGeometry,
const ElementVolumeVariables& elemVolVars,
const SubControlVolumeFace& scvf)
{
//this is to calculate the maxwellStefan diffusion in a multicomponent system.
//see: Multicomponent Mass Transfer. R. Taylor u. R. Krishna. J. Wiley & Sons, New York 1993
......
add_subdirectory("compositional")
add_subdirectory("navierstokes")
add_subdirectory("navierstokesnc")
add_subdirectory("nonisothermal")
add_subdirectory("rans")
add_subdirectory("ransnc")
......@@ -5,7 +5,9 @@ install(FILES
fluxvariables.hh
indices.hh
localresidual.hh
model.hh
navierstokesncmodel.hh
lowrekepsilonncmodel.hh
volumevariables.hh
vtkoutputfields.hh
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/freeflow/navierstokesnc)
zeroeqncmodel.hh
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/freeflow/compositional)
......@@ -18,14 +18,14 @@
*****************************************************************************/
/*!
* \file
* \ingroup NavierStokesNCModel
* \copydoc Dumux::NavierStokesNCFluxVariables
* \ingroup FreeflowNCModel
* \copydoc Dumux::FreeflowNCFluxVariables
*/
#ifndef DUMUX_FREELOW_IMPLICIT_NC_FLUXVARIABLES_HH
#define DUMUX_FREELOW_IMPLICIT_NC_FLUXVARIABLES_HH
#ifndef DUMUX_FREELOW_NC_FLUXVARIABLES_HH
#define DUMUX_FREELOW_NC_FLUXVARIABLES_HH
#include <dumux/common/properties.hh>
#include <dumux/freeflow/navierstokesnc/staggered/fluxvariables.hh>
#include <dumux/freeflow/compositional/staggered/fluxvariables.hh>
namespace Dumux
{
......@@ -33,17 +33,17 @@ namespace Dumux
// forward declaration
template<class TypeTag, DiscretizationMethod discMethod>
class NavierStokesNCFluxVariablesImpl;
class FreeflowNCFluxVariablesImpl;
/*!
* \ingroup NavierStokesNCModel
* \brief The flux variables class for the multi-componentNavier-Stokes model.
* \ingroup FreeflowNCModel
* \brief The flux variables class for the multi-component free-flow model.
This is a convenience alias for that actual,
discretization-specific flux variables.
* \note Not all specializations are currently implemented
*/
template<class TypeTag>
using NavierStokesNCFluxVariables = NavierStokesNCFluxVariablesImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>;
using FreeflowNCFluxVariables = FreeflowNCFluxVariablesImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>;
} // end namespace
......
......@@ -18,23 +18,24 @@
*****************************************************************************/
/*!
* \file
* \ingroup NavierStokesNCModel
* \copydoc Dumux::NavierStokesNCIndices
* \ingroup FreeflowNCModel
* \copydoc Dumux::FreeflowNCIndices
*/
#ifndef DUMUX_STAGGERED_NAVIERSTOKES_NC_INDICES_HH
#define DUMUX_STAGGERED_NAVIERSTOKES_NC_INDICES_HH
#ifndef DUMUX_FREEFLOW_NC_INDICES_HH
#define DUMUX_FREEFLOW_NC_INDICES_HH
#include <dumux/freeflow/navierstokes/indices.hh>
namespace Dumux {
/*!
* \ingroup NavierStokesNCModel
* \brief The common indices for the isothermal multi-component Navier-Stokes model.
* \ingroup FreeflowNCModel
* \brief The common indices for the isothermal multi-component free-flow model.
*/
template <int dimension, int numEquations,
int phaseIdx, int theReplaceCompEqIdx>
struct NavierStokesNCIndices : public NavierStokesIndices<dimension>
int phaseIdx, int theReplaceCompEqIdx,
class FreeflowIndices>
struct FreeflowNCIndices : public FreeflowIndices
{
public:
//! The index of the fluid phase in the fluid system
......
......@@ -18,34 +18,34 @@
*****************************************************************************/
/*!
* \file
* \ingroup NavierStokesNCModel
* \copydoc Dumux::NavierStokesNCResidual
* \ingroup FreeflowNCModel
* \copydoc Dumux::FreeflowNCResidual
*/
#ifndef DUMUX_NAVIERSTOKES_NC_LOCAL_RESIDUAL_HH
#define DUMUX_NAVIERSTOKES_NC_LOCAL_RESIDUAL_HH
#ifndef DUMUX_FREEFLOW_NC_LOCAL_RESIDUAL_HH
#define DUMUX_FREEFLOW_NC_LOCAL_RESIDUAL_HH
#include <dumux/common/properties.hh>
#include <dumux/discretization/methods.hh>
#include <dumux/freeflow/navierstokes/localresidual.hh>
#include <dumux/freeflow/navierstokesnc/staggered/localresidual.hh>
#include <dumux/freeflow/compositional/staggered/localresidual.hh>
namespace Dumux
{
// forward declaration
template<class TypeTag, DiscretizationMethod discMethod>
class NavierStokesNCResidualImpl;
class FreeflowNCResidualImpl;
/*!
* \ingroup NavierStokesNCModel
* \brief The local residual class for the Navier-Stokes multi-component model (balance equations).
* \ingroup FreeflowNCModel
* \brief The local residual class for the multi-component free-flow model (balance equations).
This is a convenience alias for the actual,
discretization-specific local residual.
* \note Not all specializations are currently implemented
*/
template<class TypeTag>
using NavierStokesNCResidual = NavierStokesNCResidualImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>;
using FreeflowNCResidual = FreeflowNCResidualImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>;
}
#endif // DUMUX_NAVIERSTOKES_NC_LOCAL_RESIDUAL_HH
#endif
// -*- 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
* \ingroup FreeflowNCModel
*
* \brief A single-phase, multi-component Reynolds-Averaged Navier-Stokes 0-Eq. model
*
* \copydoc Dumux::FreeflowNCModel
*/
#ifndef DUMUX_LOWREKEPSILON_NC_MODEL_HH
#define DUMUX_LOWREKEPSILON_NC_MODEL_HH
#include <dumux/common/properties.hh>
#include <dumux/freeflow/compositional/navierstokesncmodel.hh>
#include <dumux/freeflow/nonisothermal/vtkoutputfields.hh>
#include <dumux/freeflow/rans/twoeq/lowrekepsilon/model.hh>
#include "vtkoutputfields.hh"
namespace Dumux {
///////////////////////////////////////////////////////////////////////////
// properties for the single-phase, multi-component low-Re k-epsilon model
///////////////////////////////////////////////////////////////////////////
namespace Properties {
//////////////////////////////////////////////////////////////////
// Type tags
//////////////////////////////////////////////////////////////////
//! The type tags for the single-phase, multi-component isothermal low-Re k-epsilon model
NEW_TYPE_TAG(LowReKEpsilonNC, INHERITS_FROM(NavierStokesNC));
///////////////////////////////////////////////////////////////////////////
// default property values
///////////////////////////////////////////////////////////////////////////
/*!
* \ingroup FreeflowNCModel
* \brief Traits for the low-Reynolds k-epsilon multi-component model
*/
template<int dimension, int nComp, int phaseIdx, int replaceCompEqIdx, bool useMoles>
struct LowReKEpsilonNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, phaseIdx, replaceCompEqIdx, useMoles>
{
//! There are as many momentum balance equations as dimensions
//! and as many balance equations as components.
static constexpr int numEq() { return dimension+nComp+2; }
//! The model does include a turbulence model
static constexpr bool usesTurbulenceModel() { return true; }
//! the indices
using Indices = FreeflowNCIndices<dimension, numEq(), phaseIdx, replaceCompEqIdx, LowReKEpsilonIndices<dimension, nComp>>;
};
//!< states some specifics of the isothermal multi-component low-Reynolds k-epsilon model
SET_PROP(LowReKEpsilonNC, ModelTraits)
{
private:
using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView;
static constexpr int dimension = GridView::dimension;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
static constexpr int numComponents = FluidSystem::numComponents;
static constexpr int phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIdx);
static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx);
static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles);
public:
using type = LowReKEpsilonNCModelTraits<dimension, numComponents, phaseIdx, replaceCompEqIdx, useMoles>;
};
//! Set the volume variables property
SET_PROP(LowReKEpsilonNC, VolumeVariables)
{
private:
using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem);
using FST = typename GET_PROP_TYPE(TypeTag, FluidState);
using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits);
using Traits = NavierStokesVolumeVariablesTraits<PV, FSY, FST, MT>;
using NCVolVars = FreeflowNCVolumeVariables<Traits>;
public:
using type = LowReKEpsilonVolumeVariables<Traits, NCVolVars>;
};
//! The local residual
SET_PROP(LowReKEpsilonNC, LocalResidual)
{
private:
using BaseLocalResidual = FreeflowNCResidual<TypeTag>;
public:
using type = LowReKEpsilonResidual<TypeTag, BaseLocalResidual>;
};
//! The flux variables
SET_PROP(LowReKEpsilonNC, FluxVariables)
{
private:
using BaseFluxVariables = FreeflowNCFluxVariables<TypeTag>;
public:
using type = LowReKEpsilonFluxVariables<TypeTag, BaseFluxVariables>;
};
//! The specific vtk output fields
SET_PROP(LowReKEpsilonNC, VtkOutputFields)
{
private:
using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits);
using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
static constexpr int phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIdx);
using SinglePhaseVtkOutputFields = LowReKEpsilonVtkOutputFields<FVGridGeometry>;
public:
using type = FreeflowNCVtkOutputFields<SinglePhaseVtkOutputFields, ModelTraits, FVGridGeometry, FluidSystem, phaseIdx>;
};
//////////////////////////////////////////////////////////////////////////
// Property values for non-isothermal multi-component low-Re k-epsilon model
//////////////////////////////////////////////////////////////////////////
//! The type tags for the single-phase, multi-component non-isothermal low-Re k-epsilon models
NEW_TYPE_TAG(LowReKEpsilonNCNI, INHERITS_FROM(NavierStokesNCNI));
//! The model traits of the non-isothermal model
SET_PROP(LowReKEpsilonNCNI, ModelTraits)
{
private:
using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView;
static constexpr int dim = GridView::dimension;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
static constexpr int numComponents = FluidSystem::numComponents;
static constexpr int phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIdx);
static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx);
static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles);
using IsothermalModelTraits = LowReKEpsilonNCModelTraits<dim, numComponents, phaseIdx, replaceCompEqIdx, useMoles>;
public:
using type = FreeflowNIModelTraits<IsothermalModelTraits>;
};
//! Set the volume variables property
SET_PROP(LowReKEpsilonNCNI, VolumeVariables)
{
private:
using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem);
using FST = typename GET_PROP_TYPE(TypeTag, FluidState);
using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits);
using Traits = NavierStokesVolumeVariablesTraits<PV, FSY, FST, MT>;
using NCVolVars = FreeflowNCVolumeVariables<Traits>;
public:
using type = LowReKEpsilonVolumeVariables<Traits, NCVolVars>;
};
//! The local residual
SET_PROP(LowReKEpsilonNCNI, LocalResidual)
{
private:
using BaseLocalResidual = FreeflowNCResidual<TypeTag>;
public:
using type = LowReKEpsilonResidual<TypeTag, BaseLocalResidual>;
};
//! The flux variables
SET_PROP(LowReKEpsilonNCNI, FluxVariables)
{
private:
using BaseFluxVariables = FreeflowNCFluxVariables<TypeTag>;
public:
using type = LowReKEpsilonFluxVariables<TypeTag, BaseFluxVariables>;
};
//! The specific vtk output fields
SET_PROP(LowReKEpsilonNCNI, VtkOutputFields)
{
private:
using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits);
using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
static constexpr int phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIdx);
using BaseVtkOutputFields = LowReKEpsilonVtkOutputFields<FVGridGeometry>;
using NonIsothermalFields = FreeflowNonIsothermalVtkOutputFields<BaseVtkOutputFields, ModelTraits>;
public:
using type = FreeflowNCVtkOutputFields<NonIsothermalFields, ModelTraits, FVGridGeometry, FluidSystem, phaseIdx>;
};
// \}
} // end namespace Properties
} // end namespace Dumux
#endif
......@@ -18,7 +18,7 @@
*****************************************************************************/
/*!
* \file
* \ingroup NavierStokesNCModel
* \ingroup FreeflowNCModel
*
* \copydoc Dumux::NavierStokesModel
*
......@@ -26,26 +26,29 @@
* \f[
* \frac{\partial \left(\varrho X^\kappa\right)}{\partial t}
* + \nabla \cdot \left( \varrho {\boldsymbol{v}} X^\kappa
* - D^\kappa \varrho \frac{M^\kappa}{M} \textbf{grad}\, x^\kappa \right)
* - (D^\kappa + D_\text{t}) \varrho \frac{M^\kappa}{M} \textbf{grad}\, x^\kappa \right)
* - q^\kappa = 0
* \f]
*
* Alternatively, one component balance equation can be replace by a <B> total mass/mole balance equation </B>:
*
* \f[
* \frac{\partial \varrho_g}{\partial t}
* + \nabla \cdot \left(
* \varrho {\boldsymbol{v}}
* - \sum_\kappa D^\kappa \varrho \frac{M^\kappa}{M} \textbf{grad}\, x^\kappa
* - \sum_\kappa (D^\kappa + D_\text{t}) \varrho \frac{M^\kappa}{M} \textbf{grad}\, x^\kappa
* \right)
* - q = 0
* \f]
*
* The eddy diffusivity \f$ D_\text{t} \f$ is related to the eddy viscosity \f$ \nu_\text{t} \f$
* by the turbulent Schmidt number, for Navier-Stokes models \f$ D_\text{t} = 0 \f$.
* \f[ D_\text{t} = \frac{\nu_\text{t}}{\mathrm{Sc}_\text{t}} \f]
*
* So far, only the staggered grid spatial discretization (for structured grids) is available.
*/
#ifndef DUMUX_NAVIERSTOKES_NC_MODEL_HH
#define DUMUX_NAVIERSTOKES_NC_MODEL_HH
#ifndef DUMUX_FREEFLOW_NC_MODEL_HH
#define DUMUX_FREEFLOW_NC_MODEL_HH
#include <dumux/common/properties.hh>
......@@ -71,43 +74,31 @@
namespace Dumux {
/*!
* \ingroup NavierStokesModel
* \brief Traits for the Navier-Stokes multi-component model
* \ingroup FreeflowNCModel
* \brief Traits for the multi-component free-flow model
*/
template<int dimension, int nComp, int phaseIdx, int replaceCompEqIdx, bool useM>
struct NavierStokesNCModelTraits
struct NavierStokesNCModelTraits : NavierStokesModelTraits<dimension>
{
//! The dimension of the model
static constexpr int dim() { return dimension; }
//! There are as many momentum balance equations as dimensions
//! and as many balance equations as components.
static constexpr int numEq() { return dimension+nComp; }
//! The number of phases is always 1
static constexpr int numPhases() { return 1; }
//! The number of components
static constexpr int numComponents() { return nComp; }
//! Use moles or not
static constexpr bool useMoles() { return useM; }
//! Enable advection
static constexpr bool enableAdvection() { return true; }
//! The one-phase model has no molecular diffusion
static constexpr bool enableMolecularDiffusion() { return true; }
//! The model is isothermal
static constexpr bool enableEnergyBalance() { return false; }
//! the indices
using Indices = NavierStokesNCIndices<dim(), numEq(), phaseIdx, replaceCompEqIdx>;
using Indices = FreeflowNCIndices<dimension, numEq(), phaseIdx, replaceCompEqIdx, NavierStokesIndices<dimension>>;
};
///////////////////////////////////////////////////////////////////////////
// properties for the single-phase, multi-component Navier-Stokes model
// properties for the single-phase, multi-component free-flow model
///////////////////////////////////////////////////////////////////////////
namespace Properties {
......@@ -115,17 +106,17 @@ namespace Properties {
// Type tags
//////////////////////////////////////////////////////////////////
//! The type tag for the single-phase, multi-component isothermal Navier-Stokes model
//! The type tag for the single-phase, multi-component isothermal free-flow model
NEW_TYPE_TAG(NavierStokesNC, INHERITS_FROM(FreeFlow));
//! The type tag for the single-phase, multi-component non-isothermal Navier-Stokes model
//! The type tag for the single-phase, multi-component non-isothermal free-flow model
NEW_TYPE_TAG(NavierStokesNCNI, INHERITS_FROM(NavierStokesNC));
///////////////////////////////////////////////////////////////////////////
// default property values
///////////////////////////////////////////////////////////////////////////
//!< states some specifics of the Navier-Stokes model
//!< states some specifics of the free-flow model
SET_PROP(NavierStokesNC, ModelTraits)
{
private:
......@@ -146,9 +137,8 @@ SET_INT_PROP(NavierStokesNC, ReplaceCompEqIdx, 0); //<! Set the ReplaceCompEqIdx
SET_BOOL_PROP(NavierStokesNC, EnableInertiaTerms, true); //!< Consider inertia terms by default