From 0146a9ee6ead04d15789d179935d4a526388fc89 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Mon, 13 Jun 2011 16:54:23 +0000
Subject: [PATCH] Rotation dofs should have pure Neumann boundary conditions

[[Imported from SVN: r7429]]
---
 cosserat-continuum.cc | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/cosserat-continuum.cc b/cosserat-continuum.cc
index 392d6f9f..127ebb6b 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
-- 
GitLab