From f5671ac263e9ac50614e052343695d59965fb614 Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Fri, 5 Jan 2018 12:06:28 +0100 Subject: [PATCH] Use dune-functions for interpolating the initial iterate --- src/harmonicmaps.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc index 91e68fd2..4717e6c1 100644 --- a/src/harmonicmaps.cc +++ b/src/harmonicmaps.cc @@ -35,7 +35,6 @@ namespace Dune { #include <dune/functions/functionspacebases/interpolate.hh> #include <dune/fufem/boundarypatch.hh> -#include <dune/fufem/functiontools/basisinterpolator.hh> #include <dune/fufem/functiontools/boundarydofs.hh> #include <dune/fufem/functionspacebases/dunefunctionsbasis.hh> #include <dune/fufem/dunepython.hh> @@ -205,16 +204,14 @@ int main (int argc, char *argv[]) // ////////////////////////// // Read initial iterate into a PythonFunction - typedef VirtualDifferentiableFunction<FieldVector<double, dim>, TargetSpace::CoordinateType> FBase; - Python::Module module = Python::import(parameterSet.get<std::string>("initialIterate")); - auto pythonInitialIterate = module.get("fdf").toC<std::shared_ptr<FBase>>(); + auto pythonInitialIterate = Python::makeFunction<TargetSpace::CoordinateType(const FieldVector<double,dim>&)>(module.get("f")); std::vector<TargetSpace::CoordinateType> v; #ifdef LAGRANGE - ::Functions::interpolate(fufemFeBasis, v, *pythonInitialIterate); + Dune::Functions::interpolate(feBasis, v, pythonInitialIterate); #else - Dune::Functions::interpolate(feBasis, v, *pythonInitialIterate, lower, upper, elements, order); + Dune::Functions::interpolate(feBasis, v, pythonInitialIterate, lower, upper, elements, order); #endif for (size_t i=0; i<x.size(); i++) -- GitLab