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
Public Member Functions | Static Public Member Functions | List of all members
GridReordering< dim, spacedim > Class Template Reference

#include <deal.II/grid/grid_reordering.h>

Public Member Functions

void invert_all_cells_of_negative_grid (const std::vector< Point< 2 > > &all_vertices, std::vector< CellData< 2 > > &cells, const bool use_new_style_ordering)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 3 > > &all_vertices, std::vector< CellData< 2 > > &cells, const bool use_new_style_ordering)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 3 > > &all_vertices, std::vector< CellData< 3 > > &cells, const bool use_new_style_ordering)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 1 > > &, std::vector< CellData< 1 > > &, const bool)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 2 > > &, std::vector< CellData< 1 > > &, const bool)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 3 > > &, std::vector< CellData< 1 > > &, const bool)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 2 > > &all_vertices, std::vector< CellData< 2 > > &cells, const bool use_new_style_ordering)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 3 > > &, std::vector< CellData< 2 > > &, const bool)
 
void invert_all_cells_of_negative_grid (const std::vector< Point< 3 > > &all_vertices, std::vector< CellData< 3 > > &cells, const bool use_new_style_ordering)
 

Static Public Member Functions

static void reorder_cells (std::vector< CellData< dim > > &original_cells, const bool use_new_style_ordering=false)
 
static void invert_all_cells_of_negative_grid (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &original_cells, const bool use_new_style_ordering=false)
 

Detailed Description

template<int dim, int spacedim = dim>
class GridReordering< dim, spacedim >

A class implementing various grid reordering algorithms. For more information see the reordering module.

Deprecated:
Use GridTools::invert_all_negative_measure_cells() or GridTools::consistently_order_cells() instead of the functions provided by this class. Usage of the old-style numbering is deprecated.

Definition at line 38 of file grid_reordering.h.

Member Function Documentation

◆ reorder_cells()

template<int dim, int spacedim>
void GridReordering< dim, spacedim >::reorder_cells ( std::vector< CellData< dim > > &  original_cells,
const bool  use_new_style_ordering = false 
)
static

This is the main function, doing what is announced in the general documentation of this class for dim=2 and 3 and doing nothing for dim=1.

If a consistent reordering is not possible in dim=3, the original connectivity data is restored.

Parameters
original_cellsAn object that contains the data that describes the mesh.
use_new_style_orderingIf true, then use the standard ordering of vertices within a cell. If false (the default), then use the "old-style" ordering of vertices within cells used by deal.II before version 5.2 and as explained in the documentation of this class.
Deprecated:
Use GridTools::consistently_order_cells() instead.

Definition at line 114 of file grid_reordering.cc.

◆ invert_all_cells_of_negative_grid() [1/10]

template<int dim, int spacedim = dim>
static void GridReordering< dim, spacedim >::invert_all_cells_of_negative_grid ( const std::vector< Point< spacedim > > &  all_vertices,
std::vector< CellData< dim > > &  original_cells,
const bool  use_new_style_ordering = false 
)
static

Grids generated by grid generators may have an orientation of cells which is the inverse of the orientation required by deal.II.

In 2d and 3d this function checks whether all cells have negative or positive measure/volume. In the former case, all cells are inverted. It does nothing in 1d.

The inversion of cells might also work when only a subset of all cells have negative volume. However, grids consisting of a mixture of negative and positively oriented cells are very likely to be broken. Therefore, an exception is thrown, in case cells are not uniformly oriented.

Note, that this function should be called before reorder_cells().

Parameters
all_verticesThe vertices of the mesh.
original_cellsAn object that contains the data that describes the mesh.
use_new_style_orderingIf true, then use the standard ordering of vertices within a cell. If false (the default), then use the "old-style" ordering of vertices within cells used by deal.II before version 5.2 and as explained in the documentation of this class.
Deprecated:
Use GridTools::invert_all_negative_measure_cells() instead.

◆ invert_all_cells_of_negative_grid() [2/10]

void GridReordering< 2 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 2 > > &  all_vertices,
std::vector< CellData< 2 > > &  cells,
const bool  use_new_style_ordering 
)

◆ invert_all_cells_of_negative_grid() [3/10]

void GridReordering< 2, 3 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 3 > > &  all_vertices,
std::vector< CellData< 2 > > &  cells,
const bool  use_new_style_ordering 
)

◆ invert_all_cells_of_negative_grid() [4/10]

void GridReordering< 3 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 3 > > &  all_vertices,
std::vector< CellData< 3 > > &  cells,
const bool  use_new_style_ordering 
)

◆ invert_all_cells_of_negative_grid() [5/10]

void GridReordering< 1 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 1 > > &  ,
std::vector< CellData< 1 > > &  ,
const bool   
)

Definition at line 139 of file grid_reordering.cc.

◆ invert_all_cells_of_negative_grid() [6/10]

void GridReordering< 1, 2 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 2 > > &  ,
std::vector< CellData< 1 > > &  ,
const bool   
)

Definition at line 151 of file grid_reordering.cc.

◆ invert_all_cells_of_negative_grid() [7/10]

void GridReordering< 1, 3 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 3 > > &  ,
std::vector< CellData< 1 > > &  ,
const bool   
)

Definition at line 163 of file grid_reordering.cc.

◆ invert_all_cells_of_negative_grid() [8/10]

void GridReordering< 2 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 2 > > &  all_vertices,
std::vector< CellData< 2 > > &  cells,
const bool  use_new_style_ordering 
)

Definition at line 174 of file grid_reordering.cc.

◆ invert_all_cells_of_negative_grid() [9/10]

void GridReordering< 2, 3 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 3 > > &  ,
std::vector< CellData< 2 > > &  ,
const bool   
)

Definition at line 192 of file grid_reordering.cc.

◆ invert_all_cells_of_negative_grid() [10/10]

void GridReordering< 3 >::invert_all_cells_of_negative_grid ( const std::vector< Point< 3 > > &  all_vertices,
std::vector< CellData< 3 > > &  cells,
const bool  use_new_style_ordering 
)

Definition at line 204 of file grid_reordering.cc.


The documentation for this class was generated from the following files: