test(tests/eos): improved const and constexpr correctness
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <iostream>
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
@@ -11,7 +10,7 @@
|
|||||||
#include "EOS.h"
|
#include "EOS.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file constTest.cpp
|
* @file eosTest.cpp
|
||||||
* @brief Unit tests for the const class.
|
* @brief Unit tests for the const class.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -28,36 +27,35 @@ std::string TEST_CONFIG = std::string(getenv("MESON_SOURCE_ROOT")) + "/tests/tes
|
|||||||
|
|
||||||
TEST_F(eosTest, read_helm_table) {
|
TEST_F(eosTest, read_helm_table) {
|
||||||
serif::config::Config::getInstance().loadConfig(TEST_CONFIG);
|
serif::config::Config::getInstance().loadConfig(TEST_CONFIG);
|
||||||
serif::resource::ResourceManager& rm = serif::resource::ResourceManager::getInstance();
|
const serif::resource::ResourceManager& rm = serif::resource::ResourceManager::getInstance();
|
||||||
auto& eos = std::get<std::unique_ptr<serif::eos::EOSio>>(rm.getResource("eos:helm"));
|
auto& eos = std::get<std::unique_ptr<serif::eos::EOSio>>(rm.getResource("eos:helm"));
|
||||||
auto& table = eos->getTable();
|
const auto& table = eos->getTable();
|
||||||
auto& helmTable = *std::get<std::unique_ptr<serif::eos::helmholtz::HELMTable>>(table);
|
const auto& helmTable = *std::get<std::unique_ptr<serif::eos::helmholtz::HELMTable>>(table);
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << helmTable;
|
ss << helmTable;
|
||||||
EXPECT_EQ(ss.str(), "HELMTable Data:\n imax: 541, jmax: 201\n Temperature Range: [1000, 1e+13]\n Density Range: [1e-12, 1e+15]\n");
|
EXPECT_EQ(ss.str(), "HELMTable Data:\n imax: 541, jmax: 201\n Temperature Range: [1000, 1e+13]\n Density Range: [1e-12, 1e+15]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(eosTest, get_helm_EOS) {
|
TEST_F(eosTest, get_helm_EOS) {
|
||||||
|
constexpr int nel=3;
|
||||||
const int nel=3;
|
double xMass[nel], aIon[nel], zIon[nel];
|
||||||
double xmass[nel], aion[nel], zion[nel];
|
|
||||||
serif::eos::helmholtz::HELMEOSInput eos1;
|
serif::eos::helmholtz::HELMEOSInput eos1;
|
||||||
|
|
||||||
xmass[0] = 0.75; aion[0] = 1.0; zion[0] = 1.0;
|
xMass[0] = 0.75; aIon[0] = 1.0; zIon[0] = 1.0;
|
||||||
xmass[1] = 0.23; aion[1] = 4.0; zion[1] = 2.0;
|
xMass[1] = 0.23; aIon[1] = 4.0; zIon[1] = 2.0;
|
||||||
xmass[2] = 0.02; aion[2] = 12.0; zion[2] = 6.0;
|
xMass[2] = 0.02; aIon[2] = 12.0; zIon[2] = 6.0;
|
||||||
|
|
||||||
eos1.T = 1.0e8;
|
eos1.T = 1.0e8;
|
||||||
eos1.rho = 1.0e6;
|
eos1.rho = 1.0e6;
|
||||||
|
|
||||||
double asum = 0.0;
|
double aSum = 0.0;
|
||||||
double zsum = 0.0;
|
double zSum = 0.0;
|
||||||
for (int i=0; i<nel; i++) {
|
for (int i=0; i<nel; i++) {
|
||||||
asum += xmass[i]/aion[i];
|
aSum += xMass[i]/aIon[i];
|
||||||
zsum += xmass[i]*zion[i]/aion[i];
|
zSum += xMass[i]*zIon[i]/aIon[i];
|
||||||
}
|
}
|
||||||
eos1.abar = 1.0/asum;
|
eos1.abar = 1.0/aSum;
|
||||||
eos1.zbar = eos1.abar*zsum;
|
eos1.zbar = eos1.abar*zSum;
|
||||||
|
|
||||||
serif::resource::ResourceManager& rm = serif::resource::ResourceManager::getInstance();
|
serif::resource::ResourceManager& rm = serif::resource::ResourceManager::getInstance();
|
||||||
auto& eos = std::get<std::unique_ptr<serif::eos::EOSio>>(rm.getResource("eos:helm"));
|
auto& eos = std::get<std::unique_ptr<serif::eos::EOSio>>(rm.getResource("eos:helm"));
|
||||||
|
|||||||
Reference in New Issue
Block a user