From: guido Date: Mon, 19 Jan 2004 13:13:20 +0000 (+0000) Subject: Compute gradients X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55d9f28965f4212f0ab65a5ceece02b2bcfdf407;p=dealii-svn.git Compute gradients git-svn-id: https://svn.dealii.org/trunk@8325 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/base/source/polynomials_bdm.cc b/deal.II/base/source/polynomials_bdm.cc index 1a6d62fae3..9214bec3e3 100644 --- a/deal.II/base/source/polynomials_bdm.cc +++ b/deal.II/base/source/polynomials_bdm.cc @@ -18,6 +18,8 @@ using namespace std; using namespace Polynomials; +//TODO:[GK] Remove monomial_derivatives + template PolynomialsBDM::PolynomialsBDM (const unsigned int k) : @@ -88,20 +90,36 @@ PolynomialsBDM::compute (const Point &unit_point, for (unsigned int j=0;j monoval0(3); + std::vector monoval1(3); + + monomials[0].value(unit_point(0), monoval0); + monomials[0].value(unit_point(1), monoval1); if (values.size() != 0) { - values[start][0] = monomials[0].value (unit_point(0)); - values[start][1] = -unit_point(1) - * monomial_derivatives[0].value (unit_point(0)); - values[start+1][0] = -unit_point(0) - * monomial_derivatives[0].value (unit_point(1)); - values[start+1][1] = monomials[0].value (unit_point(1)); + values[start][0] = monoval0[0]; + values[start][1] = -unit_point(1) * monoval0[1]; + values[start+1][0] = -unit_point(0) * monoval1[1]; + values[start+1][1] = monoval1[0]; } if (grads.size() != 0) { - Assert(false,ExcNotImplemented()); + grads[start][0][0] = monoval0[1]; + grads[start][0][1] = 0.; + grads[start][1][0] = -unit_point(1) * monoval0[2]; + grads[start][1][1] = -monoval0[1]; + grads[start+1][0][0] = -monoval1[1]; + grads[start+1][0][1] = -unit_point(0) * monoval1[2]; + grads[start+1][1][0] = 0.; + grads[start+1][1][1] = monoval1[1]; } if (grad_grads.size() != 0) {