Skip to content
Snippets Groups Projects

Use global index sets by the dune-parmg module

Merged Sander, Oliver requested to merge lisa-parallel into master
2 files
+ 8
9
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -22,25 +22,24 @@ namespace Dune {
@@ -22,25 +22,24 @@ namespace Dune {
typedef Dune::ParMG::EntityMasterRank<typename Basis::GridView> Master;
typedef Dune::ParMG::EntityMasterRank<typename Basis::GridView> Master;
typedef std::vector<char> DofMaster;
typedef std::vector<char> DofMaster;
GlobalMapper(const GridView& gridView_)
GlobalMapper(const Basis& basis)
{
{
Basis b = gridView_;
DofMap dofmap = Dune::ParMG::entitiesToDofsMap(&basis);
DofMap dofmap = Dune::ParMG::entitiesToDofsMap(&b);
Master m = Dune::ParMG::entityMasterRank(basis.gridView(), [&](int, int codim) -> bool {
Master m = Dune::ParMG::entityMasterRank(gridView_, [&](int, int codim) -> bool {
return dofmap.codimSet().test(codim);
return dofmap.codimSet().test(codim);
});
});
DofMaster dofmaster = Dune::ParMG::dofMaster(b, m);
DofMaster dofmaster = Dune::ParMG::dofMaster(basis, m);
coarseGlobalDof_ = globalDof(b,m, dofmap);
coarseGlobalDof_ = globalDof(basis,m, dofmap);
// total number of degrees of freedom
// total number of degrees of freedom
size_ = coarseGlobalDof_.size;
size_ = coarseGlobalDof_.size;
}
}
#else
#else
GlobalMapper(const GridView& gridView_)
GlobalMapper(const Basis& basis)
{
{
// Total number of degrees of freedom
// Total number of degrees of freedom
size_ = gridView.size();
size_ = basis.size();
}
}
#endif
#endif
Loading