44 #ifndef __Panzer_Workset_Builder_hpp__ 
   45 #define __Panzer_Workset_Builder_hpp__ 
   52 #include "PanzerDiscFE_config.hpp" 
   60   template<
typename ArrayT>
 
   63                 const std::string & elementBlock,
 
   64                 const std::vector<std::size_t>& local_cell_ids,
 
   65                 const ArrayT& vertex_coordinates);
 
   67   template<
typename ArrayT>
 
   70                  const std::string & elementBlock,
 
   71                  const std::vector<std::size_t>& local_cell_ids,
 
   72                  const std::vector<std::size_t>& local_side_ids,
 
   73                  const ArrayT& vertex_coordinates,
 
   74                  const bool populate_value_arrays = 
true);
 
   76   template<
typename ArrayT>
 
   79                  const std::string & blockid_a,
 
   80                  const std::vector<std::size_t>& local_cell_ids_a,
 
   81                  const std::vector<std::size_t>& local_side_ids_a,
 
   82                  const ArrayT& vertex_coordinates_a,
 
   84                  const std::string & blockid_b,
 
   85                  const std::vector<std::size_t>& local_cell_ids_b,
 
   86                  const std::vector<std::size_t>& local_side_ids_b,
 
   87                  const ArrayT& vertex_coordinates_b);
 
   95   template<
typename ArrayT>
 
   98                    const std::string & eblock_a,
 
   99                     const std::vector<std::size_t>& local_cell_ids_a,
 
  100                    const std::vector<std::size_t>& local_side_ids_a,
 
  101                    const ArrayT& vertex_coordinates_a,
 
  102                    const WorksetNeeds & needs_b,
 
  103                    const std::string & eblock_b,
 
  104                    const std::vector<std::size_t>& local_cell_ids_b,
 
  105                    const std::vector<std::size_t>& local_side_ids_b,
 
  106                    const ArrayT& vertex_coordinates_b);
 
  108   template<
typename ArrayT>
 
  109   std::vector<Workset>::iterator
 
  111                     const WorksetNeeds & needs_a,
 
  112                     const std::string & eblock_a,
 
  113                     const std::vector<std::size_t>& local_cell_ids_a,
 
  114                     const std::vector<std::size_t>& local_side_ids_a,
 
  115                     const ArrayT& vertex_coordinates_a,
 
  116                     const WorksetNeeds & needs_b,
 
  117                     const std::string & eblock_b,
 
  118                     const std::vector<std::size_t>& local_cell_ids_b,
 
  119                     const std::vector<std::size_t>& local_side_ids_b,
 
  120                     const ArrayT& vertex_coordinates_b,
 
  121                     std::vector<Workset>::iterator beg);
 
  141                            const WorksetNeeds & pb,
 
  142                            WorksetDetails & details,
 
Teuchos::RCP< std::vector< Workset > > buildEdgeWorksets(const WorksetNeeds &needs_a, const std::string &eblock_a, const std::vector< std::size_t > &local_cell_ids_a, const std::vector< std::size_t > &local_side_ids_a, const ArrayT &vertex_coordinates_a, const WorksetNeeds &needs_b, const std::string &eblock_b, const std::vector< std::size_t > &local_cell_ids_b, const std::vector< std::size_t > &local_side_ids_b, const ArrayT &vertex_coordinates_b)
 
Teuchos::RCP< std::vector< Workset > > buildWorksets(const WorksetNeeds &needs, const std::string &elementBlock, const std::vector< std::size_t > &local_cell_ids, const ArrayT &vertex_coordinates)
 
Teuchos::RCP< std::map< unsigned, Workset > > buildBCWorkset(const WorksetNeeds &needs, const std::string &elementBlock, const std::vector< std::size_t > &local_cell_ids, const std::vector< std::size_t > &local_side_ids, const ArrayT &vertex_coordinates, const bool populate_value_arrays=true)
 
void populateValueArrays(std::size_t num_cells, bool isSide, const WorksetNeeds &needs, WorksetDetails &details, const Teuchos::RCP< WorksetDetails > other_details)