//FIRST CELL
static const Point<2> vertices_1[]
= {
Point<2>(0.0, 0.0),
Point<2>(1.0, 0.0),
Point<2>(0.0, 1.0),
Point<2>(1.0, 1.0)
};
// Creating CellData and vertices list for this material (in this case for only one cell):
const unsigned int n_vertices = 4;
const std::vector<Point<dim>> vertices_list_2(&vertices_2[0], &vertices_2[n_vertices]);
static const int cell_vertices[] = {0,1,2,3};
CellData<dim> cells_1;
for(unsigned int j=0;j<n_vertices;j++)
{
cell_1.vertices[j] = cell_vertices[i][j];
}
cell_1.material_id = material_one_id;
// Create triangulation:
Triangulation<dim> temp_down_triangulation;
temp_down_triangulation.create_triangulation(vertices_list_1,cell_1,SubCellData());
//SECOND CELL
static const Point<2> vertices_2[]
= {
Point<2>(0.0, 1.0),
Point<2>(1.0, 1.0),
Point<2>(0.0, 2.0),
Point<2>(1.0, 2.0)
};
// Creating CellData for second cell
const std::vector<Point<dim>> vertices_list_2(&vertices_2[0], &vertices_2[n_vertices]);
CellData<dim> cell_2;
for(unsigned int j=0;j<n_vertices; j++){
cell_2.vertices[j] = cell_vertices_2[i][j];
}
cell_2.material_id = material_two_id;
Triangulation<dim> temp_up_triangulation;
temp_up_triangulation.create_triangulation(vertices_list_2, cell_2, SubCellData());
// MERGING...
GridGenerator::merge_triangulations(temp_down_triangulation,
temp_up_triangulation,
final_triangulation);