diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index a7ef3d604d421c1b0265ce3a00ba3ee0a7d7eb16..a73b13c73e310c805405a2319e4260a236e083cf 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -179,17 +179,16 @@ int main(int argc, char *argv[]) { EnergyNorm<OperatorType, VectorType> energyNorm(stiffnessMatrix); // Set up the boundary - Dune::BitSetVector<dim> ignoreNodes(grid->size(grid->maxLevel(), dim), - false); - Dune::BitSetVector<1> neumannNodes(grid->size(grid->maxLevel(), dim), - false); - Dune::BitSetVector<1> frictionalNodes(grid->size(grid->maxLevel(), dim), - false); + Dune::BitSetVector<dim> ignoreNodes(finestSize, false); + Dune::BitSetVector<1> neumannNodes(finestSize, false); + Dune::BitSetVector<1> frictionalNodes(finestSize, false); setup_boundary(leafView, ignoreNodes, neumannNodes, frictionalNodes); - typedef MyConvexProblem<OperatorType, VectorType> MyConvexProblemType; - typedef MyBlockProblem<MyConvexProblemType> MyBlockProblemType; + auto const nodalIntegrals = + assemble_frictional<GridType, GridView, SmallVector, P1Basis>( + leafView, p1Basis, frictionalNodes); + // {{{ Initialise vectors VectorType u4(finestSize); u4 = 0.0; // Has to be zero! @@ -204,10 +203,10 @@ int main(int argc, char *argv[]) { SingletonVectorType vonMisesStress; VectorType b4; + // }}} - auto const nodalIntegrals = - assemble_frictional<GridType, GridView, SmallVector, P1Basis>( - leafView, p1Basis, frictionalNodes); + typedef MyConvexProblem<OperatorType, VectorType> MyConvexProblemType; + typedef MyBlockProblem<MyConvexProblemType> MyBlockProblemType; // {{{ Set up TNNMG solver MySolver<dim, VectorType, OperatorType, GridType, MyBlockProblemType> @@ -356,16 +355,17 @@ int main(int argc, char *argv[]) { std::cout << "Making " << timesteps << " time steps took " << timer.elapsed() << "s" << std::endl; - octave_writer.close(); - coefficient_writer.close(); - if (parset.get<bool>("printFrictionalBoundary")) { // Print displacement on frictional boundary boost::format const formatter("u4[%02d] = %+3e"); for (size_t i = 0; i < frictionalNodes.size(); ++i) if (frictionalNodes[i][0]) - std::cout << boost::format(formatter) % i % u4[i] << std::endl; + std::cout << (boost::format(formatter) % i % u4[i]) << std::endl; } + + octave_writer.close(); + coefficient_writer.close(); + Python::stop(); } catch (Dune::Exception &e) {