]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add 3d support.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 22 Nov 1999 08:54:43 +0000 (08:54 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 22 Nov 1999 08:54:43 +0000 (08:54 +0000)
git-svn-id: https://svn.dealii.org/trunk@1921 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/fe/fe_system.cc

index 82bb713624baca63e4a2b086930b26747ae060bf..8feb2d7b4de9a2ea4bd1169086467b12374946de 100644 (file)
@@ -514,6 +514,67 @@ FESystem<2>::multiply_dof_numbers (const FiniteElementData<2> &fe1,
 #endif
 
 
+#if deal_II_dimension == 3
+
+template <>
+FiniteElementData<3>
+FESystem<3>::multiply_dof_numbers (const FiniteElementData<3> &fe_data,
+                                  const unsigned int          N)
+{
+  return FiniteElementData<3> (fe_data.dofs_per_vertex * N,
+                              fe_data.dofs_per_line * N,
+                              fe_data.dofs_per_quad * N,
+                              fe_data.dofs_per_hex * N,
+                              fe_data.n_transform_functions,
+                              fe_data.n_components * N);
+};
+
+template <>
+FiniteElementData<3>
+FESystem<3>::multiply_dof_numbers (const FiniteElementData<3> &fe1,
+                                  const unsigned int          N1,
+                                  const FiniteElementData<3> &fe2,
+                                  const unsigned int          N2)
+{
+  return FiniteElementData<3> (fe1.dofs_per_vertex * N1 + fe2.dofs_per_vertex * N2 ,
+                              fe1.dofs_per_line * N1 + fe2.dofs_per_line * N2 ,
+                              fe1.dofs_per_quad * N1 + fe2.dofs_per_quad * N2 ,
+                              fe1.dofs_per_hex * N1 + fe2.dofs_per_hex * N2 ,
+                              fe1.n_transform_functions,
+                              fe1.n_components * N1 + fe2.n_components * N2 );
+};
+
+
+template <>
+FiniteElementData<3>
+FESystem<3>::multiply_dof_numbers (const FiniteElementData<3> &fe1,
+                                  const unsigned int          N1,
+                                  const FiniteElementData<3> &fe2,
+                                  const unsigned int          N2,
+                                  const FiniteElementData<3> &fe3,
+                                  const unsigned int          N3)
+{
+  return FiniteElementData<3> (fe1.dofs_per_vertex * N1
+                              + fe2.dofs_per_vertex * N2
+                              + fe3.dofs_per_vertex * N3 ,
+                              fe1.dofs_per_line * N1
+                              + fe2.dofs_per_line * N2
+                              + fe3.dofs_per_line * N3 ,
+                              fe1.dofs_per_quad * N1
+                              + fe2.dofs_per_quad * N2
+                              + fe3.dofs_per_quad * N3 ,
+                              fe1.dofs_per_hex * N1
+                              + fe2.dofs_per_hex * N2
+                              + fe3.dofs_per_hex * N3 ,
+                              fe1.n_transform_functions,
+                              fe1.n_components * N1
+                              + fe2.n_components * N2
+                              + fe3.n_components * N3 );
+};
+
+#endif
+
+
 template <int dim>
 vector<bool>
 FESystem<dim>::compute_restriction_is_additive_flags (const FiniteElement<dim> &fe,

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.