Page MenuHomec4science

mini_mesh_test.cc
No OneTemporary

File Metadata

Created
Wed, Oct 9, 08:03

mini_mesh_test.cc

#include <iostream>
#include "common.hh"
#include "mini_mesh.hh"
#include "point_container.hh"
#include <vector>
const Uint dim = 2;
const Uint nb_elem = 8;
int conn[nb_elem][dim+1] = {{0, 5, 4},
{0, 1, 5},
{1, 6, 5},
{1, 2, 6},
{2, 4, 6},
{2, 3, 4},
{3, 0, 4},
{4, 5, 6}};
void createNodes(PointContainer<dim> & nodes, std::vector<int> & free_nodes) {
nodes.addPoint({0., 0. });
nodes.addPoint({4., 0. });
nodes.addPoint({4., 2. });
nodes.addPoint({0., 2. });
nodes.addPoint({1., 1.1});
nodes.addPoint({2., 0.9});
nodes.addPoint({3., 1.1});
free_nodes.push_back(4);
free_nodes.push_back(5);
free_nodes.push_back(6);
}
void createConnectivity(std::vector<const int*> & connectivity) {
for (Uint i = 0 ; i < nb_elem ; ++i) {
connectivity.push_back(conn[i]);
}
}
int main(int argc, char *argv[])
{
PointContainer<dim> nodes("Nodes");
std::vector<int> free_nodes;
createNodes(nodes, free_nodes);
std::vector<const int*> connectivity;
createConnectivity(connectivity);
MiniMesh<dim> mesh(connectivity, free_nodes, nodes);
Uint iter = mesh.relax(.1, 10, 10, true);
std::cout<< nodes << std::endl;
Uint expected_iter = 1;
if (iter == expected_iter){
std::cout << "Converged in " << iter
<< " steps. This is as it should be. SUCCESS." << std::endl;
return 0;
} else {
std::cout << "This should have converged in " << expected_iter << " steps "
<< " but did so in " << iter << ". FAILURE." << std::endl;
return -1;
}
}

Event Timeline