Commit 629cfc0b authored by Katharina Heck's avatar Katharina Heck Committed by Timo Koch
Browse files

[test][nonequilibrium] use law for 1p interfacial areas in 1p tests, call...

[test][nonequilibrium] use law for 1p interfacial areas in 1p tests, call interfacial areas from volumevariables in 1p as it is done for 2p problems as well
parent 9763b404
......@@ -170,7 +170,7 @@ public:
//interfacial area
// Shi & Wang, Transport in porous media (2011)
const Scalar as = 6.0 * (1.0-volVars.porosity()) / characteristicLength ;
const Scalar as = volVars.fluidSolidInterfacialArea();
//temperature fluid is the same for both fluids
const Scalar TFluid = volVars.temperatureFluid(0);
......
......@@ -296,6 +296,7 @@ public:
paramCache.updateAll(this->fluidState());
//only update of DimLessNumbers is necessary here, as interfacial area is easy due to only one fluid with a solid and is directly computed in localresidual
updateDimLessNumbers(elemSol, this->fluidState(), paramCache, problem, element, scv);
updateInterfacialArea(elemSol, this->fluidState(), paramCache, problem, element, scv);
}
/*!
......@@ -339,10 +340,32 @@ public:
prandtlNumber_[phaseIdx],
porosity,
ModelTraits::nusseltFormulation());
}
}
/*!
* \brief Updates the volume specific interfacial area [m^2 / m^3] between the solid and the fluid phase.
*
* \param elemSol A vector containing all primary variables connected to the element
* \param fluidState Container for all the secondary variables concerning the fluids
* \param paramCache The parameter cache corresponding to the fluid state
* \param problem The problem to be solved
* \param element An element which contains part of the control volume
* \param scv The sub-control volume
*/
template<class ElemSol, class Problem, class Element, class Scv>
void updateInterfacialArea(const ElemSol& elemSol,
const FluidState& fluidState,
const ParameterCache& paramCache,
const Problem& problem,
const Element& element,
const Scv& scv)
{
using FluidSolidInterfacialAreaFormulation = typename Problem::SpatialParams::FluidSolidInterfacialAreaFormulation;
interfacialArea_ = FluidSolidInterfacialAreaFormulation::fluidSolidInterfacialArea(this->porosity(), characteristicLength());
}
//! access function Reynolds Number
const Scalar reynoldsNumber(const unsigned int phaseIdx) const { return reynoldsNumber_[phaseIdx]; }
//! access function Prandtl Number
......@@ -354,6 +377,8 @@ public:
//! access function pre factor energy transfer
const Scalar factorEnergyTransfer() const { return factorEnergyTransfer_; }
const Scalar fluidSolidInterfacialArea() const {return interfacialArea_;}
private:
//! dimensionless numbers
Scalar reynoldsNumber_[ModelTraits::numPhases()];
......@@ -362,7 +387,7 @@ private:
Scalar characteristicLength_;
Scalar factorEnergyTransfer_;
Scalar solidSurface_ ;
Scalar interfacialArea_ ;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
......
......@@ -28,6 +28,7 @@
#include <dumux/porousmediumflow/properties.hh>
#include <dumux/material/spatialparams/fv1p.hh>
#include <dumux/material/spatialparams/fvnonequilibrium.hh>
#include <dumux/material/fluidmatrixinteractions/1pia/fluidsolidinterfacialareashiwang.hh>
namespace Dumux {
......@@ -54,6 +55,7 @@ class OnePNCNonequilibriumTestSpatialParams
public:
// export permeability type
using PermeabilityType = Scalar;
using FluidSolidInterfacialAreaFormulation = FluidSolidInterfacialAreaShiWang<Scalar>;
OnePNCNonequilibriumTestSpatialParams(std::shared_ptr<const FVGridGeometry> fvGridGeometry)
: ParentType(fvGridGeometry)
......
......@@ -84,7 +84,7 @@ public:
//interfacial area
// Shi & Wang, Transport in porous media (2011)
const Scalar as = 6.0 * (1.0-volVars.porosity()) / characteristicLength ;
const Scalar as = volVars.fluidSolidInterfacialArea();
//temperature fluid is the same for both fluids
const Scalar TFluid = volVars.temperatureFluid(0);
......
......@@ -31,6 +31,7 @@
#include <dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh>
#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
#include <dumux/material/fluidmatrixinteractions/mp/2padapter.hh>
#include <dumux/material/fluidmatrixinteractions/1pia/fluidsolidinterfacialareashiwang.hh>
#include <dumux/porousmediumflow/properties.hh>
#include <dumux/material/spatialparams/fv.hh>
......@@ -65,6 +66,7 @@ public:
//! export the material law type used
using MaterialLaw = TwoPAdapter<wPhaseIdx, EffToAbsLaw<EffectiveLaw>>;
using MaterialLawParams = typename MaterialLaw::Params;
using FluidSolidInterfacialAreaFormulation = FluidSolidInterfacialAreaShiWang<Scalar>;
CombustionSpatialParams(std::shared_ptr<const FVGridGeometry> fvGridGeometry) : ParentType(fvGridGeometry)
{
......
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