]> https://gitweb.dealii.org/ - dealii.git/commitdiff
One trivial case where CellSimilarity can even be used for MappingQ (when degree...
authorMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Tue, 26 May 2009 10:10:02 +0000 (10:10 +0000)
committerMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Tue, 26 May 2009 10:10:02 +0000 (10:10 +0000)
git-svn-id: https://svn.dealii.org/trunk@18876 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/fe/mapping_q.cc
deal.II/deal.II/source/fe/mapping_q1.cc

index 0cb43f683ab73dc398b0fe8f22a2b83ab680340e..6aea6118d9e4c22dbbed8edd6d42301d019a6f0d 100644 (file)
@@ -351,7 +351,8 @@ MappingQ<dim,spacedim>::fill_fe_values (
   else
     {
       p_data=&data;
-      cell_similarity = CellSimilarity::invalid_next_cell;
+      if (get_degree() > 1)
+       cell_similarity = CellSimilarity::invalid_next_cell;
     }
   
   MappingQ1<dim,spacedim>::fill_fe_values(cell, q, *p_data,
index 9309dca69f30cafe8c9339b9a6e1960af1dc35ea..b2f07faa873d83bc11473f4d3b90f25f3f843855 100644 (file)
@@ -718,7 +718,6 @@ MappingQ1<dim,spacedim>::compute_fill (const typename Triangulation<dim,spacedim
     if (cell_similarity != CellSimilarity::translation)
       for (unsigned int point=0; point<n_q_points; ++point)
        data.volume_elements[point] = determinant(data.contravariant[point]);
-  
 }
 
 
@@ -777,6 +776,7 @@ MappingQ1<dim,spacedim>::fill_fe_values (
       Assert( !(update_flags & update_cell_normal_vectors ) ||
              (cell_normal_vectors.size() == n_q_points),
             ExcDimensionMismatch(cell_normal_vectors.size(), n_q_points));
+
       if (cell_similarity != CellSimilarity::translation)
        for (unsigned int point=0; point<n_q_points; ++point)
          { 
@@ -826,9 +826,8 @@ MappingQ1<dim,spacedim>::fill_fe_values (
       Assert (jacobians.size() == n_q_points,
              ExcDimensionMismatch(jacobians.size(), n_q_points));
       if (cell_similarity != CellSimilarity::translation)
-      for (unsigned int point=0; point<n_q_points; ++point)
-       jacobians[point]
-         = data.contravariant[point];
+       for (unsigned int point=0; point<n_q_points; ++point)
+         jacobians[point] = data.contravariant[point];
     }
                                   // calculate values of the derivatives of the
                                   // Jacobians. do it here, since we only do it
@@ -863,8 +862,7 @@ MappingQ1<dim,spacedim>::fill_fe_values (
              ExcDimensionMismatch(inverse_jacobians.size(), n_q_points));
       if (cell_similarity != CellSimilarity::translation)
        for (unsigned int point=0; point<n_q_points; ++point)
-         inverse_jacobians[point]
-           = transpose(data.covariant[point]);
+         inverse_jacobians[point] = transpose(data.covariant[point]);
     }
 }
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.