Template Struct Node

Struct Documentation

template<typename T>
struct exafmm_t::Node

Structure of nodes.

tparam Value

type of sources and targets (real or complex).

Public Members

size_t idx

Index in the octree.

size_t idx_M2L

Index in global M2L interaction list.

bool is_leaf

Whether the node is leaf.

int ntrgs

Number of targets.

int nsrcs

Number of sources.

vec3 x

Coordinates of the center of the node.

real_t r

Radius of the node.

uint64_t key

Morton key.

int level

Level in the octree.

int octant

Octant.

Node *parent

Pointer to parent.

std::vector<Node*> children

Vector of pointers to child nodes.

std::vector<Node*> colleagues

Vector of pointers to colleague nodes.

std::vector<Node*> P2L_list

Vector of pointers to nodes in P2L interaction list.

std::vector<Node*> M2P_list

Vector of pointers to nodes in M2P interaction list.

std::vector<Node*> P2P_list

Vector of pointers to nodes in P2P interaction list.

std::vector<Node*> M2L_list

Vector of pointers to nodes in M2L interaction list.

std::vector<int> isrcs

Vector of initial source numbering.

std::vector<int> itrgs

Vector of initial target numbering.

RealVec src_coord

Vector of coordinates of sources in the node.

RealVec trg_coord

Vector of coordinates of targets in the node.

std::vector<T> src_value

Vector of charges of sources in the node.

std::vector<T> trg_value

Vector of potentials and gradients of targets in the node.

std::vector<T> up_equiv

Upward check potentials / Upward equivalent densities.

std::vector<T> dn_equiv

Downward check potentials / Downward equivalent densites.