Reference documentation for deal.II version GIT relicensing-487-ge9eb5ab491 2024-04-25 07:20:02+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
Functions
GridTools::internal::FixUpDistortedChildCells Namespace Reference

Functions

template<typename Iterator , int spacedim>
double objective_function (const Iterator &object, const Point< spacedim > &object_mid_point)
 
template<typename Iterator >
Point< Iterator::AccessorType::space_dimension > get_face_midpoint (const Iterator &object, const unsigned int f, std::integral_constant< int, 1 >)
 
template<typename Iterator >
Point< Iterator::AccessorType::space_dimension > get_face_midpoint (const Iterator &object, const unsigned int f, std::integral_constant< int, 2 >)
 
template<typename Iterator >
Point< Iterator::AccessorType::space_dimension > get_face_midpoint (const Iterator &object, const unsigned int f, std::integral_constant< int, 3 >)
 
template<typename Iterator >
double minimal_diameter (const Iterator &object)
 
template<typename Iterator >
bool fix_up_object (const Iterator &object)
 
template<int dim, int spacedim>
void fix_up_faces (const typename ::Triangulation< dim, spacedim >::cell_iterator &cell, std::integral_constant< int, dim >, std::integral_constant< int, spacedim >)
 

Function Documentation

◆ objective_function()

template<typename Iterator , int spacedim>
double GridTools::internal::FixUpDistortedChildCells::objective_function ( const Iterator &  object,
const Point< spacedim > &  object_mid_point 
)
private

Definition at line 2350 of file grid_tools.cc.

◆ get_face_midpoint() [1/3]

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 >   
)
private

Return the location of the midpoint of the 'f'th face (vertex) of this 1d object.

Definition at line 2446 of file grid_tools.cc.

◆ get_face_midpoint() [2/3]

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 >   
)
private

Return the location of the midpoint of the 'f'th face (line) of this 2d object.

Definition at line 2462 of file grid_tools.cc.

◆ get_face_midpoint() [3/3]

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 >   
)
private

Return the location of the midpoint of the 'f'th face (quad) of this 3d object.

Definition at line 2478 of file grid_tools.cc.

◆ minimal_diameter()

template<typename Iterator >
double GridTools::internal::FixUpDistortedChildCells::minimal_diameter ( const Iterator &  object)
private

Compute the minimal diameter of an object by looking for the minimal distance between the mid-points of its faces. This minimal diameter is used to determine the step length for our grid cell improvement algorithm, and it should be small enough that the point moves around within the cell even if it is highly elongated – thus, the diameter of the object is not a good measure, while the minimal diameter is. Note that the algorithm below works for both cells that are long rectangles with parallel sides where the nearest distance is between opposite edges as well as highly slanted parallelograms where the shortest distance is between neighboring edges.

Definition at line 2511 of file grid_tools.cc.

◆ fix_up_object()

template<typename Iterator >
bool GridTools::internal::FixUpDistortedChildCells::fix_up_object ( const Iterator &  object)
private

Try to fix up a single cell by moving around its midpoint. Return whether we succeeded with this.

Definition at line 2538 of file grid_tools.cc.

◆ fix_up_faces()

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 >   
)
private

Definition at line 2720 of file grid_tools.cc.