https://mooseframework.inl.gov
GasLiquidMassTransferTest.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "gtest/gtest.h"
11 
13 
14 #include <cmath>
15 
17 
18 const Real p = 1e5;
19 const double T = 800;
20 const double M = 30e-3;
21 const double R = 8.31446;
22 const double mu = 20e-6;
23 const double v = 1.0;
24 const double d = 10e-3;
25 const double radius = 1e-3;
26 
27 const double rho = p / R / T * M;
28 const double Re = rho * v * d / mu;
29 
31 {
32 
33  // Stokes-Einstein
34  {
35  const double D = 1.38064852e-23 * T / (6.0 * libMesh::pi * mu * radius);
36  const double Sc = mu / (rho * D);
37  const double mtc_gold = 0.023 * std::pow(Re, 0.8) * std::pow(Sc, 0.4) * D / d;
38  EXPECT_LT(std::abs(_mtc_stokes->mtc(p, T, v) - mtc_gold), tol * mtc_gold);
39  }
40 
41  // Wilke-Chang
42  {
43  const double molar_volume = M / (rho / 1e6); // cm3/mol
44  const double mu_cp = mu * 1e3 / 1e2 * 1e2; // cP
45  const double D = 7.4e-8 * T * std::pow(1 * M * 1e3, 0.5) /
46  (mu_cp * std::pow(molar_volume, 0.6)) * std::pow(0.01, 2);
47  const double Sc = mu / (rho * D);
48  const double mtc_gold = 0.023 * std::pow(Re, 0.8) * std::pow(Sc, 0.4) * D / d;
49  EXPECT_LT(std::abs(_mtc_wilkes->mtc(p, T, v) - mtc_gold), tol * mtc_gold);
50  }
51 }
const double M
const double T
static constexpr Real TOLERANCE
const double v
const double R
const double d
const double rho
const double Re
TEST_F(GasLiquidMassTransferTest, test)
const double radius
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real p
const Real tol
const double mu
MooseUnits pow(const MooseUnits &, int)
const Real pi