From 5c2f16c13aad1a60b2274ade0dbdbce34935deca Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Tue, 8 May 2012 15:45:03 +0200 Subject: [PATCH] Only retrieve functions once --- src/one-body-sample.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 6650b2a9..b5b824d2 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -224,6 +224,8 @@ int main(int argc, char *argv[]) { << "# rows: " << timesteps << std::endl << "# columns: 3" << std::endl; double const h = 1.0 / timesteps; + auto const &neumannFunction = functions.get("neumannCondition"); + auto const &dirichletFunction = functions.get("dirichletCondition"); for (size_t run = 1; run <= timesteps; ++run) { if (parset.get<bool>("printProgress")) { std::cout << '*'; @@ -232,14 +234,12 @@ int main(int argc, char *argv[]) { { assemble_neumann<GridType, GridView, SmallVector, P1Basis>( - leafView, p1Basis, neumannNodes, b4, - functions.get("neumannCondition"), h * run); + leafView, p1Basis, neumannNodes, b4, neumannFunction, h * run); stiffnessMatrix.mmv(u4, b4); // Apply Dirichlet condition for (int i = 0; i < finestSize; ++i) if (ignoreNodes[i].count() == dim) { - functions.get("dirichletCondition") - .evaluate(h * run, u4_diff[i][0]); + dirichletFunction.evaluate(h * run, u4_diff[i][0]); u4_diff[i][0] /= refinement_factor; } @@ -300,8 +300,8 @@ int main(int argc, char *argv[]) { if (parset.get<bool>("writeEvolution")) write_evolution<SingletonVectorType, VectorType>( - frictionalNodes, *s4_new, u4, functions.get("neumannCondition"), - run, h * run, octave_writer); + frictionalNodes, *s4_new, u4, neumannFunction, run, h * run, + octave_writer); if (parset.get<bool>("printCoefficient")) for (size_t i = 0; i < frictionalNodes.size(); ++i) { -- GitLab