From 3e0d1cb125d09f96e72d56821183a3461e3d263c Mon Sep 17 00:00:00 2001 From: wolf Date: Tue, 3 Sep 2002 15:31:27 +0000 Subject: [PATCH] Implement generation of gradients of Nedelec elements. git-svn-id: https://svn.dealii.org/trunk@6351 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/fe/fe_nedelec.cc | 70 ++++++++++++++++++++----- 1 file changed, 58 insertions(+), 12 deletions(-) diff --git a/deal.II/deal.II/source/fe/fe_nedelec.cc b/deal.II/deal.II/source/fe/fe_nedelec.cc index 77ab9f3cf9..581758cb4b 100644 --- a/deal.II/deal.II/source/fe/fe_nedelec.cc +++ b/deal.II/deal.II/source/fe/fe_nedelec.cc @@ -715,10 +715,10 @@ FE_Nedelec::fill_fe_values (const Mapping &mapping, // values... Assert (fe_data.shape_values[k].size() == n_q_points, ExcInternalError()); - mapping.transform_contravariant(&*shape_values.begin(), - &*shape_values.end(), - fe_data.shape_values[k].begin(), - mapping_data); + mapping.transform_covariant(&*shape_values.begin(), + &*shape_values.end(), + fe_data.shape_values[k].begin(), + mapping_data); // then copy over to target: for (unsigned int q=0; q::fill_fe_values (const Mapping &mapping, if (flags & update_gradients) { + std::vector > shape_grads1 (n_q_points); + std::vector > shape_grads2 (n_q_points); + + Assert (data.shape_values.n_rows() == dofs_per_cell * dim, + ExcInternalError()); + Assert (data.shape_values.n_cols() == n_q_points, + ExcInternalError()); + + // loop over all shape + // functions, and treat the + // gradients of each shape + // function at all quadrature + // points for (unsigned int k=0; k