From: Matthias Maier Date: Tue, 15 Sep 2015 06:28:06 +0000 (-0500) Subject: Do not use "contract" in the library. X-Git-Tag: v8.4.0-rc2~411^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e489559d755f728017baac88e9ff5947eec35dde;p=dealii.git Do not use "contract" in the library. --- diff --git a/include/deal.II/base/tensor.h b/include/deal.II/base/tensor.h index cc53f565c8..d452c5cd1c 100644 --- a/include/deal.II/base/tensor.h +++ b/include/deal.II/base/tensor.h @@ -1551,7 +1551,7 @@ Number double_contract (const Tensor<2, dim, Number> &src1, { Number res = 0.; for (unsigned int i=0; i delta; - contract (delta, invert(df), static_cast&>(f)); + Tensor<1, dim> delta = invert(df) * static_cast&>(f); // do a line search double step_length = 1; do diff --git a/source/fe/mapping_q1.cc b/source/fe/mapping_q1.cc index e3671b7a68..4e6e0a69fc 100644 --- a/source/fe/mapping_q1.cc +++ b/source/fe/mapping_q1.cc @@ -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&>(f)); + Tensor<1, spacedim> delta = + df_inverse * static_cast &>(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++ d; - Tensor<2,dim1> df_1; - - df_1 = invert(df); - contract (d, df_1, static_cast&>(f)); - p_unit -= d; + p_unit -= invert(df) * static_cast&>(f); for (unsigned int j=0; j Y_inverse = invert(Y); - contract (derivative, Y_inverse, projected_derivative); + derivative = Y_inverse * projected_derivative; // finally symmetrize the derivative DerivativeDescription::symmetrize (derivative);