Reference documentation for deal.II version 9.4.1
|
#include <deal.II/base/config.h>
#include <deal.II/base/bounding_box.h>
#include <deal.II/base/geometry_info.h>
#include <deal.II/base/point.h>
#include <deal.II/base/std_cxx17/optional.h>
#include <deal.II/boost_adaptors/bounding_box.h>
#include <deal.II/distributed/shared_tria.h>
#include <deal.II/dofs/dof_handler.h>
#include <deal.II/fe/fe_values.h>
#include <deal.II/fe/mapping.h>
#include <deal.II/fe/mapping_q1.h>
#include <deal.II/grid/manifold.h>
#include <deal.II/grid/tria.h>
#include <deal.II/grid/tria_accessor.h>
#include <deal.II/grid/tria_iterator.h>
#include <deal.II/hp/dof_handler.h>
#include <deal.II/lac/la_parallel_vector.h>
#include <deal.II/lac/la_vector.h>
#include <deal.II/lac/petsc_vector.h>
#include <deal.II/lac/sparsity_tools.h>
#include <deal.II/lac/trilinos_vector.h>
#include <deal.II/numerics/rtree.h>
#include <boost/archive/binary_iarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/random/mersenne_twister.hpp>
#include <boost/serialization/array.hpp>
#include <boost/serialization/vector.hpp>
#include <boost/iostreams/device/back_inserter.hpp>
#include <boost/iostreams/filter/gzip.hpp>
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/iostreams/stream.hpp>
#include <bitset>
#include <list>
#include <set>
Go to the source code of this file.
Namespaces | |
namespace | internal |
namespace | GridTools |
namespace | GridTools::internal |
Functions | |
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) |
static ::ExceptionBase & | ExcMeshNotOrientable () |
Information about meshes and cells | |
template<int dim, int spacedim> | |
double | GridTools::diameter (const Triangulation< dim, spacedim > &tria) |
template<int dim, int spacedim> | |
double | GridTools::volume (const Triangulation< dim, spacedim > &tria, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >())) |
template<int dim, int spacedim> | |
double | GridTools::minimal_cell_diameter (const Triangulation< dim, spacedim > &triangulation, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >())) |
template<int dim, int spacedim> | |
double | GridTools::maximal_cell_diameter (const Triangulation< dim, spacedim > &triangulation, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >())) |
template<int dim> | |
double | GridTools::cell_measure (const std::vector< Point< dim > > &all_vertices, const unsigned int(&vertex_indices)[GeometryInfo< dim >::vertices_per_cell]) |
template<int dim> | |
double | GridTools::cell_measure (const std::vector< Point< dim > > &all_vertices, const ArrayView< const unsigned int > &vertex_indices) |
template<int dim, int spacedim> | |
std::pair< DerivativeForm< 1, dim, spacedim >, Tensor< 1, spacedim > > | GridTools::affine_cell_approximation (const ArrayView< const Point< spacedim > > &vertices) |
template<int dim> | |
Vector< double > | GridTools::compute_aspect_ratio_of_cells (const Mapping< dim > &mapping, const Triangulation< dim > &triangulation, const Quadrature< dim > &quadrature) |
template<int dim> | |
double | GridTools::compute_maximum_aspect_ratio (const Mapping< dim > &mapping, const Triangulation< dim > &triangulation, const Quadrature< dim > &quadrature) |
template<int dim, int spacedim> | |
BoundingBox< spacedim > | GridTools::compute_bounding_box (const Triangulation< dim, spacedim > &triangulation) |
template<typename Iterator > | |
Point< Iterator::AccessorType::space_dimension > | GridTools::project_to_object (const Iterator &object, const Point< Iterator::AccessorType::space_dimension > &trial_point) |
template<int dim, int spacedim> | |
std::tuple< std::vector< Point< spacedim > >, std::vector< CellData< dim > >, SubCellData > | GridTools::get_coarse_mesh_description (const Triangulation< dim, spacedim > &tria) |
Functions supporting the creation of meshes | |
template<int dim, int spacedim> | |
void | GridTools::delete_unused_vertices (std::vector< Point< spacedim > > &vertices, std::vector< CellData< dim > > &cells, SubCellData &subcelldata) |
template<int dim, int spacedim> | |
void | GridTools::delete_duplicated_vertices (std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells, SubCellData &subcelldata, std::vector< unsigned int > &considered_vertices, const double tol=1e-12) |
template<int dim, int spacedim> | |
void | GridTools::invert_all_negative_measure_cells (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells) |
template<int dim, int spacedim> | |
std::size_t | GridTools::invert_cells_with_negative_measure (const std::vector< Point< spacedim > > &all_vertices, std::vector< CellData< dim > > &cells) |
template<int dim> | |
void | GridTools::consistently_order_cells (std::vector< CellData< dim > > &cells) |
Rotating, stretching and otherwise transforming meshes | |
template<int dim, typename Transformation , int spacedim> | |
void | GridTools::transform (const Transformation &transformation, Triangulation< dim, spacedim > &triangulation) |
template<int dim, int spacedim> | |
void | GridTools::shift (const Tensor< 1, spacedim > &shift_vector, Triangulation< dim, spacedim > &triangulation) |
template<int dim> | |
void | GridTools::rotate (const double angle, Triangulation< dim > &triangulation) |
template<int dim> | |
void | GridTools::rotate (const Tensor< 1, 3, double > &axis, const double angle, Triangulation< dim, 3 > &triangulation) |
template<int dim> | |
void | GridTools::rotate (const double angle, const unsigned int axis, Triangulation< dim, 3 > &triangulation) |
template<int dim> | |
void | GridTools::laplace_transform (const std::map< unsigned int, Point< dim > > &new_points, Triangulation< dim > &tria, const Function< dim, double > *coefficient=nullptr, const bool solve_for_absolute_positions=false) |
template<int dim, int spacedim> | |
std::map< unsigned int, Point< spacedim > > | GridTools::get_all_vertices_at_boundary (const Triangulation< dim, spacedim > &tria) |
template<int dim, int spacedim> | |
void | GridTools::scale (const double scaling_factor, Triangulation< dim, spacedim > &triangulation) |
template<int dim, int spacedim> | |
void | GridTools::distort_random (const double factor, Triangulation< dim, spacedim > &triangulation, const bool keep_boundary=true, const unsigned int seed=boost::random::mt19937::default_seed) |
template<int dim, int spacedim> | |
void | GridTools::remove_hanging_nodes (Triangulation< dim, spacedim > &tria, const bool isotropic=false, const unsigned int max_iterations=100) |
template<int dim, int spacedim> | |
void | GridTools::remove_anisotropy (Triangulation< dim, spacedim > &tria, const double max_ratio=1.6180339887, const unsigned int max_iterations=5) |
template<int dim, int spacedim> | |
void | GridTools::regularize_corner_cells (Triangulation< dim, spacedim > &tria, const double limit_angle_fraction=.75) |
Finding cells and vertices of a triangulation | |
template<int dim, int spacedim> | |
return_type | GridTools::compute_point_locations (const Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &points, const typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint=typename Triangulation< dim, spacedim >::active_cell_iterator()) |
template<int dim, int spacedim> | |
return_type | GridTools::compute_point_locations_try_all (const Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &points, const typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint=typename Triangulation< dim, spacedim >::active_cell_iterator()) |
template<int dim, int spacedim> | |
return_type | GridTools::distributed_compute_point_locations (const GridTools::Cache< dim, spacedim > &cache, const std::vector< Point< spacedim > > &local_points, const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const double tolerance=1e-10) |
template<int dim, int spacedim> | |
std::map< unsigned int, Point< spacedim > > | GridTools::extract_used_vertices (const Triangulation< dim, spacedim > &container, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >())) |
template<int spacedim> | |
unsigned int | GridTools::find_closest_vertex (const std::map< unsigned int, Point< spacedim > > &vertices, const Point< spacedim > &p) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
unsigned int | GridTools::find_closest_vertex (const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< bool > &marked_vertices={}) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
unsigned int | GridTools::find_closest_vertex (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< bool > &marked_vertices={}) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
std::vector< typename MeshType< dim, spacedim >::active_cell_iterator > | GridTools::find_cells_adjacent_to_vertex (const MeshType< dim, spacedim > &container, const unsigned int vertex_index) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
std::pair< typename MeshType< dim, spacedim >::active_cell_iterator, Point< dim > > | GridTools::find_active_cell_around_point (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< bool > &marked_vertices={}, const double tolerance=1.e-10) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
MeshType< dim, spacedim >::active_cell_iterator | GridTools::find_active_cell_around_point (const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< bool > &marked_vertices={}, const double tolerance=1.e-10) |
template<int dim, int spacedim> | |
std::pair< typename DoFHandler< dim, spacedim >::active_cell_iterator, Point< dim > > | GridTools::find_active_cell_around_point (const hp::MappingCollection< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &mesh, const Point< spacedim > &p, const double tolerance=1.e-10) |
template<int dim, int spacedim> | |
std::pair< typename Triangulation< dim, spacedim >::active_cell_iterator, Point< dim > > | GridTools::find_active_cell_around_point (const Cache< dim, spacedim > &cache, const Point< spacedim > &p, const typename Triangulation< dim, spacedim >::active_cell_iterator &cell_hint=typename Triangulation< dim, spacedim >::active_cell_iterator(), const std::vector< bool > &marked_vertices={}, const double tolerance=1.e-10) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
std::pair< typename MeshType< dim, spacedim >::active_cell_iterator, Point< dim > > | GridTools::find_active_cell_around_point (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const std::vector< std::set< typename MeshType< dim, spacedim >::active_cell_iterator > > &vertex_to_cell_map, const std::vector< std::vector< Tensor< 1, spacedim > > > &vertex_to_cell_centers, const typename MeshType< dim, spacedim >::active_cell_iterator &cell_hint=typename MeshType< dim, spacedim >::active_cell_iterator(), const std::vector< bool > &marked_vertices={}, const RTree< std::pair< Point< spacedim >, unsigned int > > &used_vertices_rtree=RTree< std::pair< Point< spacedim >, unsigned int > >{}, const double tolerance=1.e-10, const RTree< std::pair< BoundingBox< spacedim >, typename Triangulation< dim, spacedim >::active_cell_iterator > > *relevant_cell_bounding_boxes_rtree=nullptr) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
std::vector< std::pair< typename MeshType< dim, spacedim >::active_cell_iterator, Point< dim > > > | GridTools::find_all_active_cells_around_point (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const double tolerance, const std::pair< typename MeshType< dim, spacedim >::active_cell_iterator, Point< dim > > &first_cell) |
template<int dim, template< int, int > class MeshType, int spacedim> | |
std::vector< std::pair< typename MeshType< dim, spacedim >::active_cell_iterator, Point< dim > > > | GridTools::find_all_active_cells_around_point (const Mapping< dim, spacedim > &mapping, const MeshType< dim, spacedim > &mesh, const Point< spacedim > &p, const double tolerance=1e-10, const std::vector< bool > &marked_vertices={}) |
template<class MeshType > | |
std::vector< typename MeshType::active_cell_iterator > | GridTools::get_active_child_cells (const typename MeshType::cell_iterator &cell) |
template<class MeshType > | |
void | GridTools::get_active_neighbors (const typename MeshType::active_cell_iterator &cell, std::vector< typename MeshType::active_cell_iterator > &active_neighbors) |
template<class MeshType > | |
std::vector< typename MeshType::active_cell_iterator > | GridTools::compute_active_cell_halo_layer (const MeshType &mesh, const std::function< bool(const typename MeshType::active_cell_iterator &)> &predicate) |
template<class MeshType > | |
std::vector< typename MeshType::cell_iterator > | GridTools::compute_cell_halo_layer_on_level (const MeshType &mesh, const std::function< bool(const typename MeshType::cell_iterator &)> &predicate, const unsigned int level) |
template<class MeshType > | |
std::vector< typename MeshType::active_cell_iterator > | GridTools::compute_ghost_cell_halo_layer (const MeshType &mesh) |
template<class MeshType > | |
std::vector< typename MeshType::active_cell_iterator > | GridTools::compute_active_cell_layer_within_distance (const MeshType &mesh, const std::function< bool(const typename MeshType::active_cell_iterator &)> &predicate, const double layer_thickness) |
template<class MeshType > | |
std::vector< typename MeshType::active_cell_iterator > | GridTools::compute_ghost_cell_layer_within_distance (const MeshType &mesh, const double layer_thickness) |
template<class MeshType > | |
std::pair< Point< MeshType::space_dimension >, Point< MeshType::space_dimension > > | GridTools::compute_bounding_box (const MeshType &mesh, const std::function< bool(const typename MeshType::active_cell_iterator &)> &predicate) |
template<class MeshType > | |
std::vector< BoundingBox< MeshType::space_dimension > > | GridTools::compute_mesh_predicate_bounding_box (const MeshType &mesh, const std::function< bool(const typename MeshType::active_cell_iterator &)> &predicate, const unsigned int refinement_level=0, const bool allow_merge=false, const unsigned int max_boxes=numbers::invalid_unsigned_int) |
template<int spacedim> | |
return_type | GridTools::guess_point_owner (const std::vector< std::vector< BoundingBox< spacedim > > > &global_bboxes, const std::vector< Point< spacedim > > &points) |
template<int spacedim> | |
return_type | GridTools::guess_point_owner (const RTree< std::pair< BoundingBox< spacedim >, unsigned int > > &covering_rtree, const std::vector< Point< spacedim > > &points) |
template<int dim, int spacedim> | |
std::vector< std::set< typename Triangulation< dim, spacedim >::active_cell_iterator > > | GridTools::vertex_to_cell_map (const Triangulation< dim, spacedim > &triangulation) |
template<int dim, int spacedim> | |
std::vector< std::vector< Tensor< 1, spacedim > > > | GridTools::vertex_to_cell_centers_directions (const Triangulation< dim, spacedim > &mesh, const std::vector< std::set< typename Triangulation< dim, spacedim >::active_cell_iterator > > &vertex_to_cells) |
template<int dim, int spacedim> | |
unsigned int | GridTools::find_closest_vertex_of_cell (const typename Triangulation< dim, spacedim >::active_cell_iterator &cell, const Point< spacedim > &position, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< dim, spacedim >())) |
template<int dim, int spacedim> | |
std::map< unsigned int, types::global_vertex_index > | GridTools::compute_local_to_global_vertex_index_map (const parallel::distributed::Triangulation< dim, spacedim > &triangulation) |
template<int dim, int spacedim> | |
std::pair< unsigned int, double > | GridTools::get_longest_direction (typename Triangulation< dim, spacedim >::active_cell_iterator cell) |
Partitions and subdomains of triangulations | |
template<int dim, int spacedim> | |
void | GridTools::get_face_connectivity_of_cells (const Triangulation< dim, spacedim > &triangulation, DynamicSparsityPattern &connectivity) |
template<int dim, int spacedim> | |
void | GridTools::get_vertex_connectivity_of_cells (const Triangulation< dim, spacedim > &triangulation, DynamicSparsityPattern &connectivity) |
template<int dim, int spacedim> | |
void | GridTools::get_vertex_connectivity_of_cells_on_level (const Triangulation< dim, spacedim > &triangulation, const unsigned int level, DynamicSparsityPattern &connectivity) |
template<int dim, int spacedim> | |
void | GridTools::partition_triangulation (const unsigned int n_partitions, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis) |
template<int dim, int spacedim> | |
void | GridTools::partition_triangulation (const unsigned int n_partitions, const std::vector< unsigned int > &cell_weights, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis) |
template<int dim, int spacedim> | |
void | GridTools::partition_triangulation (const unsigned int n_partitions, const SparsityPattern &cell_connection_graph, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis) |
template<int dim, int spacedim> | |
void | GridTools::partition_triangulation (const unsigned int n_partitions, const std::vector< unsigned int > &cell_weights, const SparsityPattern &cell_connection_graph, Triangulation< dim, spacedim > &triangulation, const SparsityTools::Partitioner partitioner=SparsityTools::Partitioner::metis) |
template<int dim, int spacedim> | |
void | GridTools::partition_triangulation_zorder (const unsigned int n_partitions, Triangulation< dim, spacedim > &triangulation, const bool group_siblings=true) |
template<int dim, int spacedim> | |
void | GridTools::partition_multigrid_levels (Triangulation< dim, spacedim > &triangulation) |
template<int dim, int spacedim> | |
std::vector< types::subdomain_id > | GridTools::get_subdomain_association (const Triangulation< dim, spacedim > &triangulation, const std::vector< CellId > &cell_ids) |
template<int dim, int spacedim> | |
void | GridTools::get_subdomain_association (const Triangulation< dim, spacedim > &triangulation, std::vector< types::subdomain_id > &subdomain) |
template<int dim, int spacedim> | |
unsigned int | GridTools::count_cells_with_subdomain_association (const Triangulation< dim, spacedim > &triangulation, const types::subdomain_id subdomain) |
template<int dim, int spacedim> | |
std::vector< bool > | GridTools::get_locally_owned_vertices (const Triangulation< dim, spacedim > &triangulation) |
Comparing different meshes | |
template<typename MeshType > | |
std::list< std::pair< typename MeshType::cell_iterator, typename MeshType::cell_iterator > > | GridTools::get_finest_common_cells (const MeshType &mesh_1, const MeshType &mesh_2) |
template<int dim, int spacedim> | |
bool | GridTools::have_same_coarse_mesh (const Triangulation< dim, spacedim > &mesh_1, const Triangulation< dim, spacedim > &mesh_2) |
template<typename MeshType > | |
bool | GridTools::have_same_coarse_mesh (const MeshType &mesh_1, const MeshType &mesh_2) |
Dealing with distorted cells | |
template<int dim, int spacedim> | |
Triangulation< dim, spacedim >::DistortedCellList | GridTools::fix_up_distorted_child_cells (const typename Triangulation< dim, spacedim >::DistortedCellList &distorted_cells, Triangulation< dim, spacedim > &triangulation) |
Extracting and creating patches of cells | |
These functions extract and create patches of cells surrounding a single cell, and creating triangulation out of them. | |
template<class MeshType > | |
std::vector< typename MeshType::active_cell_iterator > | GridTools::get_patch_around_cell (const typename MeshType::active_cell_iterator &cell) |
template<class Container > | |
std::vector< typename Container::cell_iterator > | GridTools::get_cells_at_coarsest_common_level (const std::vector< typename Container::active_cell_iterator > &patch_cells) |
template<class Container > | |
void | GridTools::build_triangulation_from_patch (const std::vector< typename Container::active_cell_iterator > &patch, Triangulation< Container::dimension, Container::space_dimension > &local_triangulation, std::map< typename Triangulation< Container::dimension, Container::space_dimension >::active_cell_iterator, typename Container::active_cell_iterator > &patch_to_global_tria_map) |
template<int dim, int spacedim> | |
std::map< types::global_dof_index, std::vector< typename DoFHandler< dim, spacedim >::active_cell_iterator > > | GridTools::get_dof_to_support_patch_map (DoFHandler< dim, spacedim > &dof_handler) |
Dealing with periodic domains | |
template<typename FaceIterator > | |
bool | GridTools::orthogonal_equality (std::bitset< 3 > &orientation, const FaceIterator &face1, const FaceIterator &face2, const unsigned int direction, const Tensor< 1, FaceIterator::AccessorType::space_dimension > &offset=Tensor< 1, FaceIterator::AccessorType::space_dimension >(), const FullMatrix< double > &matrix=FullMatrix< double >()) |
template<typename FaceIterator > | |
bool | GridTools::orthogonal_equality (const FaceIterator &face1, const FaceIterator &face2, const unsigned int direction, const Tensor< 1, FaceIterator::AccessorType::space_dimension > &offset=Tensor< 1, FaceIterator::AccessorType::space_dimension >(), const FullMatrix< double > &matrix=FullMatrix< double >()) |
template<typename MeshType > | |
void | GridTools::collect_periodic_faces (const MeshType &mesh, const types::boundary_id b_id1, const types::boundary_id b_id2, const unsigned int direction, std::vector< PeriodicFacePair< typename MeshType::cell_iterator > > &matched_pairs, const Tensor< 1, MeshType::space_dimension > &offset=::Tensor< 1, MeshType::space_dimension >(), const FullMatrix< double > &matrix=FullMatrix< double >()) |
template<typename MeshType > | |
void | GridTools::collect_periodic_faces (const MeshType &mesh, const types::boundary_id b_id, const unsigned int direction, std::vector< PeriodicFacePair< typename MeshType::cell_iterator > > &matched_pairs, const ::Tensor< 1, MeshType::space_dimension > &offset=::Tensor< 1, MeshType::space_dimension >(), const FullMatrix< double > &matrix=FullMatrix< double >()) |
Dealing with boundary and manifold ids | |
template<int dim, int spacedim> | |
void | GridTools::copy_boundary_to_manifold_id (Triangulation< dim, spacedim > &tria, const bool reset_boundary_ids=false) |
template<int dim, int spacedim> | |
void | GridTools::map_boundary_to_manifold_ids (const std::vector< types::boundary_id > &src_boundary_ids, const std::vector< types::manifold_id > &dst_manifold_ids, Triangulation< dim, spacedim > &tria, const std::vector< types::boundary_id > &reset_boundary_ids={}) |
template<int dim, int spacedim> | |
void | GridTools::copy_material_to_manifold_id (Triangulation< dim, spacedim > &tria, const bool compute_face_ids=false) |
template<int dim, int spacedim> | |
void | GridTools::assign_co_dimensional_manifold_indicators (Triangulation< dim, spacedim > &tria, const std::function< types::manifold_id(const std::set< types::manifold_id > &)> &disambiguation_function=[](const std::set< types::manifold_id > &manifold_ids) { if(manifold_ids.size()==1) return *manifold_ids.begin();else return numbers::flat_manifold_id;}, bool overwrite_only_flat_manifold_ids=true) |
template<typename DataType , typename MeshType > | |
void | GridTools::exchange_cell_data_to_ghosts (const MeshType &mesh, const std::function< std_cxx17::optional< DataType >(const typename MeshType::active_cell_iterator &)> &pack, const std::function< void(const typename MeshType::active_cell_iterator &, const DataType &)> &unpack, const std::function< bool(const typename MeshType::active_cell_iterator &)> &cell_filter=always_return< typename MeshType::active_cell_iterator, bool >{true}) |
template<typename DataType , typename MeshType > | |
void | GridTools::exchange_cell_data_to_level_ghosts (const MeshType &mesh, const std::function< std_cxx17::optional< DataType >(const typename MeshType::level_cell_iterator &)> &pack, const std::function< void(const typename MeshType::level_cell_iterator &, const DataType &)> &unpack, const std::function< bool(const typename MeshType::level_cell_iterator &)> &cell_filter=always_return< typename MeshType::level_cell_iterator, bool >{ true}) |
template<int spacedim> | |
std::vector< std::vector< BoundingBox< spacedim > > > | GridTools::exchange_local_bounding_boxes (const std::vector< BoundingBox< spacedim > > &local_bboxes, const MPI_Comm &mpi_communicator) |
template<int spacedim> | |
RTree< std::pair< BoundingBox< spacedim >, unsigned int > > | GridTools::build_global_description_tree (const std::vector< BoundingBox< spacedim > > &local_description, const MPI_Comm &mpi_communicator) |
template<int dim, int spacedim> | |
void | GridTools::collect_coinciding_vertices (const Triangulation< dim, spacedim > &tria, std::map< unsigned int, std::vector< unsigned int > > &coinciding_vertex_groups, std::map< unsigned int, unsigned int > &vertex_to_coinciding_vertex_group) |
template<int dim, int spacedim> | |
std::map< unsigned int, std::set<::types::subdomain_id > > | GridTools::compute_vertices_with_ghost_neighbors (const Triangulation< dim, spacedim > &tria) |
Exceptions | |
static ::ExceptionBase & | GridTools::ExcInvalidNumberOfPartitions (int arg1) |
static ::ExceptionBase & | GridTools::ExcNonExistentSubdomain (int arg1) |
static ::ExceptionBase & | GridTools::ExcTriangulationHasBeenRefined () |
static ::ExceptionBase & | GridTools::ExcScalingFactorNotPositive (double arg1) |
static ::ExceptionBase & | GridTools::ExcVertexNotUsed (unsigned int arg1) |