16#ifndef dealii_matrix_creator_h
17#define dealii_matrix_creator_h
29#ifdef DEAL_II_WITH_PETSC
42template <
typename number>
44template <
typename number>
47template <
int dim,
int spacedim>
49template <
int dim,
int spacedim>
57 class MappingCollection;
216 template <
int dim,
int spacedim,
typename SparseMatrixType>
222 SparseMatrixType & matrix,
232 template <
int dim,
int spacedim,
typename SparseMatrixType>
237 SparseMatrixType & matrix,
262 template <
int dim,
int spacedim,
typename SparseMatrixType>
268 SparseMatrixType & matrix,
280 template <
int dim,
int spacedim,
typename SparseMatrixType>
285 SparseMatrixType & matrix,
296 template <
int dim,
int spacedim,
typename SparseMatrixType>
302 SparseMatrixType & matrix,
311 template <
int dim,
int spacedim,
typename SparseMatrixType>
316 SparseMatrixType & matrix,
325 template <
int dim,
int spacedim,
typename SparseMatrixType>
331 SparseMatrixType & matrix,
342 template <
int dim,
int spacedim,
typename SparseMatrixType>
347 SparseMatrixType & matrix,
381 template <
int dim,
int spacedim,
typename number>
389 & boundary_functions,
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>
407 & boundary_functions,
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>
424 & boundary_functions,
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>
440 & boundary_functions,
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 SparseMatrixType>
471 SparseMatrixType & matrix,
481 template <
int dim,
int spacedim,
typename SparseMatrixType>
486 SparseMatrixType & matrix,
510 template <
int dim,
int spacedim,
typename SparseMatrixType>
516 SparseMatrixType & matrix,
528 template <
int dim,
int spacedim,
typename SparseMatrixType>
533 SparseMatrixType & matrix,
544 template <
int dim,
int spacedim,
typename SparseMatrixType>
550 SparseMatrixType & matrix,
559 template <
int dim,
int spacedim,
typename SparseMatrixType>
564 SparseMatrixType & matrix,
573 template <
int dim,
int spacedim,
typename SparseMatrixType>
579 SparseMatrixType & matrix,
590 template <
int dim,
int spacedim,
typename SparseMatrixType>
595 SparseMatrixType & matrix,
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_NAMESPACE_CLOSE
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcComponentMismatch()
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_mass_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim > &q, SparseMatrixType &matrix, const Function< spacedim, typename SparseMatrixType::value_type > *const a=nullptr, const AffineConstraints< typename SparseMatrixType::value_type > &constraints=AffineConstraints< typename SparseMatrixType::value_type >())
void create_laplace_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim > &q, SparseMatrixType &matrix, const Function< spacedim, typename SparseMatrixType::value_type > *const a=nullptr, const AffineConstraints< typename SparseMatrixType::value_type > &constraints=AffineConstraints< typename SparseMatrixType::value_type >())