From 6f3b7ad2dd692d050c02ae302d43fc54fe2d8d89 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Tue, 29 Nov 2011 15:32:21 +0100 Subject: [PATCH] Only assemble nonlinearity once --- src/one-body-sample.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 6dfeee08..9920be72 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -264,6 +264,10 @@ int main(int argc, char *argv[]) { assemble_frictional<GridType, GridType::LeafGridView, SmallVector, P1Basis>( leafView, p1Basis, frictionalNodes, nodalIntegrals); + Dune::shared_ptr<Dune::GlobalNonlinearity<dim> const> myGlobalNonlinearity; + assemble_nonlinearity(grid.size(grid.maxLevel(), dim), parset, + myGlobalNonlinearity, nodalIntegrals); + for (size_t run = 1; run <= parset.get<size_t>("timesteps"); ++run) { std::cout << "."; std::cout.flush(); @@ -279,12 +283,6 @@ int main(int argc, char *argv[]) { stiffnessMatrix.mmv(u2, b2); stiffnessMatrix.mmv(u3, b3); - Dune::shared_ptr<Dune::GlobalNonlinearity<dim> const> - myGlobalNonlinearity; - assemble_nonlinearity(grid.size(grid.maxLevel(), dim), parset, - myGlobalNonlinearity, nodalIntegrals); - // }}} - if (parset.get<bool>("useNonlinearGS")) { MyConvexProblemType myConvexProblem( stiffnessMatrix, *myGlobalNonlinearity, b1, u1_diff_new); -- GitLab