From 9ca323c3fa492285648009e887d614bddf50d023 Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 18 May 2012 14:53:32 +0000 Subject: [PATCH] Use standard naming for fields. git-svn-id: https://svn.dealii.org/branches/branch_higher_derivatives@25520 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/fe/mapping_q1.h | 54 ++-- deal.II/source/fe/mapping_q.cc | 30 +-- deal.II/source/fe/mapping_q1.cc | 337 ++++++++++++------------ 3 files changed, 211 insertions(+), 210 deletions(-) diff --git a/deal.II/include/deal.II/fe/mapping_q1.h b/deal.II/include/deal.II/fe/mapping_q1.h index befd17bb2d..ce1754e520 100644 --- a/deal.II/include/deal.II/fe/mapping_q1.h +++ b/deal.II/include/deal.II/fe/mapping_q1.h @@ -169,14 +169,14 @@ class MappingQ1 : public Mapping * vertices must be reordered * to obtain transformation. */ - double shape (const unsigned int qpoint, + double shape_value (const unsigned int qpoint, const unsigned int shape_nr) const; /** * Shape function at quadrature * point. See above. */ - double &shape (const unsigned int qpoint, + double &shape_value (const unsigned int qpoint, const unsigned int shape_nr); /** @@ -184,7 +184,7 @@ class MappingQ1 : public Mapping * in quadrature point. See * above. */ - Tensor<1,dim> derivative (const unsigned int qpoint, + Tensor<1,dim> shape_grad (const unsigned int qpoint, const unsigned int shape_nr) const; /** @@ -192,7 +192,7 @@ class MappingQ1 : public Mapping * in quadrature point. See * above. */ - Tensor<1,dim> &derivative (const unsigned int qpoint, + Tensor<1,dim> &shape_grad (const unsigned int qpoint, const unsigned int shape_nr); /** @@ -200,7 +200,7 @@ class MappingQ1 : public Mapping * function in quadrature * point. See above. */ - Tensor<2,dim> second_derivative (const unsigned int qpoint, + Tensor<2,dim> shape_hessian (const unsigned int qpoint, const unsigned int shape_nr) const; /** @@ -208,7 +208,7 @@ class MappingQ1 : public Mapping * function in quadrature * point. See above. */ - Tensor<2,dim> &second_derivative (const unsigned int qpoint, + Tensor<2,dim> &shape_hessian (const unsigned int qpoint, const unsigned int shape_nr); /** @@ -235,7 +235,7 @@ class MappingQ1 : public Mapping * * Computed once. */ - std::vector > shape_derivatives; + std::vector > shape_grads; /** * Values of shape function @@ -245,7 +245,7 @@ class MappingQ1 : public Mapping * * Computed once. */ - std::vector > shape_second_derivatives; + std::vector > shape_hessians; /** * Tensors of covariant @@ -279,7 +279,7 @@ class MappingQ1 : public Mapping * * Computed on each cell. */ - std::vector< DerivativeForm<1,dim,spacedim> > contravariant; + std::vector > contravariant; /** * Unit tangential vectors. Used @@ -802,7 +802,7 @@ struct StaticMappingQ1 template inline double -MappingQ1::InternalData::shape (const unsigned int qpoint, +MappingQ1::InternalData::shape_value (const unsigned int qpoint, const unsigned int shape_nr) const { Assert(qpoint*n_shape_functions + shape_nr < shape_values.size(), @@ -816,7 +816,7 @@ MappingQ1::InternalData::shape (const unsigned int qpoint, template inline double & -MappingQ1::InternalData::shape (const unsigned int qpoint, +MappingQ1::InternalData::shape_value (const unsigned int qpoint, const unsigned int shape_nr) { Assert(qpoint*n_shape_functions + shape_nr < shape_values.size(), @@ -829,13 +829,13 @@ MappingQ1::InternalData::shape (const unsigned int qpoint, template inline Tensor<1,dim> -MappingQ1::InternalData::derivative (const unsigned int qpoint, +MappingQ1::InternalData::shape_grad (const unsigned int qpoint, const unsigned int shape_nr) const { - Assert(qpoint*n_shape_functions + shape_nr < shape_derivatives.size(), + Assert(qpoint*n_shape_functions + shape_nr < shape_grads.size(), ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, - shape_derivatives.size())); - return shape_derivatives [qpoint*n_shape_functions + shape_nr]; + shape_grads.size())); + return shape_grads[qpoint*n_shape_functions + shape_nr]; } @@ -843,26 +843,26 @@ MappingQ1::InternalData::derivative (const unsigned int qpoint, template inline Tensor<1,dim> & -MappingQ1::InternalData::derivative (const unsigned int qpoint, +MappingQ1::InternalData::shape_grad (const unsigned int qpoint, const unsigned int shape_nr) { - Assert(qpoint*n_shape_functions + shape_nr < shape_derivatives.size(), + Assert(qpoint*n_shape_functions + shape_nr < shape_grads.size(), ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, - shape_derivatives.size())); - return shape_derivatives [qpoint*n_shape_functions + shape_nr]; + shape_grads.size())); + return shape_grads[qpoint*n_shape_functions + shape_nr]; } template inline Tensor<2,dim> -MappingQ1::InternalData::second_derivative (const unsigned int qpoint, +MappingQ1::InternalData::shape_hessian (const unsigned int qpoint, const unsigned int shape_nr) const { - Assert(qpoint*n_shape_functions + shape_nr < shape_second_derivatives.size(), + Assert(qpoint*n_shape_functions + shape_nr < shape_hessians.size(), ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, - shape_second_derivatives.size())); - return shape_second_derivatives [qpoint*n_shape_functions + shape_nr]; + shape_hessians.size())); + return shape_hessians[qpoint*n_shape_functions + shape_nr]; } @@ -870,13 +870,13 @@ MappingQ1::InternalData::second_derivative (const unsigned int qpo template inline Tensor<2,dim> & -MappingQ1::InternalData::second_derivative (const unsigned int qpoint, +MappingQ1::InternalData::shape_hessian(const unsigned int qpoint, const unsigned int shape_nr) { - Assert(qpoint*n_shape_functions + shape_nr < shape_second_derivatives.size(), + Assert(qpoint*n_shape_functions + shape_nr < shape_hessians.size(), ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, - shape_second_derivatives.size())); - return shape_second_derivatives [qpoint*n_shape_functions + shape_nr]; + shape_hessians.size())); + return shape_hessians[qpoint*n_shape_functions + shape_nr]; } diff --git a/deal.II/source/fe/mapping_q.cc b/deal.II/source/fe/mapping_q.cc index 73817630e1..407c6871f6 100644 --- a/deal.II/source/fe/mapping_q.cc +++ b/deal.II/source/fe/mapping_q.cc @@ -203,39 +203,39 @@ MappingQ::compute_shapes_virtual (const std::vector > & ExcInternalError()); values.resize(n_shape_functions); } - if (data.shape_derivatives.size()!=0) + if (data.shape_grads.size()!=0) { - Assert(data.shape_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_grads.size()==n_shape_functions*n_points, ExcInternalError()); grads.resize(n_shape_functions); } // // dummy variable of size 0 std::vector > grad2; - if (data.shape_second_derivatives.size()!=0) + if (data.shape_hessians.size()!=0) { - Assert(data.shape_second_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_hessians.size()==n_shape_functions*n_points, ExcInternalError()); grad2.resize(n_shape_functions); } - if (data.shape_values.size()!=0 || data.shape_derivatives.size()!=0) + if (data.shape_values.size()!=0 || data.shape_grads.size()!=0) for (unsigned int point=0; pointcompute(unit_points[point], values, grads, grad2); if (data.shape_values.size()!=0) for (unsigned int i=0; i::compute_laplace_vector(Table<2,double> &lvs) const const unsigned int n_q_points=quadrature.size(); InternalData quadrature_data(n_shape_functions); - quadrature_data.shape_derivatives.resize(n_shape_functions * n_q_points); + quadrature_data.shape_grads.resize(n_shape_functions * n_q_points); this->compute_shapes(quadrature.get_points(), quadrature_data); // Compute the stiffness matrix of @@ -790,8 +790,8 @@ MappingQ::compute_laplace_vector(Table<2,double> &lvs) const for (unsigned int point=0; point::compute_laplace_vector(Table<2,double> &lvs) const for (unsigned int point=0; point S_1(n_inner); diff --git a/deal.II/source/fe/mapping_q1.cc b/deal.II/source/fe/mapping_q1.cc index b3d683b0b5..59b35b5e48 100644 --- a/deal.II/source/fe/mapping_q1.cc +++ b/deal.II/source/fe/mapping_q1.cc @@ -54,7 +54,8 @@ MappingQ1::InternalData::memory_consumption () const { return (Mapping::InternalDataBase::memory_consumption() + MemoryConsumption::memory_consumption (shape_values) + - MemoryConsumption::memory_consumption (shape_derivatives) + + MemoryConsumption::memory_consumption (shape_grads) + + MemoryConsumption::memory_consumption (shape_hessians) + MemoryConsumption::memory_consumption (covariant) + MemoryConsumption::memory_consumption (contravariant) + MemoryConsumption::memory_consumption (unit_tangentials) + @@ -107,26 +108,26 @@ namespace internal { Assert(data.shape_values.size()==n_shape_functions*n_points, ExcInternalError()); - data.shape(k,0) = 1.-x; - data.shape(k,1) = x; + data.shape_value(k,0) = 1.-x; + data.shape_value(k,1) = x; } - if (data.shape_derivatives.size()!=0) + if (data.shape_grads.size()!=0) { - Assert(data.shape_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_grads.size()==n_shape_functions*n_points, ExcInternalError()); - data.derivative(k,0)[0] = -1.; - data.derivative(k,1)[0] = 1.; + data.shape_grad(k,0)[0] = -1.; + data.shape_grad(k,1)[0] = 1.; } - if (data.shape_second_derivatives.size()!=0) + if (data.shape_hessians.size()!=0) { // the following may or may not // work if dim != spacedim Assert (spacedim == 1, ExcNotImplemented()); - Assert(data.shape_second_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_hessians.size()==n_shape_functions*n_points, ExcInternalError()); - data.second_derivative(k,0)[0][0] = 0; - data.second_derivative(k,1)[0][0] = 0; + data.shape_hessian(k,0)[0][0] = 0; + data.shape_hessian(k,1)[0][0] = 0; } } } @@ -148,44 +149,44 @@ namespace internal { Assert(data.shape_values.size()==n_shape_functions*n_points, ExcInternalError()); - data.shape(k,0) = (1.-x)*(1.-y); - data.shape(k,1) = x*(1.-y); - data.shape(k,2) = (1.-x)*y; - data.shape(k,3) = x*y; + data.shape_value(k,0) = (1.-x)*(1.-y); + data.shape_value(k,1) = x*(1.-y); + data.shape_value(k,2) = (1.-x)*y; + data.shape_value(k,3) = x*y; } - if (data.shape_derivatives.size()!=0) + if (data.shape_grads.size()!=0) { - Assert(data.shape_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_grads.size()==n_shape_functions*n_points, ExcInternalError()); - data.derivative(k,0)[0] = (y-1.); - data.derivative(k,1)[0] = (1.-y); - data.derivative(k,2)[0] = -y; - data.derivative(k,3)[0] = y; - data.derivative(k,0)[1] = (x-1.); - data.derivative(k,1)[1] = -x; - data.derivative(k,2)[1] = (1.-x); - data.derivative(k,3)[1] = x; + data.shape_grad(k,0)[0] = (y-1.); + data.shape_grad(k,1)[0] = (1.-y); + data.shape_grad(k,2)[0] = -y; + data.shape_grad(k,3)[0] = y; + data.shape_grad(k,0)[1] = (x-1.); + data.shape_grad(k,1)[1] = -x; + data.shape_grad(k,2)[1] = (1.-x); + data.shape_grad(k,3)[1] = x; } - if (data.shape_second_derivatives.size()!=0) + if (data.shape_hessians.size()!=0) { - Assert(data.shape_second_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_hessians.size()==n_shape_functions*n_points, ExcInternalError()); - data.second_derivative(k,0)[0][0] = 0; - data.second_derivative(k,1)[0][0] = 0; - data.second_derivative(k,2)[0][0] = 0; - data.second_derivative(k,3)[0][0] = 0; - data.second_derivative(k,0)[0][1] = 1.; - data.second_derivative(k,1)[0][1] = -1.; - data.second_derivative(k,2)[0][1] = -1.; - data.second_derivative(k,3)[0][1] = 1.; - data.second_derivative(k,0)[1][0] = 1.; - data.second_derivative(k,1)[1][0] = -1.; - data.second_derivative(k,2)[1][0] = -1.; - data.second_derivative(k,3)[1][0] = 1.; - data.second_derivative(k,0)[1][1] = 0; - data.second_derivative(k,1)[1][1] = 0; - data.second_derivative(k,2)[1][1] = 0; - data.second_derivative(k,3)[1][1] = 0; + data.shape_hessian(k,0)[0][0] = 0; + data.shape_hessian(k,1)[0][0] = 0; + data.shape_hessian(k,2)[0][0] = 0; + data.shape_hessian(k,3)[0][0] = 0; + data.shape_hessian(k,0)[0][1] = 1.; + data.shape_hessian(k,1)[0][1] = -1.; + data.shape_hessian(k,2)[0][1] = -1.; + data.shape_hessian(k,3)[0][1] = 1.; + data.shape_hessian(k,0)[1][0] = 1.; + data.shape_hessian(k,1)[1][0] = -1.; + data.shape_hessian(k,2)[1][0] = -1.; + data.shape_hessian(k,3)[1][0] = 1.; + data.shape_hessian(k,0)[1][1] = 0; + data.shape_hessian(k,1)[1][1] = 0; + data.shape_hessian(k,2)[1][1] = 0; + data.shape_hessian(k,3)[1][1] = 0; } } } @@ -209,127 +210,127 @@ namespace internal { Assert(data.shape_values.size()==n_shape_functions*n_points, ExcInternalError()); - data.shape(k,0) = (1.-x)*(1.-y)*(1.-z); - data.shape(k,1) = x*(1.-y)*(1.-z); - data.shape(k,2) = (1.-x)*y*(1.-z); - data.shape(k,3) = x*y*(1.-z); - data.shape(k,4) = (1.-x)*(1.-y)*z; - data.shape(k,5) = x*(1.-y)*z; - data.shape(k,6) = (1.-x)*y*z; - data.shape(k,7) = x*y*z; + data.shape_value(k,0) = (1.-x)*(1.-y)*(1.-z); + data.shape_value(k,1) = x*(1.-y)*(1.-z); + data.shape_value(k,2) = (1.-x)*y*(1.-z); + data.shape_value(k,3) = x*y*(1.-z); + data.shape_value(k,4) = (1.-x)*(1.-y)*z; + data.shape_value(k,5) = x*(1.-y)*z; + data.shape_value(k,6) = (1.-x)*y*z; + data.shape_value(k,7) = x*y*z; } - if (data.shape_derivatives.size()!=0) + if (data.shape_grads.size()!=0) { - Assert(data.shape_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_grads.size()==n_shape_functions*n_points, ExcInternalError()); - data.derivative(k,0)[0] = (y-1.)*(1.-z); - data.derivative(k,1)[0] = (1.-y)*(1.-z); - data.derivative(k,2)[0] = -y*(1.-z); - data.derivative(k,3)[0] = y*(1.-z); - data.derivative(k,4)[0] = (y-1.)*z; - data.derivative(k,5)[0] = (1.-y)*z; - data.derivative(k,6)[0] = -y*z; - data.derivative(k,7)[0] = y*z; - data.derivative(k,0)[1] = (x-1.)*(1.-z); - data.derivative(k,1)[1] = -x*(1.-z); - data.derivative(k,2)[1] = (1.-x)*(1.-z); - data.derivative(k,3)[1] = x*(1.-z); - data.derivative(k,4)[1] = (x-1.)*z; - data.derivative(k,5)[1] = -x*z; - data.derivative(k,6)[1] = (1.-x)*z; - data.derivative(k,7)[1] = x*z; - data.derivative(k,0)[2] = (x-1)*(1.-y); - data.derivative(k,1)[2] = x*(y-1.); - data.derivative(k,2)[2] = (x-1.)*y; - data.derivative(k,3)[2] = -x*y; - data.derivative(k,4)[2] = (1.-x)*(1.-y); - data.derivative(k,5)[2] = x*(1.-y); - data.derivative(k,6)[2] = (1.-x)*y; - data.derivative(k,7)[2] = x*y; + data.shape_grad(k,0)[0] = (y-1.)*(1.-z); + data.shape_grad(k,1)[0] = (1.-y)*(1.-z); + data.shape_grad(k,2)[0] = -y*(1.-z); + data.shape_grad(k,3)[0] = y*(1.-z); + data.shape_grad(k,4)[0] = (y-1.)*z; + data.shape_grad(k,5)[0] = (1.-y)*z; + data.shape_grad(k,6)[0] = -y*z; + data.shape_grad(k,7)[0] = y*z; + data.shape_grad(k,0)[1] = (x-1.)*(1.-z); + data.shape_grad(k,1)[1] = -x*(1.-z); + data.shape_grad(k,2)[1] = (1.-x)*(1.-z); + data.shape_grad(k,3)[1] = x*(1.-z); + data.shape_grad(k,4)[1] = (x-1.)*z; + data.shape_grad(k,5)[1] = -x*z; + data.shape_grad(k,6)[1] = (1.-x)*z; + data.shape_grad(k,7)[1] = x*z; + data.shape_grad(k,0)[2] = (x-1)*(1.-y); + data.shape_grad(k,1)[2] = x*(y-1.); + data.shape_grad(k,2)[2] = (x-1.)*y; + data.shape_grad(k,3)[2] = -x*y; + data.shape_grad(k,4)[2] = (1.-x)*(1.-y); + data.shape_grad(k,5)[2] = x*(1.-y); + data.shape_grad(k,6)[2] = (1.-x)*y; + data.shape_grad(k,7)[2] = x*y; } - if (data.shape_second_derivatives.size()!=0) + if (data.shape_hessians.size()!=0) { // the following may or may not // work if dim != spacedim Assert (spacedim == 3, ExcNotImplemented()); - Assert(data.shape_second_derivatives.size()==n_shape_functions*n_points, + Assert(data.shape_hessians.size()==n_shape_functions*n_points, ExcInternalError()); - data.second_derivative(k,0)[0][0] = 0; - data.second_derivative(k,1)[0][0] = 0; - data.second_derivative(k,2)[0][0] = 0; - data.second_derivative(k,3)[0][0] = 0; - data.second_derivative(k,4)[0][0] = 0; - data.second_derivative(k,5)[0][0] = 0; - data.second_derivative(k,6)[0][0] = 0; - data.second_derivative(k,7)[0][0] = 0; - data.second_derivative(k,0)[1][1] = 0; - data.second_derivative(k,1)[1][1] = 0; - data.second_derivative(k,2)[1][1] = 0; - data.second_derivative(k,3)[1][1] = 0; - data.second_derivative(k,4)[1][1] = 0; - data.second_derivative(k,5)[1][1] = 0; - data.second_derivative(k,6)[1][1] = 0; - data.second_derivative(k,7)[1][1] = 0; - data.second_derivative(k,0)[2][2] = 0; - data.second_derivative(k,1)[2][2] = 0; - data.second_derivative(k,2)[2][2] = 0; - data.second_derivative(k,3)[2][2] = 0; - data.second_derivative(k,4)[2][2] = 0; - data.second_derivative(k,5)[2][2] = 0; - data.second_derivative(k,6)[2][2] = 0; - data.second_derivative(k,7)[2][2] = 0; - - data.second_derivative(k,0)[0][1] = (1.-z); - data.second_derivative(k,1)[0][1] = -(1.-z); - data.second_derivative(k,2)[0][1] = -(1.-z); - data.second_derivative(k,3)[0][1] = (1.-z); - data.second_derivative(k,4)[0][1] = z; - data.second_derivative(k,5)[0][1] = -z; - data.second_derivative(k,6)[0][1] = -z; - data.second_derivative(k,7)[0][1] = z; - data.second_derivative(k,0)[1][0] = (1.-z); - data.second_derivative(k,1)[1][0] = -(1.-z); - data.second_derivative(k,2)[1][0] = -(1.-z); - data.second_derivative(k,3)[1][0] = (1.-z); - data.second_derivative(k,4)[1][0] = z; - data.second_derivative(k,5)[1][0] = -z; - data.second_derivative(k,6)[1][0] = -z; - data.second_derivative(k,7)[1][0] = z; - - data.second_derivative(k,0)[0][2] = (1.-y); - data.second_derivative(k,1)[0][2] = -(1.-y); - data.second_derivative(k,2)[0][2] = y; - data.second_derivative(k,3)[0][2] = -y; - data.second_derivative(k,4)[0][2] = -(1.-y); - data.second_derivative(k,5)[0][2] = (1.-y); - data.second_derivative(k,6)[0][2] = -y; - data.second_derivative(k,7)[0][2] = y; - data.second_derivative(k,0)[2][0] = (1.-y); - data.second_derivative(k,1)[2][0] = -(1.-y); - data.second_derivative(k,2)[2][0] = y; - data.second_derivative(k,3)[2][0] = -y; - data.second_derivative(k,4)[2][0] = -(1.-y); - data.second_derivative(k,5)[2][0] = (1.-y); - data.second_derivative(k,6)[2][0] = -y; - data.second_derivative(k,7)[2][0] = y; - - data.second_derivative(k,0)[1][2] = (1.-x); - data.second_derivative(k,1)[1][2] = x; - data.second_derivative(k,2)[1][2] = -(1.-x); - data.second_derivative(k,3)[1][2] = -x; - data.second_derivative(k,4)[1][2] = -(1.-x); - data.second_derivative(k,5)[1][2] = -x; - data.second_derivative(k,6)[1][2] = (1.-x); - data.second_derivative(k,7)[1][2] = x; - data.second_derivative(k,0)[2][1] = (1.-x); - data.second_derivative(k,1)[2][1] = x; - data.second_derivative(k,2)[2][1] = -(1.-x); - data.second_derivative(k,3)[2][1] = -x; - data.second_derivative(k,4)[2][1] = -(1.-x); - data.second_derivative(k,5)[2][1] = -x; - data.second_derivative(k,6)[2][1] = (1.-x); - data.second_derivative(k,7)[2][1] = x; + data.shape_hessian(k,0)[0][0] = 0; + data.shape_hessian(k,1)[0][0] = 0; + data.shape_hessian(k,2)[0][0] = 0; + data.shape_hessian(k,3)[0][0] = 0; + data.shape_hessian(k,4)[0][0] = 0; + data.shape_hessian(k,5)[0][0] = 0; + data.shape_hessian(k,6)[0][0] = 0; + data.shape_hessian(k,7)[0][0] = 0; + data.shape_hessian(k,0)[1][1] = 0; + data.shape_hessian(k,1)[1][1] = 0; + data.shape_hessian(k,2)[1][1] = 0; + data.shape_hessian(k,3)[1][1] = 0; + data.shape_hessian(k,4)[1][1] = 0; + data.shape_hessian(k,5)[1][1] = 0; + data.shape_hessian(k,6)[1][1] = 0; + data.shape_hessian(k,7)[1][1] = 0; + data.shape_hessian(k,0)[2][2] = 0; + data.shape_hessian(k,1)[2][2] = 0; + data.shape_hessian(k,2)[2][2] = 0; + data.shape_hessian(k,3)[2][2] = 0; + data.shape_hessian(k,4)[2][2] = 0; + data.shape_hessian(k,5)[2][2] = 0; + data.shape_hessian(k,6)[2][2] = 0; + data.shape_hessian(k,7)[2][2] = 0; + + data.shape_hessian(k,0)[0][1] = (1.-z); + data.shape_hessian(k,1)[0][1] = -(1.-z); + data.shape_hessian(k,2)[0][1] = -(1.-z); + data.shape_hessian(k,3)[0][1] = (1.-z); + data.shape_hessian(k,4)[0][1] = z; + data.shape_hessian(k,5)[0][1] = -z; + data.shape_hessian(k,6)[0][1] = -z; + data.shape_hessian(k,7)[0][1] = z; + data.shape_hessian(k,0)[1][0] = (1.-z); + data.shape_hessian(k,1)[1][0] = -(1.-z); + data.shape_hessian(k,2)[1][0] = -(1.-z); + data.shape_hessian(k,3)[1][0] = (1.-z); + data.shape_hessian(k,4)[1][0] = z; + data.shape_hessian(k,5)[1][0] = -z; + data.shape_hessian(k,6)[1][0] = -z; + data.shape_hessian(k,7)[1][0] = z; + + data.shape_hessian(k,0)[0][2] = (1.-y); + data.shape_hessian(k,1)[0][2] = -(1.-y); + data.shape_hessian(k,2)[0][2] = y; + data.shape_hessian(k,3)[0][2] = -y; + data.shape_hessian(k,4)[0][2] = -(1.-y); + data.shape_hessian(k,5)[0][2] = (1.-y); + data.shape_hessian(k,6)[0][2] = -y; + data.shape_hessian(k,7)[0][2] = y; + data.shape_hessian(k,0)[2][0] = (1.-y); + data.shape_hessian(k,1)[2][0] = -(1.-y); + data.shape_hessian(k,2)[2][0] = y; + data.shape_hessian(k,3)[2][0] = -y; + data.shape_hessian(k,4)[2][0] = -(1.-y); + data.shape_hessian(k,5)[2][0] = (1.-y); + data.shape_hessian(k,6)[2][0] = -y; + data.shape_hessian(k,7)[2][0] = y; + + data.shape_hessian(k,0)[1][2] = (1.-x); + data.shape_hessian(k,1)[1][2] = x; + data.shape_hessian(k,2)[1][2] = -(1.-x); + data.shape_hessian(k,3)[1][2] = -x; + data.shape_hessian(k,4)[1][2] = -(1.-x); + data.shape_hessian(k,5)[1][2] = -x; + data.shape_hessian(k,6)[1][2] = (1.-x); + data.shape_hessian(k,7)[1][2] = x; + data.shape_hessian(k,0)[2][1] = (1.-x); + data.shape_hessian(k,1)[2][1] = x; + data.shape_hessian(k,2)[2][1] = -(1.-x); + data.shape_hessian(k,3)[2][1] = -x; + data.shape_hessian(k,4)[2][1] = -(1.-x); + data.shape_hessian(k,5)[2][1] = -x; + data.shape_hessian(k,6)[2][1] = (1.-x); + data.shape_hessian(k,7)[2][1] = x; } } } @@ -468,7 +469,7 @@ MappingQ1::compute_data (const UpdateFlags update_flags, data.shape_values.resize(data.n_shape_functions * n_q_points); if (flags & update_transformation_gradients) - data.shape_derivatives.resize(data.n_shape_functions * n_q_points); + data.shape_grads.resize(data.n_shape_functions * n_q_points); if (flags & update_covariant_transformation) data.covariant.resize(n_original_q_points); @@ -480,7 +481,7 @@ MappingQ1::compute_data (const UpdateFlags update_flags, data.volume_elements.resize(n_original_q_points); if (flags & update_jacobian_grads) - data.shape_second_derivatives.resize(data.n_shape_functions * n_q_points); + data.shape_hessians.resize(data.n_shape_functions * n_q_points); compute_shapes (q.get_points(), data); } @@ -637,7 +638,7 @@ MappingQ1::compute_fill (const typename Triangulation result = (shape[0] * data.mapping_support_points[0]); for (unsigned int k=1; k::compute_fill (const typename Triangulation * data_derv = - &data.derivative(point+data_set, 0); + &data.shape_grad(point+data_set, 0); double result [spacedim][dim]; @@ -870,7 +871,7 @@ MappingQ1::fill_fe_values ( for (unsigned int point=0; point * second = - &data.second_derivative(point+data_set, 0); + &data.shape_hessian(point+data_set, 0); double result [spacedim][dim][dim]; for (unsigned int i=0; i p_real; for (unsigned int i=0; i > &points=mdata.mapping_support_points; AssertDimension (points.size(), n_shapes); @@ -1713,7 +1714,7 @@ transform_real_to_unit_cell_internal Tensor<2,spacedim> df; for (unsigned int k=0; k &grad_transform=mdata.derivative(0,k); + const Tensor<1,dim> &grad_transform=mdata.shape_grad(0,k); const Point &point=points[k]; for (unsigned int i=0; i > &points=mdata.mapping_support_points; Assert(points.size()==n_shapes, ExcInternalError()); @@ -1849,8 +1850,8 @@ transform_real_to_unit_cell_internal_codim1 compute_shapes(std::vector > (1, p_unit), mdata); for (unsigned int k=0; k &grad_phi_k = mdata.derivative(0,k); - const Tensor<2,dim1> &hessian_k = mdata.second_derivative(0,k); + const Tensor<1,dim1> &grad_phi_k = mdata.shape_grad(0,k); + const Tensor<2,dim1> &hessian_k = mdata.shape_hessian(0,k); const Point &point_k = points[k]; for (unsigned int j=0; j > (1, p_unit), mdata); for (unsigned int k=0; k &grad_phi_k = mdata.derivative(0,k); - const Tensor<2,dim1> &hessian_k = mdata.second_derivative(0,k); + const Tensor<1,dim1> &grad_phi_k = mdata.shape_grad(0,k); + const Tensor<2,dim1> &hessian_k = mdata.shape_hessian(0,k); const Point &point_k = points[k]; for (unsigned int j=0; j