diff --git a/cosserat-continuum.cc b/cosserat-continuum.cc index 392d6f9f9e5306f8426c314eb420b75d7781de34..127ebb6bb7de63a7982dd34b3f0c717f735d51b4 100644 --- a/cosserat-continuum.cc +++ b/cosserat-continuum.cc @@ -140,9 +140,13 @@ int main (int argc, char *argv[]) try allNodes.setAll(); LeafBoundaryPatch<GridType> dirichletBoundary(grid, allNodes); - BitSetVector<blocksize> dirichletNodes(grid.size(dim)); - for (int i=0; i<dirichletNodes.size(); i++) - dirichletNodes[i] = dirichletBoundary.containsVertex(i); + BitSetVector<blocksize> dirichletNodes(grid.size(dim), false); + for (int i=0; i<dirichletNodes.size(); i++) { + // Only translation dofs are Dirichlet + if (dirichletBoundary.containsVertex(i)) + for (int j=0; j<3; j++) + dirichletNodes[i][j] = true; + } // ////////////////////////// // Initial solution