diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index d31ab8aa6216ae1d922c87ef0a12738c26debea4..504e5e7a4f542026fb89376ce4fee59d67de4b05 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -138,12 +138,9 @@ int main(int argc, char *argv[]) { // }}} // Set up the boundary - Dune::BitSetVector<dims> velocityDirichletNodes(fineVertexCount, false); - Dune::BitSetVector<dims> const &displacementDirichletNodes = - velocityDirichletNodes; - Dune::BitSetVector<dims> accelerationDirichletNodes(fineVertexCount, false); - Dune::BitSetVector<1> neumannNodes(fineVertexCount, false); - BoundaryPatch<GridView> const neumannBoundary(leafView, neumannNodes); + Dune::BitSetVector<dims> dirichletNodes(fineVertexCount); + Dune::BitSetVector<dims> noNodes(fineVertexCount); + BoundaryPatch<GridView> const neumannBoundary(leafView); Vector vertexCoordinates(fineVertexCount); Dune::BitSetVector<1> frictionalNodes(fineVertexCount, false); @@ -283,7 +280,7 @@ int main(int argc, char *argv[]) { // Solve the stationary problem Vector u_initial(fineVertexCount); u_initial = 0.0; - solveLinearProblem(displacementDirichletNodes, A, ell, u_initial, ANorm, + solveLinearProblem(dirichletNodes, A, ell, u_initial, ANorm, parset.sub("u0.solver")); Vector v_initial(fineVertexCount); v_initial = 0.0; @@ -312,8 +309,8 @@ int main(int argc, char *argv[]) { accelerationRHS -= ell; accelerationRHS *= -1.0; } - solveLinearProblem(accelerationDirichletNodes, M, accelerationRHS, - a_initial, MNorm, parset.sub("a0.solver")); + solveLinearProblem(noNodes, M, accelerationRHS, a_initial, MNorm, + parset.sub("a0.solver")); } // }}} FrictionWriter<Dune::BitSetVector<1>> writer(frictionData, frictionalNodes); @@ -329,7 +326,7 @@ int main(int argc, char *argv[]) { GlobalNonlinearity<Matrix, Vector>, Matrix>>, Grid>; NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid, - velocityDirichletNodes); + dirichletNodes); auto multigridStep = factory.getSolver(); { @@ -344,8 +341,8 @@ int main(int argc, char *argv[]) { auto timeSteppingScheme = initTimeStepper(parset.get<Config::scheme>("timeSteps.scheme"), - velocityDirichletFunction, velocityDirichletNodes, M, A, - C, u_initial, v_initial, a_initial); + velocityDirichletFunction, dirichletNodes, M, A, C, + u_initial, v_initial, a_initial); auto stateUpdater = initStateUpdater<ScalarVector, Vector>( parset.get<Config::stateModel>("boundary.friction.stateModel"), alpha_initial, frictionalNodes, frictionData);