Skip to content
Snippets Groups Projects
Commit 7d22cc5d authored by wenqing's avatar wenqing
Browse files

[FLTest] Modified the test for FluidProperties

parent 6561289e
No related branches found
No related tags found
No related merge requests found
/**
* \brief Test Composite density viscosity models
* \brief Test the creator of FluidProperties
*
* \copyright
* Copyright (c) 2012-2016, OpenGeoSys Community (http://www.opengeosys.org)
......@@ -13,56 +13,49 @@
#include <gtest/gtest.h>
#include <memory>
#include <cmath>
#include <memory>
#include "Tests/TestTools.h"
#include "MaterialLib/Fluid/Density/createFluidDensityModel.h"
#include "MaterialLib/Fluid/Viscosity/createViscosityModel.h"
#include "BaseLib/ConfigTree.h"
#include "MaterialLib/Fluid/FluidProperties/CreateFluidProperties.h"
#include "MaterialLib/Fluid/FluidProperties/FluidProperties.h"
#include "MaterialLib/Fluid/FluidProperties/PrimaryVariableDependentFluidProperties.h"
using namespace MaterialLib;
using namespace MaterialLib::Fluid;
using ArrayType = MaterialLib::Fluid::FluidProperty::ArrayType;
template <typename F>
std::unique_ptr<FluidProperty> createTestModel(const char xml[], F func,
const std::string& key)
std::unique_ptr<FluidProperties> createTestFluidProperties(const char xml[])
{
auto const ptree = readXml(xml);
BaseLib::ConfigTree conf(ptree, "", BaseLib::ConfigTree::onerror,
BaseLib::ConfigTree::onwarning);
auto const& sub_config = conf.getConfigSubtree(key);
return func(sub_config);
auto const& sub_config = conf.getConfigSubtree("fluid");
return createFluidProperties(sub_config);
}
TEST(MaterialFluidModel, checkCompositeDensityViscosityModel)
TEST(MaterialFluidProperties, checkPrimaryVariableDependentFluidProperties)
{
const char xml_d[] =
"<density>"
" <type>TemperatureDependent</type>"
" <temperature0> 293.0 </temperature0> "
" <beta> 4.3e-4 </beta> "
" <rho0>1000.</rho0>"
"</density>";
auto rho = createTestModel(xml_d, createFluidDensityModel, "density");
const char xml_v[] =
"<viscosity>"
" <type>TemperatureDependent</type>"
" <mu0>1.e-3 </mu0>"
" <tc>293.</tc>"
" <tv>368.</tv>"
"</viscosity>";
auto mu = createTestModel(xml_v, createViscosityModel, "viscosity");
const char xml[] =
"<fluid>"
" <density>"
" <type>TemperatureDependent</type>"
" <temperature0> 293.0 </temperature0> "
" <beta> 4.3e-4 </beta> "
" <rho0>1000.</rho0>"
" </density>"
" <viscosity>"
" <type>TemperatureDependent</type>"
" <mu0>1.e-3 </mu0>"
" <tc>293.</tc>"
" <tv>368.</tv>"
" </viscosity>"
"</fluid>";
std::unique_ptr<FluidProperties> fluid_model =
std::unique_ptr<FluidProperties>(
new PrimaryVariableDependentFluidProperties(
std::move(rho), std::move(mu), nullptr, nullptr));
auto const fluid_model = createTestFluidProperties(xml);
ArrayType vars;
vars[0] = 350.0;
......
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