11 #ifndef __Panzer_Workset_Builder_hpp__
12 #define __Panzer_Workset_Builder_hpp__
19 #include "PanzerDiscFE_config.hpp"
27 template<
typename ArrayT>
30 const std::string & elementBlock,
31 const std::vector<std::size_t>& local_cell_ids,
32 const ArrayT& node_coordinates);
34 template<
typename ArrayT>
37 const std::string & elementBlock,
38 const std::vector<std::size_t>& local_cell_ids,
39 const std::vector<std::size_t>& local_side_ids,
40 const ArrayT& node_coordinates,
41 const bool populate_value_arrays =
true);
43 template<
typename ArrayT>
46 const std::string & blockid_a,
47 const std::vector<std::size_t>& local_cell_ids_a,
48 const std::vector<std::size_t>& local_side_ids_a,
49 const ArrayT& node_coordinates_a,
51 const std::string & blockid_b,
52 const std::vector<std::size_t>& local_cell_ids_b,
53 const std::vector<std::size_t>& local_side_ids_b,
54 const ArrayT& node_coordinates_b);
62 template<
typename ArrayT>
65 const std::string & eblock_a,
66 const std::vector<std::size_t>& local_cell_ids_a,
67 const std::vector<std::size_t>& local_side_ids_a,
68 const ArrayT& node_coordinates_a,
69 const WorksetNeeds & needs_b,
70 const std::string & eblock_b,
71 const std::vector<std::size_t>& local_cell_ids_b,
72 const std::vector<std::size_t>& local_side_ids_b,
73 const ArrayT& node_coordinates_b);
75 template<
typename ArrayT>
76 std::vector<Workset>::iterator
78 const WorksetNeeds & needs_a,
79 const std::string & eblock_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& node_coordinates_a,
83 const WorksetNeeds & needs_b,
84 const std::string & eblock_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& node_coordinates_b,
88 std::vector<Workset>::iterator beg);
108 const WorksetNeeds & pb,
109 WorksetDetails & details,
Teuchos::RCP< std::vector< Workset > > buildWorksets(const WorksetNeeds &needs, const std::string &elementBlock, const std::vector< std::size_t > &local_cell_ids, const ArrayT &node_coordinates)
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 &node_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 &node_coordinates_b)
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 &node_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)