diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 4b04b4ddea5bd06de3788377aeeee8d0fbb491e4..75a802f986a139211758bcd1f37b5ecd5a003def 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -254,13 +254,14 @@ int main(int argc, char *argv[]) { std::fill(eta.begin(), eta.end(), parset.get<double>("boundary.friction.eta")); - myGlobalNonlinearity = - globalNonlinearityPtr(new Dune::GlobalRuinaNonlinearity<dim>( - nodalIntegrals, a, mu, eta, normalStress)); + auto const tmp = new Dune::GlobalRuinaNonlinearity<dim>( + nodalIntegrals, a, mu, eta, normalStress); + myGlobalNonlinearity = globalNonlinearityPtr(tmp); } else if (friction_model == std::string("Laursen")) { - myGlobalNonlinearity = globalNonlinearityPtr( + auto const tmp = new Dune::GlobalLaursenNonlinearity<dim, Dune::LinearFunction>( - mu, normalStress, nodalIntegrals)); + mu, normalStress, nodalIntegrals); + myGlobalNonlinearity = globalNonlinearityPtr(tmp); } else { assert(false); }