deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30: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
Public Member Functions | Public Attributes | Private Attributes | List of all members
Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData Class Reference

#include <deal.II/base/mpi_remote_point_evaluation.h>

Public Member Functions

 CellData (const Triangulation< dim, spacedim > &triangulation)
 
std_cxx20::ranges::iota_view< unsigned int, unsigned intcell_indices () const
 
Triangulation< dim, spacedim >::active_cell_iterator get_active_cell_iterator (const unsigned int cell) const
 
ArrayView< const Point< dim > > get_unit_points (const unsigned int cell) const
 
template<typename T >
ArrayView< T > get_data_view (const unsigned int cell, const ArrayView< T > &values) const
 

Public Attributes

std::vector< std::pair< int, int > > cells
 
std::vector< unsigned intreference_point_ptrs
 
std::vector< Point< dim > > reference_point_values
 

Private Attributes

const Triangulation< dim, spacedim > & triangulation
 

Detailed Description

template<int dim, int spacedim = dim>
class Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData

Helper class to store and to access data of points positioned in processed cells.

Definition at line 190 of file mpi_remote_point_evaluation.h.

Constructor & Destructor Documentation

◆ CellData()

template<int dim, int spacedim>
Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::CellData ( const Triangulation< dim, spacedim > &  triangulation)

Constructor.

Parameters
triangulationTriangulation of the domain.

Definition at line 270 of file mpi_remote_point_evaluation.cc.

Member Function Documentation

◆ cell_indices()

template<int dim, int spacedim>
std_cxx20::ranges::iota_view< unsigned int, unsigned int > Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::cell_indices ( ) const

Return an object that can be thought of as an array containing all indices from zero (inclusive) to the total number of cells where points reside given by cells.size() (exclusive). This allows one to write code using range-based for loops of the following kind:

for (const auto cell : cell_data.cell_indices())
{
const auto cell_dofs =
cell_data.get_active_cell_iterator(cell)->as_dof_handler_iterator(
dof_handler);
const auto unit_points = cell_data.get_unit_points(cell);
const auto local_value = cell_data.get_data_view(cell, values);
// user code: not shown
}
std_cxx20::ranges::iota_view< unsigned int, unsigned int > cell_indices() const

Here, we are looping over all cells where points reside and use the index to call the functions get_active_cell_iterator(), get_unit_points(), and get_data_view().

Definition at line 279 of file mpi_remote_point_evaluation.cc.

◆ get_active_cell_iterator()

template<int dim, int spacedim>
Triangulation< dim, spacedim >::active_cell_iterator Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::get_active_cell_iterator ( const unsigned int  cell) const

Return active cell iterator of the processed cell cell.

Definition at line 288 of file mpi_remote_point_evaluation.cc.

◆ get_unit_points()

template<int dim, int spacedim>
ArrayView< const Point< dim > > Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::get_unit_points ( const unsigned int  cell) const

Return unit points of the processed cell cell.

Definition at line 299 of file mpi_remote_point_evaluation.cc.

◆ get_data_view()

template<int dim, int spacedim>
template<typename T >
ArrayView< T > Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::get_data_view ( const unsigned int  cell,
const ArrayView< T > &  values 
) const

Return local view of the processed cell cell for the vector values.

Definition at line 695 of file mpi_remote_point_evaluation.h.

Member Data Documentation

◆ cells

template<int dim, int spacedim = dim>
std::vector<std::pair<int, int> > Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::cells

Level and index of processed cells.

Definition at line 251 of file mpi_remote_point_evaluation.h.

◆ reference_point_ptrs

template<int dim, int spacedim = dim>
std::vector<unsigned int> Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::reference_point_ptrs

Pointers to the start and end of the (reference) points associated to the cell.

Definition at line 257 of file mpi_remote_point_evaluation.h.

◆ reference_point_values

template<int dim, int spacedim = dim>
std::vector<Point<dim> > Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::reference_point_values

Reference points in the interval [0,1]^dim.

Definition at line 262 of file mpi_remote_point_evaluation.h.

◆ triangulation

template<int dim, int spacedim = dim>
const Triangulation<dim, spacedim>& Utilities::MPI::RemotePointEvaluation< dim, spacedim >::CellData::triangulation
private

Reference to the underlying triangulation needed for get_active_cell_iterator().

Definition at line 269 of file mpi_remote_point_evaluation.h.


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