From 9654c8d9433d467ff43bcd615c000780fe9b881c Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Mon, 4 Nov 2024 06:10:01 +0100
Subject: [PATCH] Do call 'interpolate' when taking initial iterate from a file
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In the code that takes the initial iterate from a while, a call
to 'interpolate' was out-commented, because interpolating an
'EmbeddedGlobalGFEFunction' was not possible back in the days.

That has changed so, and 'interpolate' can now be called.
I still doubt that the code ever worked or works now.
How could it ever be tested?

'#	geƤndert:       src/cosserat-continuum.cc
---
 src/cosserat-continuum.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc
index 2d752db3..1d75dd1c 100644
--- a/src/cosserat-continuum.cc
+++ b/src/cosserat-continuum.cc
@@ -416,7 +416,8 @@ int main (int argc, char *argv[]) try
     std::vector<TargetSpace> initialIterate;
     GFE::CosseratVTKReader::read(initialIterate, parameterSet.get<std::string>("initialIterateFilename"));
 
-    typedef Dune::Functions::LagrangeBasis<typename GridType::LeafGridView, 2> InitialBasis;
+    // At this point, displacementOrder == rotationOrder
+    typedef Functions::LagrangeBasis<typename GridType::LeafGridView, displacementOrder> InitialBasis;
     InitialBasis initialBasis(initialIterateGrid->leafGridView());
 
 #ifdef PROJECTED_INTERPOLATION
@@ -431,8 +432,7 @@ int main (int argc, char *argv[]) try
         lagrange<displacementOrder>()
         ));
     std::vector<FieldVector<double,7> > v;
-    //TODO: Interpolate does not work with an GFE:EmbeddedGlobalGFEFunction
-    //Dune::Functions::interpolate(powerBasis,v,initialFunction);
+    Functions::interpolate(powerBasis,v,initialFunction);
 
     for (size_t i=0; i<x.size(); i++) {
       auto vTargetSpace = TargetSpace(v[i]);
-- 
GitLab