PolyDEAL
 
Loading...
Searching...
No Matches
Utils Namespace Reference

Classes

struct  Graph
 
class  LaplaceOperatorDG
 
class  MGCoarseDirect
 

Functions

template<typename T >
constexpr T constexpr_pow (T num, unsigned int pow)
 
template<int dim, int spacedim, typename MatrixType >
void fill_injection_matrix (const AgglomerationHandler< dim, spacedim > &coarse_ah, const AgglomerationHandler< dim, spacedim > &fine_ah, SparsityPattern &sp, MatrixType &matrix)
 
types::global_cell_index get_index (const std::vector< types::global_cell_index > &v, const types::global_cell_index index)
 
template<int dim>
void create_graph_from_agglomerate (const std::vector< typename Triangulation< dim >::active_cell_iterator > &cells, Graph &g)
 
void dfs (std::vector< types::global_cell_index > &comp, std::vector< bool > &visited, const Graph &g, const types::global_cell_index v)
 
void compute_connected_components (Graph &g, std::vector< std::vector< types::global_cell_index > > &connected_components)
 

Function Documentation

◆ compute_connected_components()

void Utils::compute_connected_components ( Graph & g,
std::vector< std::vector< types::global_cell_index > > & connected_components )

◆ constexpr_pow()

template<typename T >
T Utils::constexpr_pow ( T num,
unsigned int pow )
inlineconstexpr

Definition at line 50 of file utils.h.

References constexpr_pow(), and pow().

Referenced by constexpr_pow().

◆ create_graph_from_agglomerate()

template<int dim>
void Utils::create_graph_from_agglomerate ( const std::vector< typename Triangulation< dim >::active_cell_iterator > & cells,
Graph & g )

◆ dfs()

void Utils::dfs ( std::vector< types::global_cell_index > & comp,
std::vector< bool > & visited,
const Graph & g,
const types::global_cell_index v )
inline

Definition at line 1130 of file utils.h.

References Utils::Graph::adjacency, and dfs().

Referenced by compute_connected_components(), and dfs().

◆ fill_injection_matrix()

template<int dim, int spacedim, typename MatrixType >
void Utils::fill_injection_matrix ( const AgglomerationHandler< dim, spacedim > & coarse_ah,
const AgglomerationHandler< dim, spacedim > & fine_ah,
SparsityPattern & sp,
MatrixType & matrix )

Given a coarse AgglomerationHandler coarse_ah and a fine AgglomerationHandler fine_ah, this function fills the injection matrix matrix and the associated SparsityPattern sp from the coarse space to the finer one.

The matrix matrix (as well as sp) are assumed to be only default-constructed upon calling this function, i.e. the matrix should just be empty.

Note
Supported types are SparseMatrix<double> or TrilinosWrappers::SparseMatrix.

Definition at line 97 of file utils.h.

References VectorOperation::add, AgglomerationHandler< dim, spacedim >::agglo_dh, Assert, AssertDimension, AssertThrow, AffineConstraints< typename number >::close(), SparsityPattern::copy_from(), AffineConstraints< typename number >::distribute_local_to_global(), FiniteElement< int dim, int spacedim >::dofs_per_cell, SparsityPattern::empty(), DoFTools::extract_locally_relevant_dofs(), Triangulation< int dim, int spacedim >::get_communicator(), AgglomerationHandler< dim, spacedim >::get_fe(), AgglomerationHandler< dim, spacedim >::get_local_bboxes(), AgglomerationHandler< dim, spacedim >::get_mapping(), AgglomerationHandler< dim, spacedim >::get_triangulation(), FiniteElement< int dim, int spacedim >::get_unit_support_points(), DoFHandler< int dim, int spacedim >::locally_owned_dofs(), AgglomerationHandler< dim, spacedim >::n_dofs(), DoFHandler< int dim, int spacedim >::n_dofs(), AgglomerationHandler< dim, spacedim >::polytope_iterators(), AgglomerationHandler< dim, spacedim >::polytope_to_dh_iterator(), BoundingBox< int spacedim, typename Number >::real_to_unit(), DynamicSparsityPattern::reinit(), FiniteElement< int dim, int spacedim >::shape_value(), BoundingBox< int spacedim, typename Number >::unit_to_real(), and update_quadrature_points.

◆ get_index()

types::global_cell_index Utils::get_index ( const std::vector< types::global_cell_index > & v,
const types::global_cell_index index )
inline

Helper function to compute the position of index index in vector v.

Definition at line 1087 of file utils.h.

Referenced by create_graph_from_agglomerate().