Reference documentation for deal.II version 9.1.1
|
#include <deal.II/meshworker/copy_data.h>
Public Member Functions | |
CopyData (const unsigned int size) | |
CopyData (const std::array< std::array< unsigned int, 2 >, n_matrices > &matrix_sizes, const std::array< unsigned int, n_vectors > &vector_sizes, const std::array< unsigned int, n_dof_indices > &dof_indices_sizes) | |
CopyData (const CopyData< n_matrices, n_vectors, n_dof_indices > &other)=default | |
void | operator= (const double &number) |
Public Attributes | |
std::array< FullMatrix< double >, n_matrices > | matrices |
std::array< Vector< double >, n_vectors > | vectors |
std::array< std::vector< types::global_dof_index >, n_dof_indices > | local_dof_indices |
Helper copy data struct.
This class is a good default drop in CopyData object for the WorkStream::run() and MeshWorker::mesh_loop() functions.
It arrays of (local) full matrices, vectors, and local degrees of freedom index vectors, with size determined by the corresponding template argument.
In particular, you can specify the following template arguments
n_matrices | Size of the array of matrices |
n_vectors | size of the array of vectors |
n_dof_indices | size of the array of local dof indices |
Definition at line 52 of file copy_data.h.
MeshWorker::CopyData< n_matrices, n_vectors, n_dof_indices >::CopyData | ( | const unsigned int | size | ) |
Initialize everything with the same size
. This is usually the number of local degrees of freedom.
MeshWorker::CopyData< n_matrices, n_vectors, n_dof_indices >::CopyData | ( | const std::array< std::array< unsigned int, 2 >, n_matrices > & | matrix_sizes, |
const std::array< unsigned int, n_vectors > & | vector_sizes, | ||
const std::array< unsigned int, n_dof_indices > & | dof_indices_sizes | ||
) |
For every object, specify the size they should have.
|
default |
Deep copy constructor.
void MeshWorker::CopyData< n_matrices, n_vectors, n_dof_indices >::operator= | ( | const double & | number | ) |
Allow resetting of all elements of the struct to zero, by simply calling (*this) = 0;
Notice that the only allowed number here is really 0
. Calling this function with any other number will trigger an assertion.
The elements of the arrays of local degrees of freedom indices are all set to numbers::invalid_dof_index.
std::array<FullMatrix<double>, n_matrices> MeshWorker::CopyData< n_matrices, n_vectors, n_dof_indices >::matrices |
An array of local matrices.
Definition at line 90 of file copy_data.h.
std::array<Vector<double>, n_vectors> MeshWorker::CopyData< n_matrices, n_vectors, n_dof_indices >::vectors |
An array of local vectors.
Definition at line 95 of file copy_data.h.
std::array<std::vector<types::global_dof_index>, n_dof_indices> MeshWorker::CopyData< n_matrices, n_vectors, n_dof_indices >::local_dof_indices |
An array of local degrees of freedom indices.
Definition at line 101 of file copy_data.h.