]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Do not use "contract" in the library.
authorMatthias Maier <tamiko@43-1.org>
Tue, 15 Sep 2015 06:28:06 +0000 (01:28 -0500)
committerMatthias Maier <tamiko@43-1.org>
Tue, 15 Sep 2015 22:19:06 +0000 (17:19 -0500)
include/deal.II/base/tensor.h
source/fe/mapping_fe_field.cc
source/fe/mapping_q1.cc
source/numerics/derivative_approximation.cc

index cc53f565c8d6a63597db54ab6b75bc24bcbca5ef..d452c5cd1c4ba5ef4e0dc617ebf6197f50d016de 100644 (file)
@@ -1551,7 +1551,7 @@ Number double_contract (const Tensor<2, dim, Number> &src1,
 {
   Number res = 0.;
   for (unsigned int i=0; i<dim; ++i)
-    res += contract(src1[i],src2[i]);
+    res += src1[i] * src2[i];
 
   return res;
 }
index fcb2eb26af840ec308f9dc873931b8fe6bb78b11..15deaa1aa79b1e8a9a9b2ba7ddff444797f86e63 100644 (file)
@@ -1785,8 +1785,7 @@ transform_real_to_unit_cell_internal
             df[j][l] = -DF[j] * DF[l];
         }
       // Solve  [f'(x)]d=f(x)
-      Tensor<1, dim> delta;
-      contract (delta, invert(df), static_cast<const Tensor<1,dim>&>(f));
+      Tensor<1, dim> delta = invert(df) * static_cast<const Tensor<1,dim>&>(f);
       // do a line search
       double step_length = 1;
       do
index e3671b7a6889d00c8fe7083b2d91fc6e2d6f0d59..4e6e0a69fc6e6f611a22e7347a9850da390162fa 100644 (file)
@@ -606,9 +606,9 @@ transform_real_to_unit_cell_internal
         }
 
       // Solve  [f'(x)]d=f(x)
-      Tensor<1,spacedim> delta;
       Tensor<2,spacedim> df_inverse = invert(df);
-      contract (delta, df_inverse, static_cast<const Tensor<1,spacedim>&>(f));
+      Tensor<1, spacedim> delta =
+          df_inverse * static_cast<const Tensor<1, spacedim> &>(f);
 
 #ifdef DEBUG_TRANSFORM_REAL_TO_UNIT_CELL
       std::cout << "   delta=" << delta  << std::endl;
@@ -809,12 +809,7 @@ transform_real_to_unit_cell_internal_codim1
   while (f.norm()>eps && loop++<loop_limit)
     {
       // Solve  [df(x)]d=f(x)
-      Tensor<1,dim1> d;
-      Tensor<2,dim1> df_1;
-
-      df_1 = invert(df);
-      contract (d, df_1, static_cast<const Tensor<1,dim1>&>(f));
-      p_unit -= d;
+      p_unit -= invert(df) * static_cast<const Tensor<1,dim1>&>(f);
 
       for (unsigned int j=0; j<dim1; ++j)
         {
index d9a7867ef715a8c279ef44be079c652549cb11aa..c954de82c7c8c687a221f755fe0d36141aa62784 100644 (file)
@@ -909,7 +909,7 @@ namespace DerivativeApproximation
       // compute Y^-1 g
       const Tensor<2,dim> Y_inverse = invert(Y);
 
-      contract (derivative, Y_inverse, projected_derivative);
+      derivative = Y_inverse * projected_derivative;
 
       // finally symmetrize the derivative
       DerivativeDescription::symmetrize (derivative);

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.