Reference documentation for deal.II version 9.5.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
Classes | Namespaces | Functions
grid_tools.cc File Reference
#include <deal.II/base/floating_point_comparator.h>
#include <deal.II/base/mpi.h>
#include <deal.II/base/mpi.templates.h>
#include <deal.II/base/mpi_consensus_algorithms.h>
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/thread_management.h>
#include <deal.II/cgal/intersections.h>
#include <deal.II/cgal/utilities.h>
#include <deal.II/distributed/fully_distributed_tria.h>
#include <deal.II/distributed/p4est_wrappers.h>
#include <deal.II/distributed/shared_tria.h>
#include <deal.II/distributed/tria.h>
#include <deal.II/dofs/dof_accessor.h>
#include <deal.II/dofs/dof_handler.h>
#include <deal.II/dofs/dof_tools.h>
#include <deal.II/fe/fe_nothing.h>
#include <deal.II/fe/fe_q.h>
#include <deal.II/fe/fe_values.h>
#include <deal.II/fe/mapping_fe.h>
#include <deal.II/fe/mapping_q.h>
#include <deal.II/grid/filtered_iterator.h>
#include <deal.II/grid/grid_reordering.h>
#include <deal.II/grid/grid_tools.h>
#include <deal.II/grid/grid_tools_cache.h>
#include <deal.II/grid/manifold.h>
#include <deal.II/grid/tria.h>
#include <deal.II/grid/tria_accessor.h>
#include <deal.II/grid/tria_iterator.h>
#include <deal.II/lac/constrained_linear_operator.h>
#include <deal.II/lac/dynamic_sparsity_pattern.h>
#include <deal.II/lac/lapack_full_matrix.h>
#include <deal.II/lac/precondition.h>
#include <deal.II/lac/solver_cg.h>
#include <deal.II/lac/sparse_matrix.h>
#include <deal.II/lac/sparsity_pattern.h>
#include <deal.II/lac/sparsity_tools.h>
#include <deal.II/lac/vector.h>
#include <deal.II/lac/vector_memory.h>
#include <deal.II/numerics/matrix_tools.h>
#include <deal.II/numerics/vector_tools_integrate_difference.h>
#include <deal.II/physics/transformations.h>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_real_distribution.hpp>
#include <array>
#include <cmath>
#include <iostream>
#include <limits>
#include <list>
#include <numeric>
#include <set>
#include <tuple>
#include <unordered_map>
#include "grid_tools.inst"

Go to the source code of this file.

Classes

struct  GridTools::internal::CellDataComparator< structdim >
 
class  GridTools::internal::FaceDataHelper< dim >
 
class  GridTools::internal::FaceDataHelper< 1 >
 
class  GridTools::internal::Shift< spacedim >
 
class  GridTools::internal::Rotate2d
 
class  GridTools::internal::Rotate3d
 
class  GridTools::internal::Scale< spacedim >
 

Namespaces

namespace  GridTools
 
namespace  GridTools::internal
 
namespace  GridTools::internal::BoundingBoxPredicate
 
namespace  GridTools::internal::FixUpDistortedChildCells
 

Functions

void GridTools::internal::append_face_data (const CellData< 1 > &face_data, SubCellData &subcell_data)
 
void GridTools::internal::append_face_data (const CellData< 2 > &face_data, SubCellData &subcell_data)
 
template<>
void GridTools::rotate (const double angle, Triangulation< 1, 2 > &triangulation)
 
template<>
void GridTools::rotate (const double angle, Triangulation< 2, 2 > &triangulation)
 
void GridTools::internal::laplace_solve (const SparseMatrix< double > &S, const AffineConstraints< double > &constraints, Vector< double > &u)
 
template<int dim>
void GridTools::laplace_transform (const std::map< unsigned int, Point< dim > > &new_points, Triangulation< dim > &triangulation, const Function< dim > *coefficient, const bool solve_for_absolute_positions)
 
