2025-02-19 14:36:22 -05:00
|
|
|
#include <gtest/gtest.h>
|
|
|
|
|
|
2025-03-05 12:57:35 -05:00
|
|
|
#include<numbers>
|
|
|
|
|
|
2025-02-23 14:12:13 -05:00
|
|
|
#include "quill/LogMacros.h"
|
|
|
|
|
#include "mfem.hpp"
|
|
|
|
|
|
2025-02-19 14:36:22 -05:00
|
|
|
#include "polySolver.h"
|
2025-02-23 14:12:13 -05:00
|
|
|
#include "probe.h"
|
2025-02-24 12:38:47 -05:00
|
|
|
#include "config.h"
|
2025-03-05 12:57:35 -05:00
|
|
|
#include "meshIO.h"
|
2025-02-24 12:38:47 -05:00
|
|
|
|
|
|
|
|
std::string CONFIG_FILENAME = std::string(getenv("MESON_SOURCE_ROOT")) + "/tests/testsConfig.yaml";
|
2025-03-05 12:57:35 -05:00
|
|
|
std::string SPHERICAL_MESH = std::string(getenv("MESON_SOURCE_ROOT")) + "/src/resources/mesh/core.msh";
|
2025-02-19 14:36:22 -05:00
|
|
|
|
|
|
|
|
class polyTest : public ::testing::Test {};
|
|
|
|
|
|
2025-02-20 15:28:30 -05:00
|
|
|
TEST_F(polyTest, Solve) {
|
2025-02-24 12:38:47 -05:00
|
|
|
Config& config = Config::getInstance();
|
|
|
|
|
config.loadConfig(CONFIG_FILENAME);
|
2025-02-23 14:12:13 -05:00
|
|
|
Probe::LogManager& logManager = Probe::LogManager::getInstance();
|
2025-03-05 12:57:35 -05:00
|
|
|
quill::Logger* logger = logManager.getLogger("log");
|
|
|
|
|
LOG_INFO(logger, "Starting polytrope solve test 1...");
|
|
|
|
|
config.loadConfig(CONFIG_FILENAME);
|
2025-02-23 14:12:13 -05:00
|
|
|
|
2025-03-14 09:12:40 -04:00
|
|
|
double polyRadius = config.get<double>("Tests:Poly:Radius", std::numbers::pi);
|
|
|
|
|
MeshIO meshIO(SPHERICAL_MESH, polyRadius);
|
2025-03-05 12:57:35 -05:00
|
|
|
mfem::Mesh& mesh = meshIO.GetMesh();
|
2025-02-23 14:12:13 -05:00
|
|
|
double radius = Probe::getMeshRadius(mesh);
|
|
|
|
|
LOG_INFO(logger, "Mesh radius: {}", radius);
|
|
|
|
|
|
2025-03-05 12:57:35 -05:00
|
|
|
double polytropicIndex = config.get<double>("Tests:Poly:Index", 1);
|
|
|
|
|
LOG_INFO(logger, "Solving polytrope with n = {:0.2f}", polytropicIndex);
|
|
|
|
|
|
|
|
|
|
PolySolver polytrope(polytropicIndex, 1, mesh);
|
|
|
|
|
LOG_INFO(logger, "Solving polytrope...");
|
|
|
|
|
EXPECT_NO_THROW(polytrope.solve());
|
|
|
|
|
LOG_INFO(logger, "Polytrope solved.");
|
2025-02-19 14:36:22 -05:00
|
|
|
}
|