void IntegrationValues2<Scalar>::
  getCubature(const PHX::MDField<Scalar,Cell,NODE,Dim>& in_node_coordinates)
  {
    int num_space_dim = int_rule->topology->getDimension();
    if (int_rule->isSide() && num_space_dim==1) {
       std::cout << "WARNING: 0-D quadrature rule ifrastructure does not exist!!! Will not be able to do "
                 << "non-natural integration rules.";
       return; 
    }
    
    Intrepid2::CellTools<PHX::Device::execution_space> cell_tools;
    
    if (!int_rule->isSide())
      intrepid_cubature->getCubature(dyn_cub_points.get_view(), dyn_cub_weights.get_view());
    else {
      intrepid_cubature->getCubature(dyn_side_cub_points.get_view(), dyn_cub_weights.get_view());
      
      cell_tools.mapToReferenceSubcell(dyn_cub_points.get_view(), 
                                       dyn_side_cub_points.get_view(),
                                       int_rule->spatial_dimension-1,
                                       int_rule->side, 
                                       *(int_rule->topology));
    }

    // IP coordinates
    cell_tools.mapToPhysicalFrame(ip_coordinates.get_view(),
                                  dyn_cub_points.get_view(),
                                  in_node_coordinates.get_view(),
                                  *(int_rule->topology));
  }