FleCSI User API Version: 2.3.0
 
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 key_t = flecsi::morton_curve< dimension, std::size_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 = data::topology_accessor< ntree_specialization, privilege_pack< Priv... > >
 The topology accessor to use as a parameter to receive a slot.
 
using base = base_t< ntree >
 The core topology base type, which can provide specialization utilities.
 
using coloring = typename base::coloring
 The coloring type.
 
using cslot = data::coloring_slot< ntree_specialization >
 The slot type for holding a coloring object.
 
using slot = data::topology_slot< ntree_specialization >
 The slot type for declaring topology instances.
 
- Public Types inherited from specialization_base
template<auto V, class T >
using from = util::key_type< V, T >
 A connectivity specification.
 
template<auto V, class T >
using entity = util::key_type< V, T >
 A special-entities specification.
 
template<auto... V>
using has = util::constants< V... >
 A list of enumerators for which to store data.
 
template<auto... V>
using to = util::constants< V... >
 A list of index spaces to use as output.
 
template<class... TT>
using list = util::types< TT... >
 Container.
 
using index_space = single_space
 The index space type.
 
using index_spaces = has< elements >
 The set of index spaces, wrapped in has.
 
template<class B >
using interface = B
 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 = flecsi::morton_curve<dimension, std::size_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.

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

constexpr 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

constexpr unsigned int max_neighbors
staticconstexpr

Maximum number of neighbors per entities.

This is used to compute neighbors list on GPU architectures.