From af85d184ec0ec6523234e71ae47106a2a71f11be Mon Sep 17 00:00:00 2001
From: Nicolas Marsic <nicolas.marsic@gmail.com>
Date: Tue, 19 Jun 2012 09:52:13 +0000
Subject: [PATCH] 0 and 1 Form -- need test

---
 FunctionSpace/LocalFunctionSpace0Form.cpp |  6 +++---
 FunctionSpace/LocalFunctionSpace1Form.cpp | 19 ++++++++++++++-----
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/FunctionSpace/LocalFunctionSpace0Form.cpp b/FunctionSpace/LocalFunctionSpace0Form.cpp
index 45bc101dc7..2a0a449004 100644
--- a/FunctionSpace/LocalFunctionSpace0Form.cpp
+++ b/FunctionSpace/LocalFunctionSpace0Form.cpp
@@ -29,11 +29,11 @@ double LocalFunctionSpace0Form::interpolate(const fullVector<double>& coef,
 					    double x, double y, double z) const{
   double res = 0;
 
-  for(int i = 0; i < size; i++){
-    fullVector<double> uv = jac->invMap(x, y);
+  fullVector<double> uv = jac->invMap(x, y);
 
+  for(int i = 0; i < size; i++)
     res += (*basis)[i].at(uv(0), uv(1), 0.0);
-  }
+  
 
   return res;
 }
diff --git a/FunctionSpace/LocalFunctionSpace1Form.cpp b/FunctionSpace/LocalFunctionSpace1Form.cpp
index 0dcd28c4c8..2cc5cf9706 100644
--- a/FunctionSpace/LocalFunctionSpace1Form.cpp
+++ b/FunctionSpace/LocalFunctionSpace1Form.cpp
@@ -31,14 +31,23 @@ fullVector<double> LocalFunctionSpace1Form::
 interpolate(const fullVector<double>& coef, 
 	    double x, double y, double z) const{
 
-  //double res = 0;
+  fullVector<double> res(3);
+  res(0) = 0;
+  res(1) = 0;
+  res(2) = 0;
+  
+  fullVector<double> uv = jac->invMap(x, y);
   
   for(int i = 0; i < size; i++){
-    //fullVector<double> uv = jac->invMap(x, y);
-
-    //res += (*basis)[i].at(uv(0), uv(1), 0.0);
+    res(0) += (*basis)[i][0].at(uv(0), uv(1), 0.0) * (*orient)[i];
+    res(1) += (*basis)[i][1].at(uv(0), uv(1), 0.0) * (*orient)[i];
   }
 
-  //return res;
+  fullVector<double> gradRes = jac->grad(res(0), res(1));
+  
+  res(0) = gradRes(0);
+  res(1) = gradRes(1);
+
+  return res;
 
 }
-- 
GitLab