]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
throw exception if Cartesian mapping is required, but other mapping is used
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 31 May 2005 16:36:48 +0000 (16:36 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 31 May 2005 16:36:48 +0000 (16:36 +0000)
git-svn-id: https://svn.dealii.org/trunk@10794 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/fe/fe_poly_tensor.cc

index b67fe6d26a10ea4af7e0fb01ef029a5ecee0c7f5..52ece16f5d4110d3b4022b032e778cab8843b35d 100644 (file)
@@ -16,6 +16,7 @@
 #include <base/polynomials_raviart_thomas.h>
 #include <fe/fe_poly_tensor.h>
 #include <fe/fe_values.h>
+#include <fe/mapping_cartesian.h>
 
 #include <base/logstream.h>
 
@@ -269,13 +270,15 @@ FE_PolyTensor<POLY,dim>::fill_fe_values (
                                   // possible
   InternalData &fe_data = dynamic_cast<InternalData &> (fedata);
 
+  Assert(mapping_type == independent
+        || ( mapping_type == independent_on_cartesian
+             && dynamic_cast<const MappingCartesian<dim>*>(&mapping) != 0),
+        ExcNotImplemented());
+
   const unsigned int n_dofs = this->dofs_per_cell;
   const unsigned int n_quad = quadrature.n_quadrature_points;
   const UpdateFlags flags(fe_data.current_update_flags());
   
-  Assert(mapping_type == independent || mapping_type == independent_on_cartesian,
-        ExcNotImplemented());
-  
   Assert(!(flags & update_values) || fe_data.shape_values.size() == n_dofs,
         ExcDimensionMismatch(fe_data.shape_values.size(), n_dofs));
   Assert(!(flags & update_values) || fe_data.shape_values[0].size() == n_quad,
@@ -340,7 +343,9 @@ FE_PolyTensor<POLY,dim>::fill_fe_face_values (
   
   const UpdateFlags flags(fe_data.update_once | fe_data.update_each);
 
-  Assert(mapping_type == independent || mapping_type == independent_on_cartesian,
+  Assert(mapping_type == independent
+        || ( mapping_type == independent_on_cartesian
+             && dynamic_cast<const MappingCartesian<dim>*>(&mapping) != 0),
         ExcNotImplemented());
 //TODO: Size assertions
   
@@ -401,7 +406,9 @@ FE_PolyTensor<POLY,dim>::fill_fe_subface_values (
 
   const UpdateFlags flags(fe_data.update_once | fe_data.update_each);
 
-  Assert(mapping_type == independent || mapping_type == independent_on_cartesian,
+  Assert(mapping_type == independent
+        || ( mapping_type == independent_on_cartesian
+             && dynamic_cast<const MappingCartesian<dim>*>(&mapping) != 0),
         ExcNotImplemented());
 //TODO: Size assertions
   

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.