From b3372dc12f0a3b55dd2b293f30974deb0f351805 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Wed, 7 Dec 2011 15:30:00 +0100 Subject: [PATCH] Use shared_ptr for Laursen's nodalIntegrals --- dune/tectonic/globallaursennonlinearity.hh | 6 +++--- src/one-body-sample.cc | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dune/tectonic/globallaursennonlinearity.hh b/dune/tectonic/globallaursennonlinearity.hh index 18cbac8f..b478fe7c 100644 --- a/dune/tectonic/globallaursennonlinearity.hh +++ b/dune/tectonic/globallaursennonlinearity.hh @@ -21,7 +21,7 @@ class GlobalLaursenNonlinearity : public GlobalNonlinearity<dim> { GlobalLaursenNonlinearity( shared_ptr<std::vector<double> const> mu, shared_ptr<std::vector<double> const> normalStress, - std::vector<FieldVector<double, 1>> const &nodalIntegrals) + shared_ptr<std::vector<FieldVector<double, 1>> const> nodalIntegrals) : mu(mu), normalStress(normalStress), nodalIntegrals(nodalIntegrals) {} /* @@ -39,7 +39,7 @@ class GlobalLaursenNonlinearity : public GlobalNonlinearity<dim> { sigma_n [id + mu id] = sigma_n (1 + mu) id */ virtual shared_ptr<LocalNonlinearity<dim> const> restriction(int i) const { - double coefficient = nodalIntegrals[i][0]; + double coefficient = (*nodalIntegrals)[i][0]; coefficient *= (*normalStress)[i]; coefficient *= 1 + (*mu)[i]; @@ -54,7 +54,7 @@ class GlobalLaursenNonlinearity : public GlobalNonlinearity<dim> { // results shared_ptr<std::vector<double> const> mu; shared_ptr<std::vector<double> const> normalStress; - std::vector<FieldVector<double, 1>> nodalIntegrals; + shared_ptr<std::vector<FieldVector<double, 1>> const> nodalIntegrals; }; } #endif diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index b837a84c..4a35e6d4 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -171,7 +171,7 @@ void assemble_nonlinearity( } else if (friction_model == std::string("Laursen")) { auto const tmp = new Dune::GlobalLaursenNonlinearity<dim, Dune::LinearFunction>( - mu, normalStress, *nodalIntegrals); + mu, normalStress, nodalIntegrals); myGlobalNonlinearity = Dune::shared_ptr<Dune::GlobalNonlinearity<dim> const>(tmp); } else { -- GitLab