From: Jaeryun Yim Date: Thu, 28 Jan 2016 18:54:43 +0000 (+0900) Subject: Add Hessian things for P1 nonconforming nonparametric element. X-Git-Tag: v8.5.0-rc1~624^2~33 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=087ff930afb4059c8aedf5c41a745700ff919bd2;p=dealii.git Add Hessian things for P1 nonconforming nonparametric element. --- diff --git a/source/fe/fe_p1nc.cc b/source/fe/fe_p1nc.cc index d22c29d516..4740152fca 100644 --- a/source/fe/fe_p1nc.cc +++ b/source/fe/fe_p1nc.cc @@ -572,6 +572,23 @@ FE_P1NCNonparametric::fill_fe_values (const Triangulation<2,2>::cell_iterator } + // hessian + std::vector > hessians(flags & update_hessians ? this->dofs_per_cell : 0); + if (flags & update_hessians) + { + for (unsigned int i=0; idofs_per_cell; ++k) + { + hessians[k][0][0] = 0.0 ; + hessians[k][0][1] = 0.0 ; + hessians[k][1][0] = 0.0 ; + hessians[k][1][1] = 0.0 ; + output_data.shape_hessians[k][i] = hessians[k]; + } + } + } + // When this function is called for the graphic out, // MappingRelatedData does not work properly. // In this case, the quadrature points on the real cell is computed in manual sense, using 'mapping' and 'quadrature'. @@ -874,7 +891,9 @@ UpdateFlags FE_P1NCNonparametric::requires_update_flags (const UpdateFlags f out |= update_gradients ; if (flags & update_cell_normal_vectors) out |= update_cell_normal_vectors | update_JxW_values; - + if (flags & update_hessians) + out |= update_hessians; + return out; }