Newer
Older
#include <amdis/AMDiS.hpp>
#include <amdis/utility/UniqueBorderPartition.hpp>
#include <dune/grid/yaspgrid.hh>
#include "Tests.hpp"
using namespace AMDiS;
template <class GridView>
void test(GridView const& gv)
{
using Grid = typename GridView::Grid;
using DataHandle = UniqueBorderPartitionDataHandle<Grid>;
using EntitySet = typename DataHandle::EntitySet;
EntitySet borderEntities;
DataHandle handle(gv.comm().rank(), borderEntities, gv.grid().globalIdSet());
gv.communicate(handle,
Dune::InterfaceType::InteriorBorder_InteriorBorder_Interface,
Dune::CommunicationDirection::ForwardCommunication);
msg("#borderEntities = {}", borderEntities.size());
}
int main(int argc, char** argv)
{
Environment env(argc, argv);
Dune::YaspGrid<2> grid1({1.0, 1.0}, {8,8}, 0, 0); // no overlap
Dune::YaspGrid<2> grid2({1.0, 1.0}, {8,8}, 0, 1); // overlap = 1
Dune::YaspGrid<3> grid3({1.0, 1.0, 1.0}, {8,8,8}, 0, 1); // overlap = 1
test(grid1.leafGridView());
test(grid2.leafGridView());
test(grid3.leafGridView());
return report_errors();
}