FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
ntree< Policy > Struct Template Reference

The ntree topology represents a binary, quad or octree stored/accessed using a hashtable. More...

Classes

struct  access
 See specialization_base::interface. More...
 

Static Public Member Functions

static void make_tree (typename Policy::slot &ts)
 Build the local tree and share the tree boundaries.
 
static void reset (typename Policy::slot &ts)
 Reset the ntree topology.
 
static void share_ghosts (typename Policy::slot &ts)
 Search entities' neighbors and complete the hmap, create copy plans (or buffer)
 

Static Public Attributes

static const field< Color >::template definition< Policy, entities > e_colors
 Entities color field. This represent which color owns an entity.
 
static const field< entity_data >::template definition< Policy, entities > e_i
 Field containing the structure for entities interation from the specialization.
 
static const field< util::id >::template definition< Policy, entities > e_ids
 Entities ids field.
 
static const field< key_t >::template definition< Policy, entities > e_keys
 Entities keys field.
 
static const field< node_data >::template definition< Policy, nodes > n_i
 Field containing the structure for nodes interation from the specialization.
 
static const field< key_t >::template definition< Policy, nodes > n_keys
 Node keys field.
 

Additional Inherited Members

- Public Types inherited from ntree_base
enum  index_space
 Index spaces used for the ntree topology. More...
 
enum  ptype_t { exclusive , ghost , all }
 Parallel types for nodes and entities. More...
 
enum  ttype_t { preorder , postorder , reverse_preorder , reverse_postorder }
 Traversal types for DFS. More...
 

Detailed Description

template<typename Policy>
struct flecsi::topo::ntree< Policy >

The ntree topology represents a binary, quad or octree stored/accessed using a hashtable.

The creation of the N-Tree requires three steps, after filling the appropriate index spaces data:

  • call make_tree function
  • Compute the local information for the interation. This information is used for the next step to compute the ghosts.
  • call share_ghosts function After these calls the N-Tree is ready to be used and the neighbors are computed/available.
    Template Parameters
    Policythe specialization, following ntree_specialization
    See also
    The N-Tree tutorial

Member Function Documentation

◆ make_tree()

template<typename Policy >
static void make_tree ( typename Policy::slot &  ts)
static

Build the local tree and share the tree boundaries.

◆ share_ghosts()

template<typename Policy >
static void share_ghosts ( typename Policy::slot &  ts)
static

Search entities' neighbors and complete the hmap, create copy plans (or buffer)

◆ reset()

template<typename Policy >
static void reset ( typename Policy::slot &  ts)
static

Reset the ntree topology.

After this call the ntree can be re-build with make_tree and share_ghosts.

Member Data Documentation

◆ e_keys

template<typename Policy >
const field<key_t>::template definition<Policy, entities> e_keys
static

Entities keys field.

◆ e_ids

template<typename Policy >
const field<util::id>::template definition<Policy, entities> e_ids
static

Entities ids field.

This field can be used to identify entities with the same key.

◆ e_colors

template<typename Policy >
const field<Color>::template definition<Policy, entities> e_colors
static

Entities color field. This represent which color owns an entity.

◆ e_i

template<typename Policy >
const field<entity_data>::template definition<Policy, entities> e_i
static

Field containing the structure for entities interation from the specialization.

◆ n_keys

template<typename Policy >
const field<key_t>::template definition<Policy, nodes> n_keys
static

Node keys field.

◆ n_i

template<typename Policy >
const field<node_data>::template definition<Policy, nodes> n_i
static

Field containing the structure for nodes interation from the specialization.