Skip to content
Snippets Groups Projects
Commit 3c4a20b5 authored by Karsten Rink's avatar Karsten Rink
Browse files

added a few tests

parent e1f90e9a
No related branches found
No related tags found
No related merge requests found
......@@ -11,6 +11,7 @@
#include <memory>
#include <cmath>
#include "MathTools.h"
#include "Mesh.h"
#include "Node.h"
#include "MeshGenerators/MeshGenerator.h"
......@@ -72,5 +73,42 @@ TEST(MeshLib, MeshGeneratorRegularHex)
ASSERT_EQ(offset_zn1+offset_yn0+n_subdivisions, ele_n.getNodeIndex(5));
ASSERT_EQ(offset_zn1+offset_yn1+n_subdivisions, ele_n.getNodeIndex(6));
ASSERT_EQ(offset_zn1+offset_yn1+n_subdivisions-1, ele_n.getNodeIndex(7));
std::unique_ptr<Mesh> msh2 (MeshGenerator::generateRegularHexMesh(n_subdivisions, n_subdivisions, n_subdivisions, L/n_subdivisions));
ASSERT_EQ(msh->getNNodes(), msh2->getNNodes());
ASSERT_EQ(0, MathLib::sqrDist(*(msh->getNode(msh->getNNodes()-1)), *(msh2->getNode(msh->getNNodes()-1))));
unsigned n_x (10);
unsigned n_y (5);
unsigned n_z (2);
double delta (1.2);
std::unique_ptr<Mesh> hex_mesh (MeshGenerator::generateRegularHexMesh(n_x, n_y, n_z, delta));
ASSERT_EQ(n_x * n_y * n_z, hex_mesh->getNElements());
ASSERT_EQ((n_x+1) * (n_y+1) * (n_z+1), hex_mesh->getNNodes());
const MeshLib::Node* node (hex_mesh->getNode(hex_mesh->getNNodes()-1));
ASSERT_EQ(n_x*delta, (*node)[0]);
ASSERT_EQ(n_y*delta, (*node)[1]);
ASSERT_EQ(n_z*delta, (*node)[2]);
}
TEST(MeshLib, MeshGeneratorRegularQuad)
{
unsigned n_x (10);
unsigned n_y (5);
double delta (1.2);
std::unique_ptr<Mesh> hex_mesh (MeshGenerator::generateRegularQuadMesh(n_x, n_y,delta));
ASSERT_EQ(n_x * n_y, hex_mesh->getNElements());
ASSERT_EQ((n_x+1) * (n_y+1), hex_mesh->getNNodes());
const MeshLib::Node* node (hex_mesh->getNode(hex_mesh->getNNodes()-1));
ASSERT_EQ(n_x*delta, (*node)[0]);
ASSERT_EQ(n_y*delta, (*node)[1]);
ASSERT_EQ(0, (*node)[2]);
const double L = 10.0;
const std::size_t n_subdivisions = 9;
std::unique_ptr<Mesh> mesh(MeshGenerator::generateRegularQuadMesh(L, n_subdivisions));
ASSERT_EQ(n_subdivisions * n_subdivisions, mesh->getNElements());
node = mesh->getNode(mesh->getNNodes()-1);
ASSERT_EQ(L, (*node)[0]);
ASSERT_EQ(L, (*node)[1]);
}
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