44 #ifndef CHARON_WORKSET_BUILDER_DECL_HPP 45 #define CHARON_WORKSET_BUILDER_DECL_HPP 52 #include "PanzerDiscFE_config.hpp" 62 struct WorksetDetails;
64 class BoundaryCondition;
68 template<
typename ArrayT>
71 const std::vector<std::size_t>& local_cell_ids,
72 const ArrayT& vertex_coordinates);
74 template<
typename ArrayT>
77 const std::string & elementBlock,
78 const std::vector<std::size_t>& local_cell_ids,
79 const ArrayT& vertex_coordinates);
81 template<
typename ArrayT>
84 const std::vector<std::size_t>& local_cell_ids,
85 const std::vector<std::size_t>& local_side_ids,
86 const ArrayT& vertex_coordinates);
88 template<
typename ArrayT>
91 const std::string & elementBlock,
92 const std::vector<std::size_t>& local_cell_ids,
93 const std::vector<std::size_t>& local_side_ids,
94 const ArrayT& vertex_coordinates,
95 const bool populate_value_arrays =
true);
103 template<
typename ArrayT>
106 const std::vector<std::size_t>& local_cell_ids_a,
107 const std::vector<std::size_t>& local_side_ids_a,
108 const ArrayT& vertex_coordinates_a,
109 const PhysicsBlock & pb_b,
110 const std::vector<std::size_t>& local_cell_ids_b,
111 const std::vector<std::size_t>& local_side_ids_b,
112 const ArrayT& vertex_coordinates_b);
114 template<
typename ArrayT>
117 const std::string & eblock_a,
118 const std::vector<std::size_t>& local_cell_ids_a,
119 const std::vector<std::size_t>& local_side_ids_a,
120 const ArrayT& vertex_coordinates_a,
121 const WorksetNeeds & needs_b,
122 const std::string & eblock_b,
123 const std::vector<std::size_t>& local_cell_ids_b,
124 const std::vector<std::size_t>& local_side_ids_b,
125 const ArrayT& vertex_coordinates_b);
127 template<
typename ArrayT>
128 std::vector<Workset>::iterator
130 const PhysicsBlock & pb_a,
131 const std::vector<std::size_t>& local_cell_ids_a,
132 const std::vector<std::size_t>& local_side_ids_a,
133 const ArrayT& vertex_coordinates_a,
134 const PhysicsBlock & pb_b,
135 const std::vector<std::size_t>& local_cell_ids_b,
136 const std::vector<std::size_t>& local_side_ids_b,
137 const ArrayT& vertex_coordinates_b,
138 std::vector<Workset>::iterator beg);
140 template<
typename ArrayT>
141 std::vector<Workset>::iterator
143 const WorksetNeeds & needs_a,
144 const std::string & eblock_a,
145 const std::vector<std::size_t>& local_cell_ids_a,
146 const std::vector<std::size_t>& local_side_ids_a,
147 const ArrayT& vertex_coordinates_a,
148 const WorksetNeeds & needs_b,
149 const std::string & eblock_b,
150 const std::vector<std::size_t>& local_cell_ids_b,
151 const std::vector<std::size_t>& local_side_ids_b,
152 const ArrayT& vertex_coordinates_b,
153 std::vector<Workset>::iterator beg);
155 template<
typename ArrayT>
158 const std::vector<std::size_t>& local_cell_ids_a,
159 const std::vector<std::size_t>& local_side_ids_a,
160 const ArrayT& vertex_coordinates_a,
162 const std::vector<std::size_t>& local_cell_ids_b,
163 const std::vector<std::size_t>& local_side_ids_b,
164 const ArrayT& vertex_coordinates_b);
184 const PhysicsBlock & pb,
189 const WorksetNeeds & pb,
Teuchos::RCP< std::map< unsigned, Workset > > buildBCWorkset(const PhysicsBlock &volume_pb, const std::vector< std::size_t > &local_cell_ids, const std::vector< std::size_t > &local_side_ids, const ArrayT &vertex_coordinates)
Object that contains information on the physics and discretization of a block of elements with the SA...
Teuchos::RCP< std::vector< Workset > > buildEdgeWorksets(const PhysicsBlock &pb_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 PhysicsBlock &pb_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 PhysicsBlock &pb, const std::vector< std::size_t > &local_cell_ids, const ArrayT &vertex_coordinates)
void populateValueArrays(std::size_t num_cells, bool isSide, const WorksetNeeds &needs, WorksetDetails &details, const Teuchos::RCP< WorksetDetails > other_details)