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. | |
Example specialization which is not really implemented.
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.
|
static |
Hashing function used in the hashtable to distribute the keys.
|
staticconstexpr |
Dimension of the N-Tree.
It can be 1, 2 or 3 for a binary tree, quadtree or octree respectively.
|
staticconstexpr |
Maximum number of neighbors per entities.
This is used to compute neighbors list on GPU architectures.