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
Namespaces | Classes | Functions
GridTools::internal Namespace Reference

Namespaces

namespace  BoundingBoxPredicate
 
namespace  FixUpDistortedChildCells
 

Classes

struct  CellDataComparator
 
struct  DistributedComputeIntersectionLocationsInternal
 
struct  DistributedComputePointLocationsInternal
 
class  FaceDataHelper
 
class  FaceDataHelper< 1 >
 
class  Rotate2d
 
class  Rotate3d
 
class  Scale
 
class  Shift
 

Functions

template<int dim, int spacedim>
DistributedComputePointLocationsInternal< dim, spacedim > 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 > 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)
 
void append_face_data (const CellData< 1 > &face_data, SubCellData &subcell_data)
 
void append_face_data (const CellData< 2 > &face_data, SubCellData &subcell_data)
 
void laplace_solve (const SparseMatrix< double > &S, const AffineConstraints< double > &constraints, Vector< double > &u)
 
template<int spacedim>
bool 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 IT >
void 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<int spacedim, typename T >
std::tuple< std::vector< unsigned int >, std::vector< unsigned int >, std::vector< unsigned int > > 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 > > > 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, 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 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)
 

Function Documentation

◆ distributed_compute_point_locations()

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 
)

A function that fills DistributedComputePointLocationsInternal. If the input argument perform_handshake is set to false only the fields needed by GridTools::internal::distributed_compute_point_locations() are filled. If the input argument is set to true additional data structures are set up to be able to set up the communication pattern within Utilities::MPI::RemotePointEvaluation::reinit().

Definition at line 6178 of file grid_tools.cc.

◆ distributed_compute_intersection_locations()

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 
)

A function that fills DistributedComputeIntersectionLocationsInternal. intersection_requests are vertices of cells which describe the entities we want to search intersections for. The template parameter structdim provides the dimension of the resulting intersection.

Definition at line 6563 of file grid_tools.cc.

◆ append_face_data() [1/2]

void GridTools::internal::append_face_data ( const CellData< 1 > &  face_data,
SubCellData subcell_data 
)
inline

Definition at line 432 of file grid_tools.cc.

◆ append_face_data() [2/2]

void GridTools::internal::append_face_data ( const CellData< 2 > &  face_data,
SubCellData subcell_data 
)
inline

Definition at line 440 of file grid_tools.cc.

◆ laplace_solve()

void GridTools::internal::laplace_solve ( const SparseMatrix< double > &  S,
const AffineConstraints< double > &  constraints,
Vector< double > &  u 
)
inline

Solve the Laplace equation for the laplace_transform function for one of the dim space dimensions. Factorized into a function of its own in order to allow parallel execution.

Definition at line 2218 of file grid_tools.cc.

◆ compare_point_association()

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 
)

Definition at line 2770 of file grid_tools.cc.

◆ set_subdomain_id_in_zorder_recursively()

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 
)

recursive helper function for partition_triangulation_zorder

Definition at line 4107 of file grid_tools.cc.

◆ guess_owners_of_entities()

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 
)

Determine for each rank which entry of entities it might own. The first entry of the returned tuple is a list of ranks and the second and third entry give CRS data structure (pointers within a list of indices).

Definition at line 5880 of file grid_tools.cc.

◆ find_all_locally_owned_active_cells_around_point()

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 
)

Definition at line 5979 of file grid_tools.cc.

◆ process_sub_cell()

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 
)

Definition at line 7224 of file grid_tools.cc.