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