template<int spacedim>
bool GridTools::internal::compare_point_association (const unsigned int a, const unsigned int b, const Tensor< 1, spacedim > &point_direction, const std::vector< Tensor< 1, spacedim > > &center_directions)
 
template<class MeshType >
std::tuple< BoundingBox< MeshType::space_dimension >, boolGridTools::internal::BoundingBoxPredicate::compute_cell_predicate_bounding_box (const typename MeshType::cell_iterator &parent_cell, const std::function< bool(const typename MeshType::active_cell_iterator &)> &predicate)
 
template<class IT >
void GridTools::internal::set_subdomain_id_in_zorder_recursively (IT cell, unsigned int &current_proc_idx, unsigned int &current_cell_idx, const unsigned int n_active_cells, const unsigned int n_partitions)
 
template<typename Iterator , int spacedim>
double GridTools::internal::FixUpDistortedChildCells::objective_function (const Iterator &object, const Point< spacedim > &object_mid_point)
 
template<typename Iterator >
Point< Iterator::AccessorType::space_dimension > GridTools::internal::FixUpDistortedChildCells::get_face_midpoint (const Iterator &object, const unsigned int f, std::integral_constant< int, 1 >)
 
template<typename Iterator >
Point< Iterator::AccessorType::space_dimension > GridTools::internal::FixUpDistortedChildCells::get_face_midpoint (const Iterator &object, const unsigned int f, std::integral_constant< int, 2 >)
 
template<typename Iterator >
Point< Iterator::AccessorType::space_dimension > GridTools::internal::FixUpDistortedChildCells::get_face_midpoint (const Iterator &object, const unsigned int f, std::integral_constant< int, 3 >)
 
template<typename Iterator >
double GridTools::internal::FixUpDistortedChildCells::minimal_diameter (const Iterator &object)
 
template<typename Iterator >
bool GridTools::internal::FixUpDistortedChildCells::fix_up_object (const Iterator &object)
 
template<int dim, int spacedim>
void GridTools::internal::FixUpDistortedChildCells::fix_up_faces (const typename ::Triangulation< dim, spacedim >::cell_iterator &cell, std::integral_constant< int, dim >, std::integral_constant< int, spacedim >)
 
template<int spacedim, typename T >
std::tuple< std::vector< unsigned int >, std::vector< unsigned int >, std::vector< unsigned int > > GridTools::internal::guess_owners_of_entities (const MPI_Comm comm, const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const std::vector< T > &entities, const double tolerance)
 
template<int dim, int spacedim>
std::vector< std::pair< typename Triangulation< dim, spacedim >::active_cell_iterator, Point< dim > > > GridTools::internal::find_all_locally_owned_active_cells_around_point (const Cache< dim, spacedim > &cache, const Point< spacedim > &point, typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint, const std::vector< bool > &marked_vertices, const double tolerance, const bool enforce_unique_mapping)
 
template<int dim, int spacedim>
DistributedComputePointLocationsInternal< dim, spacedim > GridTools::internal::distributed_compute_point_locations (const GridTools::Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &points, const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const std::vector< bool > &marked_vertices, const double tolerance, const bool perform_handshake, const bool enforce_unique_mapping=false)
 
template<int structdim, int dim, int spacedim>
DistributedComputeIntersectionLocationsInternal< structdim, spacedim > GridTools::internal::distributed_compute_intersection_locations (const Cache< dim, spacedim > &cache, const std::vector< std::vector< Point< spacedim > > > &intersection_requests, const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const std::vector< bool > &marked_vertices, const double tolerance)
 
template<int spacedim>
std::vector< std::vector< BoundingBox< spacedim > > > GridTools::exchange_local_bounding_boxes (const std::vector< BoundingBox< spacedim > > &local_bboxes, const MPI_Comm mpi_communicator)
 
template<int spacedim>
RTree< std::pair< BoundingBox< spacedim >, unsigned int > > GridTools::build_global_description_tree (const std::vector< BoundingBox< spacedim > > &local_description, const MPI_Comm mpi_communicator)
 
