deal.II version GIT relicensing-1941-ga9013bea74 2024-10-08 06:50:00+00:00
\(\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
Classes | Namespaces | Functions
tools.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/grid/tria.h>
#include <deal.II/matrix_free/fe_evaluation.h>
#include <deal.II/matrix_free/matrix_free.h>
#include <deal.II/matrix_free/portable_fe_evaluation.h>
#include <deal.II/matrix_free/portable_matrix_free.h>
#include <deal.II/matrix_free/vector_access_internal.h>

Go to the source code of this file.

Classes

class  MatrixFreeTools::internal::ComputeMatrixScratchData< dim, Number, is_face_ >
 
class  MatrixFreeTools::ElementActivationAndDeactivationMatrixFree< dim, Number, VectorizedArrayType >
 
struct  MatrixFreeTools::ElementActivationAndDeactivationMatrixFree< dim, Number, VectorizedArrayType >::AdditionalData
 

Namespaces

namespace  MatrixFreeTools
 
namespace  MatrixFreeTools::internal
 

Functions

template<int dim, typename AdditionalData >
void MatrixFreeTools::categorize_by_boundary_ids (const Triangulation< dim > &tria, AdditionalData &additional_data)
 
template<int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename VectorType >
void MatrixFreeTools::compute_diagonal (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, VectorType &diagonal_global, const std::function< void(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &cell_operation, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0, const unsigned int first_vector_component=0)
 
template<int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename MemorySpace , typename QuadOperation >
void MatrixFreeTools::compute_diagonal (const Portable::MatrixFree< dim, Number > &matrix_free, LinearAlgebra::distributed::Vector< Number, MemorySpace > &diagonal_global, const QuadOperation &quad_operation, EvaluationFlags::EvaluationFlags evaluation_flags, EvaluationFlags::EvaluationFlags integration_flags, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0, const unsigned int first_vector_component=0)
 
template<typename CLASS , int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename VectorType >
void MatrixFreeTools::compute_diagonal (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, VectorType &diagonal_global, void(CLASS::*cell_operation)(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, const CLASS *owning_class, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0, const unsigned int first_vector_component=0)
 
template<int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename VectorType >
void MatrixFreeTools::compute_diagonal (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, VectorType &diagonal_global, const std::function< void(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &cell_operation, const std::function< void(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &, FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &face_operation, const std::function< void(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &boundary_operation, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0, const unsigned int first_vector_component=0)
 
template<typename CLASS , int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename VectorType >
void MatrixFreeTools::compute_diagonal (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, VectorType &diagonal_global, void(CLASS::*cell_operation)(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, void(CLASS::*face_operation)(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &, FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, void(CLASS::*boundary_operation)(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, const CLASS *owning_class, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0, const unsigned int first_vector_component=0)
 
template<int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename MatrixType >
void MatrixFreeTools::compute_matrix (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, const AffineConstraints< Number > &constraints, MatrixType &matrix, const std::function< void(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &cell_operation, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0)
 
template<typename CLASS , int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename MatrixType >
void MatrixFreeTools::compute_matrix (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, const AffineConstraints< Number > &constraints, MatrixType &matrix, void(CLASS::*cell_operation)(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, const CLASS *owning_class, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0)
 
template<int dim, typename Number , typename VectorizedArrayType , typename MatrixType >
void MatrixFreeTools::internal::compute_matrix (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, const AffineConstraints< Number > &constraints, const internal::ComputeMatrixScratchData< dim, VectorizedArrayType, false > &cell_operation, const internal::ComputeMatrixScratchData< dim, VectorizedArrayType, true > &face_operation, const internal::ComputeMatrixScratchData< dim, VectorizedArrayType, true > &boundary_operation, MatrixType &matrix)
 
template<int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename MatrixType >
void MatrixFreeTools::compute_matrix (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, const AffineConstraints< Number > &constraints, MatrixType &matrix, const std::function< void(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &cell_operation, const std::function< void(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &, FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &face_operation, const std::function< void(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &)> &boundary_operation, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0)
 
template<typename CLASS , int dim, int fe_degree, int n_q_points_1d, int n_components, typename Number , typename VectorizedArrayType , typename MatrixType >
void MatrixFreeTools::compute_matrix (const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free, const AffineConstraints< Number > &constraints, MatrixType &matrix, void(CLASS::*cell_operation)(FEEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, void(CLASS::*face_operation)(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &, FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, void(CLASS::*boundary_operation)(FEFaceEvaluation< dim, fe_degree, n_q_points_1d, n_components, Number, VectorizedArrayType > &) const, const CLASS *owning_class, const unsigned int dof_no=0, const unsigned int quad_no=0, const unsigned int first_selected_component=0)