Files
MeanField/tests/geometry/volume.cpp

27 lines
821 B
C++

#include <algorithm>
#include <catch2/benchmark/catch_benchmark.hpp>
#include <catch2/catch_test_macros.hpp>
#include <catch2/matchers/catch_matchers_floating_point.hpp>
#include <cmath>
#include <mfem.hpp>
#include <mpi.h>
#include <string>
#include <vector>
import mean_field;
import test_helpers;
using namespace mean_field;
TEST_CASE(
"STROID Volume vs sphere",
tags::geometry &tags::volume
) {
auto args = test_utils::setup_args();
fem::FEM f = fem::setup_fem(args.mesh_file, args, 0);
const double analytic_vol = (4.0 / 3.0) * M_PI * std::pow(utils::RADIUS, 3);
const double stroid_vol = analysis::get_mesh_volume(f);
double s = analytic_vol / stroid_vol;
CHECK_THAT(stroid_vol, Catch::Matchers::WithinRel(analytic_vol, 1e-6));
}