FleCSI User API Version: 2.3.1
 
Loading...
Searching...
No Matches
ntree_specialization Struct Reference

Example specialization which is not really implemented. More...

Classes

struct  entity_data
 Struct containing data for entities to compute interactions. More...
 
struct  node_data
 Struct containing data for nodes to compute interactions. More...
 

Public Types

using index_spaces
 Mandatory index spaces featured by the N-Tree interface.
 
using key_t
 Specify the space filling curves to use in the domain and the N-Tree construction.
 
- Public Types inherited from specialization< ntree, ntree_specialization >
using accessor
 The topology accessor to use as a parameter to receive a slot.
 
using base
 The core topology base type, which can provide specialization utilities.
 
using coloring
 The coloring type.
 
using slot
 The slot type for declaring topology instances.
 
- Public Types inherited from specialization_base
template<auto V, class T >
using from
 A connectivity specification.
 
template<auto V, class T >
using entity
 A special-entities specification.
 
template<auto... V>
using has
 A list of enumerators for which to store data.
 
template<auto... V>
using to
 A list of index spaces to use as output.
 
template<class... TT>
using list
 Container.
 
using index_space
 The index space type.
 
using index_spaces
 The set of index spaces, wrapped in has.
 
template<class B >
using interface
 The topology interface type.
 

Static Public Member Functions

static std::size_t hash (key_t k)
 Hashing function used in the hashtable to distribute the keys.
 
Intersection Functions

Function computing interation between entity-entity, entity-node and node-node.

Returns true if there is an interaction. A possible implementation is to use a templated function.

- Static Public Member Functions inherited from specialization< ntree, ntree_specialization >
static constexpr auto default_space ()
 The default index space to use when one is optional.
 
static void initialize (slot &s, coloring const &)
 Specialization-specific initialization.
 

Static Public Attributes

static constexpr unsigned int dimension
 Dimension of the N-Tree.
 
static constexpr unsigned int max_neighbors
 Maximum number of neighbors per entities.
 
- Static Public Attributes inherited from specialization< ntree, ntree_specialization >
static constexpr PrivilegeCount privilege_count
 The number of privileges to use for an accessor.
 

Additional Inherited Members

- Public Member Functions inherited from specialization_base
 specialization_base ()=delete
 Specializations cannot be constructed.
 

Detailed Description

Example specialization which is not really implemented.

Member Typedef Documentation

◆ key_t

using key_t

Specify the space filling curves to use in the domain and the N-Tree construction.

The provided class must derive from the CRTP filling_curve_key.

◆ index_spaces

using index_spaces

Mandatory index spaces featured by the N-Tree interface.

This allows the access to the two index spaces entities and nodes.

Member Function Documentation

◆ hash()

static std::size_t hash ( key_t k)
static

Hashing function used in the hashtable to distribute the keys.

Member Data Documentation

◆ dimension

unsigned int dimension
staticconstexpr

Dimension of the N-Tree.

It can be 1, 2 or 3 for a binary tree, quadtree or octree respectively.

◆ max_neighbors

unsigned int max_neighbors
staticconstexpr

Maximum number of neighbors per entities.

This is used to compute neighbors list on GPU architectures.