Skip to content
Snippets Groups Projects
Commit bf8db76a authored by Pietro Incardona's avatar Pietro Incardona
Browse files

Fixing narrow band tests

parents 8feb0fe1 fd5a8455
No related branches found
No related tags found
1 merge request!15FD_solver to develop Upstream
......@@ -76,13 +76,7 @@ BOOST_AUTO_TEST_SUITE(UpwindGradientTestSuite)
LNorms<double> lNorms;
lNorms.get_l_norms_grid<Error>(g_dist);
// std::cout << N << ", " << lNorms.l2 << ", " << lNorms.linf << std::endl;
lNorms.write_to_file(N, 6, "l_norms_upwindGrad_convOrder_" + std::to_string(convergence_order), ""
"./");
// if(N==128) g_dist.write("grid_gaussian_upwindGradient_N" + std::to_string(N), FORMAT_BINARY);
//0.389541847481952
if (N==32) BOOST_CHECK_MESSAGE(lNorms.l2 <= 0.38954184748195 + EPSILON, "Checking L2-norm upwind gradient "
"order " + std::to_string
(convergence_order));
......@@ -147,11 +141,6 @@ BOOST_AUTO_TEST_SUITE(UpwindGradientTestSuite)
LNorms<double> lNorms;
lNorms.get_l_norms_grid<Error>(g_dist);
// std::cout << N << ", " << lNorms.l2 << ", " << lNorms.linf << std::endl;
// lNorms.write_to_file(N, 6, "l_norms_upwindGrad_convOrder_" + std::to_string(convergence_order), ""
// "./");
// if(N==128) g_dist.write("grid_gaussian_upwindGradient_N" + std::to_string(N), FORMAT_BINARY);
if (N==32) BOOST_CHECK_MESSAGE(lNorms.l2 <= 0.08667855716144 + EPSILON, "Checking L2-norm upwind gradient "
"order "
......@@ -215,12 +204,7 @@ BOOST_AUTO_TEST_SUITE(UpwindGradientTestSuite)
LNorms<double> lNorms;
lNorms.get_l_norms_grid<Error>(g_dist);
// std::cout << N << ", " << lNorms.l2 << ", " << lNorms.linf << std::endl;
// lNorms.write_to_file(N, 6, "l_norms_upwindGrad_convOrder_" + std::to_string(convergence_order), ""
// "./");
// if(N==128) g_dist.write("grid_gaussian_upwindGradient_N" + std::to_string(N), FORMAT_BINARY);
if (N==32) BOOST_CHECK_MESSAGE(lNorms.l2 <= 0.03215172234342 + EPSILON, "Checking L2-norm upwind gradient "
"order "
+ std::to_string(convergence_order));
......@@ -282,12 +266,7 @@ BOOST_AUTO_TEST_SUITE(UpwindGradientTestSuite)
LNorms<double> lNorms;
lNorms.get_l_norms_grid<Error>(g_dist);
// lNorms.write_to_file(N, 6, "l_norms_upwindGrad_3D_convOrder_" + std::to_string(convergence_order)
// , ""
// "./");
// g_dist.write("grid_gaussian_upwindGradient_N" + std::to_string(N) + "_order" + std::to_string
// (convergence_order), FORMAT_BINARY);
if(N==32)
{
switch(convergence_order)
......
......@@ -23,18 +23,27 @@ BOOST_AUTO_TEST_SUITE(HelpFunctionsTestSuite)
const size_t sz[grid_dim] = {32};
grid_type g_dist(sz, box, ghost);
double i = 3.3;
// Each processor assigns smaller_value to the first grid node in its domain
double smaller_value = 0.1;
auto dom = g_dist.getDomainIterator();
auto key_0 = dom.get();
g_dist.template get<Field>(key_0) = smaller_value;
++dom;
// Afterwards we loop over the other grid nodes and assign them another bigger number
double bigger_value = 0.5;
while(dom.isNext())
{
i -= 0.1;
auto key = dom.get();
g_dist.template get<Field>(key) = i;
g_dist.template get<Field>(key) = bigger_value;
++dom;
}
auto correct_value = i;
// Now we check if get_min_value returns smaller_value
auto min_value = get_min_val<Field>(g_dist);
BOOST_CHECK_MESSAGE(min_value == correct_value, "Checking if minimum value stored in grid is returned.");
double tolerance = 1e-12;
BOOST_CHECK_MESSAGE(isApproxEqual(min_value, smaller_value, tolerance), "Checking if smallest value stored in grid "
"is returned.");
}
BOOST_AUTO_TEST_CASE(get_max_val_test)
......@@ -49,17 +58,27 @@ BOOST_AUTO_TEST_SUITE(HelpFunctionsTestSuite)
const size_t sz[grid_dim] = {32};
grid_type g_dist(sz, box, ghost);
double i = 0.0;
// Each processor assigns smaller_value to the first grid node in its domain
double smaller_value = 0.1;
auto dom = g_dist.getDomainIterator();
auto key_0 = dom.get();
g_dist.template get<Field>(key_0) = smaller_value;
++dom;
// Afterwards we loop over the other grid nodes and assign them another bigger number
double bigger_value = 0.5;
while(dom.isNext())
{
i += 0.1;
auto key = dom.get();
g_dist.template get<Field>(key) = i;
g_dist.template get<Field>(key) = bigger_value;
++dom;
}
auto correct_value = i;
// Now we check if get_max_value returns bigger_value
auto max_value = get_max_val<Field>(g_dist);
BOOST_CHECK_MESSAGE(max_value == correct_value, "Checking if maximum value stored in grid is returned.");
double tolerance = 1e-12;
BOOST_CHECK_MESSAGE(isApproxEqual(max_value, bigger_value, tolerance), "Checking if smallest value stored in "
"grid "
"is returned.");
}
BOOST_AUTO_TEST_SUITE_END()
......@@ -14,6 +14,7 @@
BOOST_AUTO_TEST_SUITE(NarrowBandTestSuite)
BOOST_AUTO_TEST_CASE(NarrowBand_unit_sphere)
{
auto & v_cl = create_vcluster();
typedef double phi_type;
const size_t dims = 3;
// some indices
......@@ -58,13 +59,14 @@ BOOST_AUTO_TEST_SUITE(NarrowBandTestSuite)
size_t narrow_band_width = 8;
NarrowBand<grid_in_type, phi_type> narrowBand(g_dist, narrow_band_width); // Instantiation of NarrowBand class
narrowBand.get_narrow_band<SDF_exact_grid, SDF_vd, Gradient_vd, magnOfGrad_vd>(g_dist, vd_narrow_band);
int npnt = vd_narrow_band.size_local();
auto & v_cl = create_vcluster();
v_cl.sum(npnt);
v_cl.execute();
BOOST_CHECK(npnt == 6568);
size_t narrow_band_size = vd_narrow_band.size_local();
if (v_cl.size() > 1)
{
v_cl.sum(narrow_band_size);
v_cl.execute();
}
BOOST_CHECK(narrow_band_size == 6568);
}
BOOST_AUTO_TEST_SUITE_END()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment