Skip to content
Snippets Groups Projects
Commit ed72c55c authored by Elias Pipping's avatar Elias Pipping Committed by Elias Pipping
Browse files

Do not hardcode the boundary

parent e020f9ad
No related branches found
No related tags found
No related merge requests found
......@@ -74,11 +74,12 @@
int const dim = DIM;
template <class GridView>
template <class GridView, class GridCorner>
void setup_boundary(GridView const &gridView,
Dune::BitSetVector<dim> &ignoreNodes,
Dune::BitSetVector<1> &neumannNodes,
Dune::BitSetVector<1> &frictionalNodes) {
Dune::BitSetVector<1> &frictionalNodes,
GridCorner const &lowerLeft, GridCorner const &upperRight) {
typedef typename GridView::template Codim<dim>::Iterator VertexLeafIterator;
Dune::MultipleCodimMultipleGeomTypeMapper<
......@@ -88,17 +89,15 @@ void setup_boundary(GridView const &gridView,
it != gridView.template end<dim>(); ++it) {
assert(it->geometry().corners() == 1);
Dune::FieldVector<double, dim> const coordinates = it->geometry().corner(0);
if (coordinates[1] == 1) {
size_t const id = myVertexMapper.map(*it);
size_t const id = myVertexMapper.map(*it);
if (coordinates[1] == upperRight[1])
ignoreNodes[id] = true;
} else if (coordinates[1] == 0) {
size_t const id = myVertexMapper.map(*it);
else if (coordinates[1] == lowerLeft[1]) {
frictionalNodes[id] = true;
ignoreNodes[id][1] = true; // Zero displacement in direction y
} else if (coordinates[0] == 0 || coordinates[0] == 1) {
size_t const id = myVertexMapper.map(*it);
} else if (coordinates[0] == lowerLeft[0] ||
coordinates[0] == upperRight[0])
neumannNodes[id] = true;
}
}
}
......@@ -182,7 +181,8 @@ int main(int argc, char *argv[]) {
Dune::BitSetVector<dim> ignoreNodes(finestSize, false);
Dune::BitSetVector<1> neumannNodes(finestSize, false);
Dune::BitSetVector<1> frictionalNodes(finestSize, false);
setup_boundary(leafView, ignoreNodes, neumannNodes, frictionalNodes);
setup_boundary(leafView, ignoreNodes, neumannNodes, frictionalNodes,
lowerLeft, upperRight);
auto const nodalIntegrals =
assemble_frictional<GridType, GridView, SmallVector, P1Basis>(
......
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