From 57552ca57104d5329e4e5b91274373e0467543dd Mon Sep 17 00:00:00 2001 From: David Wells <wellsd2@rpi.edu> Date: Sun, 18 Jun 2017 20:23:23 -0400 Subject: [PATCH] Use GeometryInfo<dim>::d_linear_shape_function in two places. --- source/grid/tria_accessor.cc | 6 +----- source/grid/tria_boundary.cc | 8 +++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/source/grid/tria_accessor.cc b/source/grid/tria_accessor.cc index e23ed92602..5ec673b029 100644 --- a/source/grid/tria_accessor.cc +++ b/source/grid/tria_accessor.cc @@ -1205,10 +1205,6 @@ template <int structdim, int dim, int spacedim> Point<spacedim> TriaAccessor<structdim, dim, spacedim>::intermediate_point (const Point<structdim> &coordinates) const { - // We use an FE_Q<structdim>(1) to extract the "weights" of each - // vertex, used to get a point from the manifold. - static FE_Q<structdim> fe(1); - // Surrounding points and weights. std::vector<Point<spacedim> > p(GeometryInfo<structdim>::vertices_per_cell); std::vector<double> w(GeometryInfo<structdim>::vertices_per_cell); @@ -1216,7 +1212,7 @@ TriaAccessor<structdim, dim, spacedim>::intermediate_point (const Point<structdi for (unsigned int i=0; i<GeometryInfo<structdim>::vertices_per_cell; ++i) { p[i] = this->vertex(i); - w[i] = fe.shape_value(i, coordinates); + w[i] = GeometryInfo<structdim>::d_linear_shape_function(coordinates, i); } return this->get_manifold().get_new_point(p, w); diff --git a/source/grid/tria_boundary.cc b/source/grid/tria_boundary.cc index 5daf316f90..d4c169a858 100644 --- a/source/grid/tria_boundary.cc +++ b/source/grid/tria_boundary.cc @@ -537,8 +537,6 @@ normal_vector (const typename Triangulation<dim,spacedim>::face_iterator &face, for (unsigned int i=0; i<facedim; ++i) xi[i] = 1./2; - FE_Q<facedim> linear_fe(1); - const double eps = 1e-12; Tensor<1,spacedim> grad_F[facedim]; unsigned int iteration = 0; @@ -546,13 +544,14 @@ normal_vector (const typename Triangulation<dim,spacedim>::face_iterator &face, { Point<spacedim> F; for (unsigned int v=0; v<GeometryInfo<facedim>::vertices_per_cell; ++v) - F += face->vertex(v) * linear_fe.shape_value(v, xi); + F += face->vertex(v) * GeometryInfo<facedim>::d_linear_shape_function(xi, v); for (unsigned int i=0; i<facedim; ++i) { grad_F[i] = 0; for (unsigned int v=0; v<GeometryInfo<facedim>::vertices_per_cell; ++v) - grad_F[i] += face->vertex(v) * linear_fe.shape_grad(v, xi)[i]; + grad_F[i] += face->vertex(v) * + GeometryInfo<facedim>::d_linear_shape_function_gradient(xi, v)[i]; } Tensor<1,facedim> J; @@ -879,4 +878,3 @@ project_to_surface (const typename Triangulation<dim, spacedim>::hex_iterator &, #include "tria_boundary.inst" DEAL_II_NAMESPACE_CLOSE - -- 2.39.5