template<int dim, int spacedim>
void GridTools::collect_coinciding_vertices (const Triangulation< dim, spacedim > &tria, std::map< unsigned int, std::vector< unsigned int > > &coinciding_vertex_groups, std::map< unsigned int, unsigned int > &vertex_to_coinciding_vertex_group)
 
template<int dim, int spacedim>
std::map< unsigned int, std::set<::types::subdomain_id > > GridTools::compute_vertices_with_ghost_neighbors (const Triangulation< dim, spacedim > &tria)
 
template<int dim, unsigned int n_vertices, unsigned int n_sub_vertices, unsigned int n_configurations, unsigned int n_lines, unsigned int n_cols, typename value_type >
void GridTools::internal::process_sub_cell (const std::array< unsigned int, n_configurations > &cut_line_table, const ndarray< unsigned int, n_configurations, n_cols > &new_line_table, const ndarray< unsigned int, n_lines, 2 > &line_to_vertex_table, const std::vector< value_type > &ls_values, const std::vector< Point< dim > > &points, const std::vector< unsigned int > &mask, const double iso_level, const double tolerance, std::vector< Point< dim > > &vertices, std::vector< CellData< dim==1 ? 1 :dim - 1 > > &cells, const bool write_back_cell_data)
 
Information about meshes and cells
template<int dim, int spacedim>
double GridTools::diameter (const Triangulation< dim, spacedim > &tria)
 
template<int dim, int spacedim>
double GridTools::volume (const Triangulation< dim, spacedim > &tria)
 
template<int dim, int spacedim>
double GridTools::volume (const Triangulation< dim, spacedim > &tria, const Mapping< dim, spacedim > &mapping)
 
template<int dim, int spacedim>
std::pair< DerivativeForm< 1, dim, spacedim >, Tensor< 1, spacedim > > GridTools::affine_cell_approximation (const ArrayView< const Point< spacedim > > &vertices)
 
template<int dim>
Vector< double > GridTools::compute_aspect_ratio_of_cells (const Mapping< dim > &mapping, const Triangulation< dim > &triangulation, const Quadrature< dim > &quadrature)
 
template<int dim>
double GridTools::compute_maximum_aspect_ratio (const Mapping< dim > &mapping, const Triangulation< dim > &triangulation, const Quadrature< dim > &quadrature)
 
template<int dim, int spacedim>
BoundingBox< spacedim > GridTools::compute_bounding_box (const Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
std::tuple< std::vector< Point< spacedim > >, std::vector< CellData< dim > >, SubCellDataGridTools::get_coarse_mesh_description (const Triangulation< dim, spacedim > &tria)
 
template<int dim, int spacedim>
double GridTools::minimal_cell_diameter (const Triangulation< dim, spacedim > &triangulation, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >()))
 
template<int dim, int spacedim>
double GridTools::maximal_cell_diameter (const Triangulation< dim, spacedim > &triangulation, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >()))
 
Functions supporting the creation of meshes
template<int dim, int spacedim>
void GridTools::delete_unused_vertices (std::vector< Point< spacedim > > &vertices, std::vector< CellData< dim > > &cells, SubCellData &subcelldata)
 
template<int dim, int spacedim>
void GridTools::delete_duplicated_vertices (std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells, SubCellData &subcelldata, std::vector< unsigned int > &considered_vertices, const double tol=1e-12)
 
template<int dim>
void GridTools::delete_duplicated_vertices (std::vector< Point< dim > > &vertices, const double tol=1e-12)
 
template<int dim, int spacedim>
std::size_t GridTools::invert_cells_with_negative_measure (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells)
 
template<int dim, int spacedim>
void GridTools::invert_all_negative_measure_cells (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells)
 
template<int dim>
void GridTools::consistently_order_cells (std::vector< CellData< dim > > &cells)
 
