25 lines
763 B
C++
25 lines
763 B
C++
#include <catch2/catch_test_macros.hpp>
|
|
#include <catch2/matchers/catch_matchers_floating_point.hpp>
|
|
#include <catch2/benchmark/catch_benchmark.hpp>
|
|
#include <cmath>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <algorithm>
|
|
#include <mfem.hpp>
|
|
#include <mpi.h>
|
|
|
|
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));
|
|
} |