Interface Documentation
Version: invalid
Namespaces | Functions
closure_utils.hh File Reference
#include "flecsi/flog.hh"
#include "flecsi/topo/unstructured/definition.hh"
#include "flecsi/util/set_utils.hh"
#include "flecsi/util/type_traits.hh"
#include <map>
#include <set>
#include <vector>
Include dependency graph for closure_utils.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 flecsi
 

Functions

template<size_t from_dim, size_t to_dim, size_t thru_dim, size_t D>
std::set< size_t > flecsi::topo::unstructured_impl::entity_neighbors (const definition< D > &md, size_t entity_id)
 
template<size_t from_dim, size_t to_dim, size_t thru_dim, size_t D, typename U , typename = std::enable_if_t<util::is_iterative_container_v<U>>>
std::set< size_t > flecsi::topo::unstructured_impl::entity_neighbors (const definition< D > &md, U &&indices)
 
template<size_t from_dim, size_t to_dim, size_t D>
std::set< size_t > flecsi::topo::unstructured_impl::entity_referencers (const definition< D > &md, size_t id)
 
template<size_t from_dim, size_t to_dim, size_t D, typename U >
std::set< size_t > flecsi::topo::unstructured_impl::entity_closure (const definition< D > &md, U &&indices)
 

Function Documentation

◆ entity_closure()

template<size_t from_dim, size_t to_dim, size_t D, typename U >
std::set<size_t> flecsi::topo::unstructured_impl::entity_closure ( const definition< D > &  md,
U &&  indices 
)

Return the union of all vertices that are referenced by at least one of the entities in the given set of indices.

Template Parameters
by_dimThe topological dimension of the entities that reference the vertex.
Parameters
mdThe mesh definition containing the topological connectivity information.
indicesThe entity indeces.

◆ entity_neighbors() [1/2]

template<size_t from_dim, size_t to_dim, size_t thru_dim, size_t D>
std::set<size_t> flecsi::topo::unstructured_impl::entity_neighbors ( const definition< D > &  md,
size_t  entity_id 
)

Find the neighbors of the given entity id.

Template Parameters
from_dimThe topological dimension of the entity for which the neighbor information is being requested.
to_dimThe topological dimension to search for neighbors.
thru_dimThe topological dimension through which the neighbor connection exists.
Parameters
mdThe mesh definition containing the topological connectivity information.
entity_idThe id of the entity in from_dim for which the neighbors are to be found.

◆ entity_neighbors() [2/2]

template<size_t from_dim, size_t to_dim, size_t thru_dim, size_t D, typename U , typename = std::enable_if_t<util::is_iterative_container_v<U>>>
std::set<size_t> flecsi::topo::unstructured_impl::entity_neighbors ( const definition< D > &  md,
U &&  indices 
)

Return the dependency closure of the given set.

Template Parameters
from_dimThe topological dimension of the entity for which the neighbor information is being requested.
to_dimThe topological dimension to search for neighbors.
thru_dimThe topological dimension through which the neighbor connection exists.
Parameters
mdThe mesh definition containing the topological connectivity information.
indicesThe entity indices of the initial set.
intersectionsThe number of intersections that constitute a neighboring entity.

◆ entity_referencers()

template<size_t from_dim, size_t to_dim, size_t D>
std::set<size_t> flecsi::topo::unstructured_impl::entity_referencers ( const definition< D > &  md,
size_t  id 
)

Return the cells that reference the given vertex id.

Template Parameters
by_dimThe topological dimension of the entities that reference the vertex.
Parameters
mdThe mesh definition containing the topological connectivity information.
idThe id of the vertex.