15#ifndef dealii_meshworker_copy_data_h
16#define dealii_meshworker_copy_data_h
50 template <
int n_matrices = 1,
51 int n_vectors = n_matrices,
52 int n_dof_indices = n_matrices,
130 std::array<FullMatrix<ScalarType>, n_matrices>
matrices;
135 std::array<Vector<ScalarType>, n_vectors>
vectors;
140 std::array<std::vector<types::global_dof_index>, n_dof_indices>
149 template <
int n_matrices,
154 const unsigned int size)
161 template <
int n_matrices,
167 const std::array<unsigned int, n_vectors> &
vector_sizes,
170 for (
unsigned int i = 0; i < n_matrices; ++i)
173 for (
unsigned int i = 0; i < n_vectors; ++i)
176 for (
unsigned int i = 0; i < n_dof_indices; ++i)
182 template <
int n_matrices,
188 const unsigned int size)
190 for (
auto &m : matrices)
192 for (
auto &v : vectors)
194 for (
auto &d : local_dof_indices)
200 template <
int n_matrices,
206 const unsigned int index,
207 const unsigned int size)
214 template <
int n_matrices,
220 const unsigned int index,
226 constexpr int max_index =
std::max({n_matrices, n_vectors, n_dof_indices});
230 if (index < n_matrices)
233 if (index < n_vectors)
236 if (index < n_dof_indices)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcIndexRange(std::size_t arg1, std::size_t arg2, std::size_t arg3)
SymmetricTensor< 2, dim, Number > d(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
void reinit(MatrixBlock< MatrixType > &v, const BlockSparsityPattern &p)
::VectorizedArray< Number, width > max(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)
CopyData(const CopyData &other)=default
void reinit(const unsigned int index, const unsigned int size_rows, const unsigned int size_columns)
CopyData & operator=(const CopyData &other)=default
std::array< FullMatrix< ScalarType >, n_matrices > matrices
CopyData(const unsigned int size)
std::array< Vector< ScalarType >, n_vectors > vectors
void reinit(const unsigned int size)
void reinit(const unsigned int index, const unsigned int size)
CopyData(const ndarray< unsigned int, n_matrices, 2 > &matrix_sizes, const std::array< unsigned int, n_vectors > &vector_sizes, const std::array< unsigned int, n_dof_indices > &dof_indices_sizes)
std::array< std::vector< types::global_dof_index >, n_dof_indices > local_dof_indices