Rotating, stretching and otherwise transforming meshes
template<int dim, int spacedim>
void GridTools::shift (const Tensor< 1, spacedim > &shift_vector, Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
void GridTools::rotate (const double angle, Triangulation< dim, spacedim > &triangulation)
 
template<int dim>
void GridTools::rotate (const Tensor< 1, 3, double > &axis, const double angle, Triangulation< dim, 3 > &triangulation)
 
template<int dim>
void GridTools::rotate (const double angle, const unsigned int axis, Triangulation< dim, 3 > &triangulation)
 
template<int dim, int spacedim>
void GridTools::scale (const double scaling_factor, Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
std::map< unsigned int, Point< spacedim > > GridTools::get_all_vertices_at_boundary (const Triangulation< dim, spacedim > &tria)
 
template<int dim, int spacedim>
void GridTools::distort_random (const double factor, Triangulation< dim, spacedim > &triangulation, const bool keep_boundary=true, const unsigned int seed=boost::random::mt19937::default_seed)
 
template<int dim, int spacedim>
void GridTools::remove_hanging_nodes (Triangulation< dim, spacedim > &tria, const bool isotropic=false, const unsigned int max_iterations=100)
 
template<int dim, int spacedim>
void GridTools::remove_anisotropy (Triangulation< dim, spacedim > &tria, const double max_ratio=1.6180339887, const unsigned int max_iterations=5)
 
template<int dim, int spacedim>
void GridTools::regularize_corner_cells (Triangulation< dim, spacedim > &tria, const double limit_angle_fraction=.75)
 
Finding cells and vertices of a triangulation
template<int dim, template< int, int > class MeshType, int spacedim>
unsigned int GridTools::find_closest_vertex (const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< bool > &marked_vertices={})
 
template<int dim, template< int, int > class MeshType, int spacedim>
unsigned int GridTools::find_closest_vertex (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< bool > &marked_vertices={})
 
template<int dim, int spacedim>
std::vector< std::vector< Tensor< 1, spacedim > > > GridTools::vertex_to_cell_centers_directions (const Triangulation< dim, spacedim > &mesh, const std::vector< std::set< typename Triangulation< dim, spacedim >::active_cell_iterator > > &vertex_to_cells)
 
template<int dim, template< int, int > class MeshType, int spacedim>
std::pair< typename MeshType< dim, spacedim >::active_cell_iterator, Point< dim > > GridTools::find_active_cell_around_point (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< std::set< typename MeshType< dim, spacedim >::active_cell_iterator > > &vertex_to_cell_map, const std::vector< std::vector< Tensor< 1, spacedim > > > &vertex_to_cell_centers, const typename MeshType< dim, spacedim >::active_cell_iterator &cell_hint=typename MeshType< dim, spacedim >::active_cell_iterator(), const std::vector< bool > &marked_vertices={}, const RTree< std::pair< Point< spacedim >, unsigned int > > &used_vertices_rtree=RTree< std::pair< Point< spacedim >, unsigned int > >{}, const double tolerance=1.e-10, const RTree< std::pair< BoundingBox< spacedim >, typename Triangulation< dim, spacedim >::active_cell_iterator > > *relevant_cell_bounding_boxes_rtree=nullptr)
 
template<int dim, int spacedim>
unsigned int GridTools::find_closest_vertex_of_cell (const typename Triangulation< dim, spacedim >::active_cell_iterator &cell, const Point< spacedim > &position, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >()))
 
template<class MeshType >
std::vector< BoundingBox< MeshType::space_dimension > > GridTools::compute_mesh_predicate_bounding_box (const MeshType &mesh, const std::function< bool(const typename MeshType::active_cell_iterator &)> &predicate, const unsigned int refinement_level=0, const bool allow_merge=false, const unsigned int max_boxes=numbers::invalid_unsigned_int)
 
template<int spacedim>
return_type GridTools::guess_point_owner (const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const std::vector< Point< spacedim > > &points)
 
template<int spacedim>
return_type GridTools::guess_point_owner (const RTree< std::pair< BoundingBox< spacedim >, unsigned int > > &covering_rtree, const std::vector< Point< spacedim > > &points)
 
template<int dim, int spacedim>
std::vector< std::set< typename Triangulation< dim, spacedim >::active_cell_iterator > > GridTools::vertex_to_cell_map (const Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
std::map< unsigned int, types::global_vertex_indexGridTools::compute_local_to_global_vertex_index_map (const parallel::distributed::Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
std::pair< unsigned int, double > GridTools::get_longest_direction (typename Triangulation< dim, spacedim >::active_cell_iterator cell)
 
template<int dim, int spacedim>
return_type GridTools::compute_point_locations (const Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &points, const typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint=typename Triangulation< dim, spacedim >::active_cell_iterator())
 
template<int dim, int spacedim>
return_type GridTools::compute_point_locations_try_all (const Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &points, const typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint=typename Triangulation< dim, spacedim >::active_cell_iterator())
 
template<int dim, int spacedim>
return_type GridTools::distributed_compute_point_locations (const GridTools::Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &local_points, const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const double tolerance=1e-10, const std::vector< bool > &marked_vertices={}, const bool enforce_unique_mapping=true)
 
template<int dim, int spacedim>
std::map< unsigned int, Point< spacedim > > GridTools::extract_used_vertices (const Triangulation< dim, spacedim > &container, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >()))
 
template<int spacedim>
unsigned int GridTools::find_closest_vertex (const std::map< unsigned int, Point< spacedim > > &vertices, const Point< spacedim > &p)
 
template<int dim, int spacedim>
std::pair< typename Triangulation< dim, spacedim >::active_cell_iterator, Point< dim > > GridTools::find_active_cell_around_point (const Cache< dim, spacedim > &cache, const Point< spacedim > &p, const typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint=typename Triangulation< dim, spacedim >::active_cell_iterator(), const std::vector< bool > &marked_vertices={}, const double tolerance=1.e-10)
 
Partitions and subdomains of triangulations
template<int dim, int spacedim>
void GridTools::get_face_connectivity_of_cells (const Triangulation< dim, spacedim > &triangulation, DynamicSparsityPattern &connectivity)
 
template<int dim, int spacedim>
void GridTools::get_vertex_connectivity_of_cells (const Triangulation< dim, spacedim > &triangulation, DynamicSparsityPattern &connectivity)
 
template<int dim, int spacedim>
void GridTools::get_vertex_connectivity_of_cells_on_level (const Triangulation< dim, spacedim > &triangulation, const unsigned int level, DynamicSparsityPattern &connectivity)
 
template<int dim, int spacedim>
void GridTools::partition_triangulation (const unsigned int n_partitions, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis)
 
template<int dim, int spacedim>
void GridTools::partition_triangulation (const unsigned int n_partitions, const std::vector< unsigned int > &cell_weights, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis)
 
template<int dim, int spacedim>
void GridTools::partition_triangulation (const unsigned int n_partitions, const SparsityPattern &cell_connection_graph, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis)
 
template<int dim, int spacedim>
void GridTools::partition_triangulation (const unsigned int n_partitions, const std::vector< unsigned int > &cell_weights, const SparsityPattern &cell_connection_graph, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis)
 
template<int dim, int spacedim>
void GridTools::partition_triangulation_zorder (const unsigned int n_partitions, Triangulation< dim, spacedim > &triangulation, const bool group_siblings=true)
 
template<int dim, int spacedim>
void GridTools::partition_multigrid_levels (Triangulation< dim, spacedim > &triangulation)
 
template<int dim, int spacedim>
std::vector< types::subdomain_idGridTools::get_subdomain_association (const Triangulation< dim, spacedim > &triangulation, const std::vector< CellId > &cell_ids)
 
template<int dim, int spacedim>
void GridTools::get_subdomain_association (const Triangulation< dim, spacedim > &triangulation, std::vector< types::subdomain_id > &subdomain)
 
template<int dim, int spacedim>
unsigned int GridTools::count_cells_with_subdomain_association (const Triangulation< dim, spacedim > &triangulation, const types::subdomain_id subdomain)
 
template<int dim, int spacedim>
std::vector< boolGridTools::get_locally_owned_vertices (const Triangulation< dim, spacedim > &triangulation)
 
Dealing with distorted cells
template<int dim, int spacedim>
Triangulation< dim, spacedim >::DistortedCellList GridTools::fix_up_distorted_child_cells (const typename Triangulation< dim, spacedim >::DistortedCellList &distorted_cells, Triangulation< dim, spacedim > &triangulation)
 
Dealing with boundary and manifold ids
template<int dim, int spacedim>
void GridTools::copy_boundary_to_manifold_id (Triangulation< dim, spacedim > &tria, const bool reset_boundary_ids=false)
 
template<int dim, int spacedim>
void GridTools::map_boundary_to_manifold_ids (const std::vector< types::boundary_id > &src_boundary_ids, const std::vector< types::manifold_id > &dst_manifold_ids, Triangulation< dim, spacedim > &tria, const std::vector< types::boundary_id > &reset_boundary_ids={})
 
template<int dim, int spacedim>
void GridTools::copy_material_to_manifold_id (Triangulation< dim, spacedim > &tria, const bool compute_face_ids=false)
 
template<int dim, int spacedim>
void GridTools::assign_co_dimensional_manifold_indicators (Triangulation< dim, spacedim > &tria, const std::function< types::manifold_id(const std::set< types::manifold_id > &)> &disambiguation_function=[](const std::set< types::manifold_id > &manifold_ids) { if(manifold_ids.size()==1) return *manifold_ids.begin();else return numbers::flat_manifold_id;}, bool overwrite_only_flat_manifold_ids=true)
 

Variable Documentation

◆ KA

const double KA[GeometryInfo< dim >::vertices_per_cell][dim]
static

Definition at line 234 of file grid_tools.cc.

◆ Kb

const double Kb[GeometryInfo< dim >::vertices_per_cell]
static

Definition at line 235 of file grid_tools.cc.

◆ v0

const unsigned int v0
private

The global indices of the vertices that define the edge.

Definition at line 1067 of file grid_tools.cc.

◆ v1

const unsigned int v1
private

Definition at line 1067 of file grid_tools.cc.

◆ starter_edges

const unsigned int starter_edges[dim]
static

An array that contains the indices of dim edges that can serve as (arbitrarily chosen) starting points for the dim sets of parallel edges within each cell.

Definition at line 1131 of file grid_tools.cc.

◆ n_other_parallel_edges

const unsigned int n_other_parallel_edges = (1 << (dim - 1)) - 1
static

Number and indices of all of those edges parallel to each of the edges in a cell.

Definition at line 1137 of file grid_tools.cc.

◆ parallel_edges

const unsigned int parallel_edges[GeometryInfo< dim >::lines_per_cell][n_other_parallel_edges]
static

Definition at line 1139 of file grid_tools.cc.

◆ cell_index

unsigned int cell_index

Definition at line 1196 of file grid_tools.cc.

◆ edge_within_cell

unsigned int edge_within_cell

Definition at line 1197 of file grid_tools.cc.

◆ adjacent_cells

AdjacentCells<dim> adjacent_cells
private

References to the (at most) two cells that are adjacent to the edge this object corresponds to. Unused elements are default-initialized and have invalid values; in particular, their cell_index field equals numbers::invalid_unsigned_int.

Store the set of cells adjacent to this edge (these cells then also store where in the cell the edge is located).

Definition at line 1280 of file grid_tools.cc.

◆ vertex_indices

unsigned int vertex_indices[GeometryInfo< dim >::vertices_per_cell]

The global indices of the two vertices that bound this edge. These will be ordered so that the first index is less than the second.

A list of global indices for the vertices that bound this cell.

Definition at line 1360 of file grid_tools.cc.

◆ orientation_status

OrientationStatus orientation_status

Definition at line 1373 of file grid_tools.cc.

◆ edge_indices

unsigned int edge_indices[2]

A list of indices into the 'edge_list' array passed to the constructor for the edges of the current cell.

Storage space to store the indices of at most two edges.

Definition at line 1423 of file grid_tools.cc.