Gyselalib++
 
Loading...
Searching...
No Matches
MultipatchConnectivity< Interfaces > Class Template Reference

A helper class which provides functionalities to recognise how different patches are connected. More...

Public Types

using interface_collection = ddc::detail::TypeSeq< Interfaces... >
 A type sequence of all the interfaces handled by this class.
 
using inner_edges = strip_outside_edges_t< typename Interfaces::Edge1..., typename Interfaces::Edge2... >
 A type sequence of all the edges handled by this class except the OuterEdge types.
 
using all_patches = extract_patches_t< inner_edges >
 A type sequence of all the patches handled by this class.
 
template<class QueryPatch >
using get_type_seq_connections_t = interfaces_of_patch_t< QueryPatch, interface_collection >
 A tool to find a type sequence of all interfaces of a patch.
 
template<class QueryPatch >
using get_connections_t = to_tuple_t< get_type_seq_connections_t< QueryPatch > >
 A tool to find a tuple of all interfaces of a patch.
 
template<class QueryPatch1 , class QueryPatch2 >
using find_connections_t = ddcHelper::type_seq_intersection_t< get_type_seq_connections_t< QueryPatch1 >, get_type_seq_connections_t< QueryPatch2 > >
 A tool to find all interfaces linking 2 patches.
 
template<class Grid1D >
using get_all_interfaces_along_direction_t = collect_interfaces_on_dim_t< find_patch_t< Grid1D, all_patches >, Grid1D, interface_collection >
 A tool to find all interfaces along a line which passes through the requested grid.
 

Static Public Member Functions

template<class Grid1D , class... IdxRanges>
static auto get_all_idx_ranges_along_direction (std::tuple< IdxRanges... > all_idx_ranges)
 A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid.
 
template<class Grid1D , template< typename P > typename T, class... Patches>
static auto get_all_idx_ranges_along_direction (MultipatchType< T, Patches... > all_idx_ranges)
 A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid.
 

Detailed Description

template<class... Interfaces>
class MultipatchConnectivity< Interfaces >

A helper class which provides functionalities to recognise how different patches are connected.

Template Parameters
InterfacesThe interfaces which describe the connectivity in this geometry.

Member Typedef Documentation

◆ get_type_seq_connections_t

template<class... Interfaces>
template<class QueryPatch >
using MultipatchConnectivity< Interfaces >::get_type_seq_connections_t = interfaces_of_patch_t<QueryPatch, interface_collection>

A tool to find a type sequence of all interfaces of a patch.

Template Parameters
QueryPatchThe patch whose connections we are interested in.

◆ get_connections_t

template<class... Interfaces>
template<class QueryPatch >
using MultipatchConnectivity< Interfaces >::get_connections_t = to_tuple_t<get_type_seq_connections_t<QueryPatch> >

A tool to find a tuple of all interfaces of a patch.

Template Parameters
QueryPatchThe patch whose connections we are interested in.

◆ find_connections_t

template<class... Interfaces>
template<class QueryPatch1 , class QueryPatch2 >
using MultipatchConnectivity< Interfaces >::find_connections_t = ddcHelper::type_seq_intersection_t< get_type_seq_connections_t<QueryPatch1>, get_type_seq_connections_t<QueryPatch2> >

A tool to find all interfaces linking 2 patches.

Template Parameters
QueryPatch1The first patch.
QueryPatch2The second patch.

◆ get_all_interfaces_along_direction_t

template<class... Interfaces>
template<class Grid1D >
using MultipatchConnectivity< Interfaces >::get_all_interfaces_along_direction_t = collect_interfaces_on_dim_t< find_patch_t<Grid1D, all_patches>, Grid1D, interface_collection>

A tool to find all interfaces along a line which passes through the requested grid.

Template Parameters
Grid1DThe grid indicating the direction of interest.

Member Function Documentation

◆ get_all_idx_ranges_along_direction() [1/2]

template<class... Interfaces>
template<class Grid1D , class... IdxRanges>
static auto MultipatchConnectivity< Interfaces >::get_all_idx_ranges_along_direction ( std::tuple< IdxRanges... >  all_idx_ranges)
inlinestatic

A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid.

Template Parameters
Grid1DThe grid indicating the direction of interest.
Parameters
all_idx_rangesA tuple containing all available index ranges.
Returns
A tuple of index ranges along the line of interest.

◆ get_all_idx_ranges_along_direction() [2/2]

template<class... Interfaces>
template<class Grid1D , template< typename P > typename T, class... Patches>
static auto MultipatchConnectivity< Interfaces >::get_all_idx_ranges_along_direction ( MultipatchType< T, Patches... >  all_idx_ranges)
inlinestatic

A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid.

Template Parameters
Grid1DThe grid indicating the direction of interest.
Parameters
all_idx_rangesA MultipatchType containing all available index ranges.
Returns
A tuple of index ranges along the line of interest.

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