Reference documentation for deal.II version 9.6.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
TensorProductMatrixCreator Namespace Reference

Namespaces

namespace  internal
 

Enumerations

enum  LaplaceBoundaryType { dirichlet , neumann , internal_boundary }
 

Functions

template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > create_laplace_tensor_product_matrix (const FiniteElement< 1 > &fe, const Quadrature< 1 > &quadrature, const ::ndarray< LaplaceBoundaryType, dim, 2 > &boundary_ids, const ::ndarray< double, dim, 3 > &cell_extent, const unsigned int n_overlap=1)
 
template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > create_laplace_tensor_product_matrix (const typename Triangulation< dim >::cell_iterator &cell, const std::set< types::boundary_id > &dirichlet_boundaries, const std::set< types::boundary_id > &neumann_boundaries, const FiniteElement< 1 > &fe, const Quadrature< 1 > &quadrature, const ::ndarray< double, dim, 3 > &cell_extent, const unsigned int n_overlap=1)
 

Detailed Description

A namespace with functions that create input for certain standard matrices for the classes TensorProductMatrixSymmetricSum and TensorProductMatrixSymmetricSumCollection.

Enumeration Type Documentation

◆ LaplaceBoundaryType

Boundary type that can be used in create_laplace_tensor_product_matrix();

Enumerator
dirichlet 
neumann 
internal_boundary 

Definition at line 48 of file tensor_product_matrix_creator.h.

Function Documentation

◆ create_laplace_tensor_product_matrix() [1/2]

template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > TensorProductMatrixCreator::create_laplace_tensor_product_matrix ( const FiniteElement< 1 > & fe,
const Quadrature< 1 > & quadrature,
const ::ndarray< LaplaceBoundaryType, dim, 2 > & boundary_ids,
const ::ndarray< double, dim, 3 > & cell_extent,
const unsigned int n_overlap = 1 )

Create 1d mass matrix and 1d derivative matrix for a scalar constant-coefficient Laplacian for a dim dimensional Cartesian cell. Its boundary types can be specified with boundary_ids. The cell extent (including the cell extent of each neighbor) can be specified via cell_extent. With n_overlap, an overlap with neighboring cells can be specified. The default value is one, which correspond to all matrix entries restricted to the cell-local DoFs.

Definition at line 175 of file tensor_product_matrix_creator.h.

◆ create_laplace_tensor_product_matrix() [2/2]

template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > TensorProductMatrixCreator::create_laplace_tensor_product_matrix ( const typename Triangulation< dim >::cell_iterator & cell,
const std::set< types::boundary_id > & dirichlet_boundaries,
const std::set< types::boundary_id > & neumann_boundaries,
const FiniteElement< 1 > & fe,
const Quadrature< 1 > & quadrature,
const ::ndarray< double, dim, 3 > & cell_extent,
const unsigned int n_overlap = 1 )

Same as above but the boundary IDs are extracted from the given cell and are mapped to the boundary type via the sets dirichlet_boundaries and neumann_boundaries.

Definition at line 305 of file tensor_product_matrix_creator.h.