15#ifndef dealii_matrix_creator_h
16#define dealii_matrix_creator_h
28#ifdef DEAL_II_WITH_PETSC
41template <
typename number>
43template <
typename number>
46template <
int dim,
int spacedim>
48template <
int dim,
int spacedim>
195namespace MatrixCreator
216 template <
int dim,
int spacedim,
typename MatrixType>
232 template <
int dim,
int spacedim,
typename MatrixType>
262 template <
int dim,
int spacedim,
typename MatrixType>
280 template <
int dim,
int spacedim,
typename MatrixType>
296 template <
int dim,
int spacedim,
typename MatrixType>
311 template <
int dim,
int spacedim,
typename MatrixType>
325 template <
int dim,
int spacedim,
typename MatrixType>
342 template <
int dim,
int spacedim,
typename MatrixType>
381 template <
int dim,
int spacedim,
typename number>
391 std::vector<types::global_dof_index> &dof_to_boundary_mapping,
393 std::vector<unsigned int> component_mapping = {});
400 template <
int dim,
int spacedim,
typename number>
409 std::vector<types::global_dof_index> &dof_to_boundary_mapping,
411 std::vector<unsigned int> component_mapping = {});
416 template <
int dim,
int spacedim,
typename number>
426 std::vector<types::global_dof_index> &dof_to_boundary_mapping,
428 std::vector<unsigned int> component_mapping = {});
433 template <
int dim,
int spacedim,
typename number>
442 std::vector<types::global_dof_index> &dof_to_boundary_mapping,
444 std::vector<unsigned int> component_mapping = {});
465 template <
int dim,
int spacedim,
typename MatrixType>
481 template <
int dim,
int spacedim,
typename MatrixType>
510 template <
int dim,
int spacedim,
typename MatrixType>
528 template <
int dim,
int spacedim,
typename MatrixType>
544 template <
int dim,
int spacedim,
typename MatrixType>
559 template <
int dim,
int spacedim,
typename MatrixType>
573 template <
int dim,
int spacedim,
typename MatrixType>
590 template <
int dim,
int spacedim,
typename MatrixType>
607 "You are providing either a right hand side function or a "
608 "coefficient with a number of vector components that is "
609 "inconsistent with the rest of the arguments. If you do "
610 "provide a coefficient or right hand side function, then "
611 "it either needs to have as many components as the finite "
612 "element in use, or only a single vector component. In "
613 "the latter case, the same value will be taken for "
614 "each vector component of the finite element.");
Abstract base class for mapping classes.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcComponentMismatch()
#define DeclExceptionMsg(Exception, defaulttext)
void create_mass_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim > &q, MatrixType &matrix, const Function< spacedim, typename MatrixType::value_type > *const a=nullptr, const AffineConstraints< typename MatrixType::value_type > &constraints=AffineConstraints< typename MatrixType::value_type >())
MappingQ< dim, spacedim > StaticMappingQ1< dim, spacedim >::mapping
void create_boundary_mass_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim - 1 > &q, SparseMatrix< number > &matrix, const std::map< types::boundary_id, const Function< spacedim, number > * > &boundary_functions, Vector< number > &rhs_vector, std::vector< types::global_dof_index > &dof_to_boundary_mapping, const Function< spacedim, number > *const weight=0, std::vector< unsigned int > component_mapping={})
void create_laplace_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim > &q, MatrixType &matrix, const Function< spacedim, typename MatrixType::value_type > *const a=nullptr, const AffineConstraints< typename MatrixType::value_type > &constraints=AffineConstraints< typename MatrixType::value_type >())