![]() |
VM2D 1.14
Vortex methods for 2D flows simulation
|
Класс, определяющий основной алгоритм модификации метода Барнса - Хата More...
#include <BarnesHut.h>

Public Member Functions | |
| BarnesHut (const params &prm_, const std::vector< Vortex2D > &pointsVrt) | |
| Конструктор для решения задачи NBODY о вычислении скоростей вихревых частиц | |
| ~BarnesHut () | |
| Деструктор | |
| void | BuildOneTree (std::unique_ptr< MortonTree > &tree, int maxTreeLevel, std::vector< PointsCopy > &pointsCopy, double &time) |
| Построение одного дерева tree на основе заданных точек pointsCopy | |
| void | BuildNecessaryTrees (double &time) |
| Построение всех нужных деревьев на основе заданных точек pointsCopy | |
| void | BuildEnclosingRectangle (double &time) |
| void | InfluenceComputation (std::vector< Point2D > &result, std::vector< double > &epsast, double &timeParams, double &timeInfl, bool calcRadius) |
| Расчет влияния в точках дерева, характерных для решаемой задачи (определяется внутри функции) | |
Public Attributes | |
| const params & | prm |
| Ссылка на параметры, считываемые из файла | |
| std::vector< PointsCopy > | pointsCopyVrt |
| Список оберток положений вихрей | |
| std::unique_ptr< MortonTree > | treeVrt |
| Умный yказатель на дерево вихрей | |
Класс, определяющий основной алгоритм модификации метода Барнса - Хата
\Version 1.14
Definition at line 58 of file BarnesHut.h.
Конструктор для решения задачи NBODY о вычислении скоростей вихревых частиц
| [in] | prm | константная ссылка на параметры, считываемые из файла |
| [in] | pointsVrt | константная ссылка на список частиц |
Definition at line 47 of file BarnesHut.cpp.
|
inline |
| void BH::BarnesHut::BuildEnclosingRectangle | ( | double & | time | ) |
Definition at line 84 of file BarnesHut.cpp.
| void BH::BarnesHut::BuildNecessaryTrees | ( | double & | time | ) |
Построение всех нужных деревьев на основе заданных точек pointsCopy
| [in,out] | time | время, затрачиваемое на построение дерева (накопительный итог) |
Definition at line 76 of file BarnesHut.cpp.

| void BH::BarnesHut::BuildOneTree | ( | std::unique_ptr< MortonTree > & | tree, |
| int | maxTreeLevel, | ||
| std::vector< PointsCopy > & | pointsCopy, | ||
| double & | time | ||
| ) |
Построение одного дерева tree на основе заданных точек pointsCopy
| [in,out] | tree | умный указатель на дерево |
| [in] | maxTreeLevel | максимальная глубина при обходе дерева |
| [in] | pointsCopy | неконстантная ссылка на список данных (оберток) точек, по которым строится дерево |
| [in,out] | time | время, затрачиваемое на построение дерева (накопительный итог) |
Definition at line 56 of file BarnesHut.cpp.

| void BH::BarnesHut::InfluenceComputation | ( | std::vector< Point2D > & | result, |
| std::vector< double > & | epsast, | ||
| double & | timeParams, | ||
| double & | timeInfl, | ||
| bool | calcRadius | ||
| ) |
Расчет влияния в точках дерева, характерных для решаемой задачи (определяется внутри функции)
| [out] | result | ссылка на вектор, в который сохраняются вычисленные скорости |
| [in,out] | timeParams | время расчета параметров деревьев (накопительный итог) |
| [in,out] | timeInfl | время расчета влияния (накопительный итог) |
Definition at line 106 of file BarnesHut.cpp.
| std::vector<PointsCopy> BH::BarnesHut::pointsCopyVrt |
Список оберток положений вихрей
Definition at line 65 of file BarnesHut.h.
| const params& BH::BarnesHut::prm |
Ссылка на параметры, считываемые из файла
Definition at line 62 of file BarnesHut.h.
|
mutable |
Умный yказатель на дерево вихрей
Definition at line 68 of file BarnesHut.h.