deal.II version GIT relicensing-2165-gc91f007519 2024-11-20 01:40:00+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
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 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)
 
void append_face_data (const CellData< 1 > &face_data, SubCellData &subcell_data)
 
void append_face_data (const CellData< 2 > &face_data, SubCellData &subcell_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 3920 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 4311 of file grid_tools.cc.

◆ laplace_solve()

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

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

Definition at line 782 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 
)
private

recursive helper function for partition_triangulation_zorder

Definition at line 1956 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 
)
private

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

Definition at line 3720 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 
)
private

Definition at line 4911 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 37 of file grid_tools_topology.cc.

◆ append_face_data() [2/2]

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

Definition at line 45 of file grid_tools_topology.cc.