diff --git a/ProcessLib/LiquidFlow/CreateLiquidFlowMaterialProperties.cpp b/ProcessLib/LiquidFlow/CreateLiquidFlowMaterialProperties.cpp index de04222774b1088469d828d10c3033a9be1f4ab5..4fcfa9ddd7a05f8e89b3cee0aa04e41f434c2ce1 100644 --- a/ProcessLib/LiquidFlow/CreateLiquidFlowMaterialProperties.cpp +++ b/ProcessLib/LiquidFlow/CreateLiquidFlowMaterialProperties.cpp @@ -45,9 +45,9 @@ createLiquidFlowMaterialProperties( DBUG("Reading material properties of liquid flow process."); //! \ogs_file_param{prj__processes__process__LIQUID_FLOW__material_property__fluid} - auto const& fluid_config = config.getConfigSubtree("fluid"); - auto fluid_properties = - MaterialLib::Fluid::createFluidProperties(fluid_config); +// auto const& fluid_config = config.getConfigSubtree("fluid"); +// auto fluid_properties = +// MaterialLib::Fluid::createFluidProperties(fluid_config); // Get porous properties std::vector<std::unique_ptr<MaterialLib::PorousMedium::Permeability>> @@ -97,7 +97,8 @@ createLiquidFlowMaterialProperties( BaseLib::reorderVector(storage_models, mat_ids); return std::make_unique<LiquidFlowMaterialProperties>( - std::move(fluid_properties), std::move(intrinsic_permeability_models), + //std::move(fluid_properties), + std::move(intrinsic_permeability_models), std::move(porosity_models), std::move(storage_models), material_ids); } diff --git a/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.cpp b/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.cpp index a92aaa450d91ee99f128b4dd7e9072f55eeccc89..af5d9be67fa30ca00c2838b88a78c567667a0789 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.cpp +++ b/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.cpp @@ -42,6 +42,7 @@ int LiquidFlowMaterialProperties::getMaterialID( return (*_material_ids)[pos.getElementID().get()]; } +/* double LiquidFlowMaterialProperties::getLiquidDensity(const double p, const double T) const { @@ -61,6 +62,7 @@ double LiquidFlowMaterialProperties::getViscosity(const double p, return _fluid_properties->getValue( MaterialLib::Fluid::FluidPropertyType::Viscosity, vars); } +*/ double LiquidFlowMaterialProperties::getPorosity( const int material_id, @@ -76,23 +78,18 @@ double LiquidFlowMaterialProperties::getPorosity( double LiquidFlowMaterialProperties::getMassCoefficient( const int material_id, const double t, const ParameterLib::SpatialPosition& pos, const double p, const double T, - const double porosity_variable, const double storage_variable) const + const double porosity_variable, const double storage_variable, + double const density, double const ddensity_dpressure) const { ArrayType vars; vars[static_cast<int>(MaterialLib::Fluid::PropertyVariableType::T)] = T; vars[static_cast<int>(MaterialLib::Fluid::PropertyVariableType::p)] = p; - const double drho_dp = _fluid_properties->getdValue( - MaterialLib::Fluid::FluidPropertyType::Density, vars, - MaterialLib::Fluid::PropertyVariableType::p); - const double rho = _fluid_properties->getValue( - MaterialLib::Fluid::FluidPropertyType::Density, vars); - assert(rho > 0.); const double porosity = _porosity_models[material_id]->getValue(t, pos, porosity_variable, T); const double storage = _storage_models[material_id]->getValue(storage_variable); - return porosity * drho_dp / rho + storage; + return porosity * ddensity_dpressure / density + storage; } Eigen::MatrixXd LiquidFlowMaterialProperties::getPermeability( diff --git a/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.h b/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.h index ac4a778193649610d6c43c32f866aa25581edda9..d684edc79c37215b80e878fb4a3fa1e4ff49209a 100644 --- a/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.h +++ b/ProcessLib/LiquidFlow/LiquidFlowMaterialProperties.h @@ -45,7 +45,7 @@ public: using ArrayType = MaterialLib::Fluid::FluidProperty::ArrayType; LiquidFlowMaterialProperties( - std::unique_ptr<MaterialLib::Fluid::FluidProperties>&& fluid_properties, +// std::unique_ptr<MaterialLib::Fluid::FluidProperties>&& fluid_properties, std::vector<std::unique_ptr<MaterialLib::PorousMedium::Permeability>>&& intrinsic_permeability_models, std::vector<std::unique_ptr<MaterialLib::PorousMedium::Porosity>>&& @@ -54,7 +54,7 @@ public: storage_models, MeshLib::PropertyVector<int> const* const material_ids) : _material_ids(material_ids), - _fluid_properties(std::move(fluid_properties)), +// _fluid_properties(std::move(fluid_properties)), _intrinsic_permeability_models( std::move(intrinsic_permeability_models)), _porosity_models(std::move(porosity_models)), @@ -85,16 +85,18 @@ public: const ParameterLib::SpatialPosition& pos, const double p, const double T, const double porosity_variable, - const double storage_variable) const; + const double storage_variable, + double const density, + double const ddensity_dpressure) const; Eigen::MatrixXd getPermeability(const int material_id, const double t, const ParameterLib::SpatialPosition& pos, const int dim, const double p, const double T) const; - double getLiquidDensity(const double p, const double T) const; + // double getLiquidDensity(const double p, const double T) const; - double getViscosity(const double p, const double T) const; +// double getViscosity(const double p, const double T) const; double getPorosity(const int material_id, const double t, const ParameterLib::SpatialPosition& pos, @@ -106,8 +108,8 @@ private: */ MeshLib::PropertyVector<int> const* const _material_ids; - const std::unique_ptr<MaterialLib::Fluid::FluidProperties> - _fluid_properties; + // const std::unique_ptr<MaterialLib::Fluid::FluidProperties> + // _fluid_properties; const std::vector<std::unique_ptr<MaterialLib::PorousMedium::Permeability>> _intrinsic_permeability_models;