42namespace energybased {
91 LE =
new std::complex<double>[precision + 1];
92 for (i = 0; i <= precision; i++) {
100 ME =
new std::complex<double>[precision + 1];
101 for (i = 0; i <= precision; i++) {
109 for (i = 0; i <= precision; i++) {
188 std::complex<double>*
ME;
189 std::complex<double>*
LE;
Includes declaration of graph class.
Declaration of doubly linked lists and iterators.
Declaration of class ParticleInfo.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
The parameterized class Array implements dynamic arrays of type E.
Doubly linked lists (maintaining the length of the list).
Class for the representation of nodes.
Helping data structure that stores the information needed to represent a node of the reduced quad tre...
QuadTreeNodeNM * child_lt_ptr
points to left top child
int subtreeparticlenumber
the number of particles in the subtree rooted at this node
QuadTreeNodeNM * get_child_lb_ptr() const
List< ParticleInfo > * L_y_ptr
and a cross reference to the list_item in the list with the other coordinate
std::complex< double > * get_local_exp() const
void get_I(List< QuadTreeNodeNM * > &list) const
DPoint get_Sm_downleftcorner() const
QuadTreeNodeNM * get_child_rt_ptr() const
QuadTreeNodeNM * father_ptr
points to the father node
List< QuadTreeNodeNM * > I
the list of min.
List< QuadTreeNodeNM * > M
list of nodes with multipole force contribution like in DIM2
void set_M(List< QuadTreeNodeNM * > &list)
void get_M(List< QuadTreeNodeNM * > &list) const
QuadTreeNodeNM * child_lb_ptr
points to left bottom child
bool contained_nodes_empty()
std::complex< double > * ME
Multipole Expansion terms.
void set_Sm_level(int level)
void set_locale_exp(Array< std::complex< double > > &local, int precision)
LE[i] is set to local[i] for i = 0 to precision and space for LE is reserved.
double get_Sm_boxlength() const
List< ParticleInfo > * L_x_ptr
points to the lists that contain each Particle of G with its x(y)coordinate in increasing order
List< ParticleInfo > * get_y_List_ptr()
std::complex< double > * LE
Locale Expansion terms.
void set_I(List< QuadTreeNodeNM * > &list)
void set_Sm_center(std::complex< double > c)
List< QuadTreeNodeNM * > D1
List< node > contained_nodes
list of nodes of G that are contained in this QuadTreeNode (emty if it is not a leave of the ModQuadT...
void set_particlenumber_in_subtree(int p)
void set_D1(List< QuadTreeNodeNM * > &list)
void set_father_ptr(QuadTreeNodeNM *f)
QuadTreeNodeNM * get_father_ptr() const
QuadTreeNodeNM()
constructor
friend std::ostream & operator<<(std::ostream &, const QuadTreeNodeNM &)
Outputstream for QuadTreeNodeNM.
node pop_contained_nodes()
std::complex< double > * get_multipole_exp() const
friend std::istream & operator>>(std::istream &, QuadTreeNodeNM &)
Inputstream for QuadTreeNodeNM.
double Sm_boxlength
length of small cell
void get_D1(List< QuadTreeNodeNM * > &list) const
void replace_multipole_exp(Array< std::complex< double > > &multi, int precision)
ME[i] is set to multi[i] for i = 0 to precision and no space for LE is reserved.
int get_particlenumber_in_subtree() const
void set_child_rt_ptr(QuadTreeNodeNM *c)
std::complex< double > get_Sm_center() const
DPoint Sm_downleftcorner
coords of the down left corner of the small cell
void set_x_List_ptr(List< ParticleInfo > *x_ptr)
QuadTreeNodeNM * get_child_lt_ptr() const
int Sm_level
level of the small cell
void set_child_rb_ptr(QuadTreeNodeNM *c)
void pushBack_contained_nodes(node v)
void set_D2(List< QuadTreeNodeNM * > &list)
void set_y_List_ptr(List< ParticleInfo > *y_ptr)
void get_contained_nodes(List< node > &list) const
QuadTreeNodeNM * child_rb_ptr
points to right bottom child
void set_contained_nodes(List< node > &list)
void set_Sm_downleftcorner(DPoint dlc)
void set_Sm_boxlength(double len)
~QuadTreeNodeNM()
destructor
void set_child_lb_ptr(QuadTreeNodeNM *c)
std::complex< double > Sm_center
center of the small cell
List< ParticleInfo > * get_x_List_ptr()
QuadTreeNodeNM * child_rt_ptr
points to right bottom child
void get_D2(List< QuadTreeNodeNM * > &list) const
QuadTreeNodeNM * get_child_rb_ptr() const
void set_multipole_exp(Array< std::complex< double > > &multi, int precision)
ME[i] is set to multi[i] for i = 0 to precision and space for LE is reserved.
void set_child_lt_ptr(QuadTreeNodeNM *c)
List< QuadTreeNodeNM * > D2
list of neighbouring(=D1) and not adjacent(=D2) leaves for direct force calculation in DIM2
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.