1657   LOG_SCOPE (
"project_vertices",
"GenericProjector");
 
 1663   std::vector<unsigned short> extra_hanging_dofs;
 
 1666       if (extra_hanging_dofs.size() <= v_num)
 
 1667         extra_hanging_dofs.resize(v_num+1, 
false);
 
 1668       extra_hanging_dofs[v_num] =
 
 1672   for (
const auto & v_pair : range)
 
 1674       const Node & vertex = *v_pair.first;
 
 1675       const Elem & elem = *std::get<0>(v_pair.second);
 
 1676       const unsigned int n = std::get<1>(v_pair.second);
 
 1677       const var_set & vertex_vars = std::get<2>(v_pair.second);
 
 1685       for (
const auto & var : vertex_vars)
 
 1688           const FEType & base_fe_type = variable.
type();
 
 1689           const unsigned int var_component =
 
 1692           if (base_fe_type.family == 
SCALAR)
 
 1698               libmesh_assert_equal_to(vertex.n_comp(sys_num, var), 0);
 
 1703               const dof_id_type id = vertex.dof_number(sys_num, var, 0);
 
 1705               const FValue val = 
f.eval_at_node
 
 1707                  vertex, extra_hanging_dofs[var], 
system.
time);
 
 1708               insert_id(
id, val, vertex.processor_id());
 
 1710           else if (cont == 
C_ONE)
 
 1713               const dof_id_type first_id = vertex.dof_number(sys_num, var, 0);
 
 1720               const int dim = elem.dim();
 
 1730                   libmesh_assert_equal_to(
dim, e.dim());
 
 1733 #ifdef LIBMESH_ENABLE_AMR 
 1734               bool is_parent_vertex = 
false;
 
 1737                   const int i_am_child =
 
 1740                     elem.parent()->is_vertex_on_parent(i_am_child, n);
 
 1743               const bool is_parent_vertex = 
false;
 
 1747               if (base_fe_type.family == 
HERMITE)
 
 1754                                    extra_hanging_dofs[var],
 
 1756                   insert_id(first_id, val, vertex.processor_id());
 
 1758                   VectorValue<FValue> grad =
 
 1764                                     extra_hanging_dofs[var],
 
 1772                             vertex.processor_id());
 
 1779                       Point nxminus = elem.point(n),
 
 1780                             nxplus = elem.point(n);
 
 1781                       nxminus(0) -= delta_x;
 
 1782                       nxplus(0) += delta_x;
 
 1783                       VectorValue<FValue> gxminus =
 
 1788                       VectorValue<FValue> gxplus =
 
 1795                                 vertex.processor_id());
 
 1798                         (gxplus(1) - gxminus(1)) / 2. / delta_x,
 
 1799                         vertex.processor_id());
 
 1806                                     vertex.processor_id());
 
 1809                             (gxplus(2) - gxminus(2)) / 2. / delta_x,
 
 1810                             vertex.processor_id());
 
 1813                           Point nyminus = elem.point(n),
 
 1814                             nyplus = elem.point(n);
 
 1815                           nyminus(1) -= delta_x;
 
 1816                           nyplus(1) += delta_x;
 
 1817                           VectorValue<FValue> gyminus =
 
 1822                           VectorValue<FValue> gyplus =
 
 1829                             (gyplus(2) - gyminus(2)) / 2. / delta_x,
 
 1830                             vertex.processor_id());
 
 1832                           Point nxmym = elem.point(n),
 
 1833                             nxmyp = elem.point(n),
 
 1834                             nxpym = elem.point(n),
 
 1835                             nxpyp = elem.point(n);
 
 1836                           nxmym(0) -= delta_x;
 
 1837                           nxmym(1) -= delta_x;
 
 1838                           nxmyp(0) -= delta_x;
 
 1839                           nxmyp(1) += delta_x;
 
 1840                           nxpym(0) += delta_x;
 
 1841                           nxpym(1) -= delta_x;
 
 1842                           nxpyp(0) += delta_x;
 
 1843                           nxpyp(1) += delta_x;
 
 1844                           VectorValue<FValue> gxmym =
 
 1849                           VectorValue<FValue> gxmyp =
 
 1854                           VectorValue<FValue> gxpym =
 
 1859                           VectorValue<FValue> gxpyp =
 
 1864                           FValue gxzplus = (gxpyp(2) - gxmyp(2))
 
 1866                           FValue gxzminus = (gxpym(2) - gxmym(2))
 
 1870                             (gxzplus - gxzminus) / 2. / delta_x,
 
 1871                             vertex.processor_id());
 
 1873 #endif // LIBMESH_DIM > 2 
 1875 #endif // LIBMESH_DIM > 1 
 1882                   libmesh_assert_equal_to
 
 1884                       (
dim, base_fe_type, elem.type(),
 
 1885                        elem.get_node_index(&vertex)),
 
 1886                     (
unsigned int)(1 + 
dim));
 
 1889                                    vertex, extra_hanging_dofs[var],
 
 1891                   insert_id(first_id, val, vertex.processor_id());
 
 1892                   VectorValue<FValue> grad =
 
 1895                                     vertex, extra_hanging_dofs[var],
 
 1897                     g->eval_at_point(
context, var_component, vertex,
 
 1899                   for (
int i=0; i!= 
dim; ++i)
 
 1901                               vertex.processor_id());
 
 1905             libmesh_error_msg(
"Unknown continuity " << cont);