From e489559d755f728017baac88e9ff5947eec35dde Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Tue, 15 Sep 2015 01:28:06 -0500 Subject: [PATCH] Do not use "contract" in the library. --- include/deal.II/base/tensor.h | 2 +- source/fe/mapping_fe_field.cc | 3 +-- source/fe/mapping_q1.cc | 11 +++-------- source/numerics/derivative_approximation.cc | 2 +- 4 files changed, 6 insertions(+), 12 deletions(-) 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); -- 2.39.5