![]() |
VM2D 1.14
Vortex methods for 2D flows simulation
|
Структура, хранящая данные и указатели на массивы на GPU для оптимизации итерационного решения СЛАУ на GPU. More...
#include <cpuTreeInfo.h>

Public Member Functions | |
| CpuTreeInfo (tree_T treeType_, object_T objectType_, scheme_T schemeType_) | |
| ~CpuTreeInfo () | |
| float | Update (const std::vector< Vortex2D > &vtx, int cntrLev=0) |
| float | UpdatePanelGeometry (const std::vector< std::pair< Point2D, Point2D > > &panels, int cntrLev) |
| void | RadixSortMortonCodes () |
| void | RadixSortInternalCells () |
| int | Delta (int i, int j) const |
| void | CalcAABB () |
| float | Build () |
| float | UpwardTraversal (int order) |
| float | DownwardTraversalVorticesToPoints (CpuTreeInfo &cntrTree, std::vector< Point2D > &vel, std::vector< double > &epsast, double theta, int order, bool calcRadius) |
| float | DownwardTraversalClosestPanelToPoints (CpuTreeInfo &cntrTree, std::vector< std::pair< int, double > > &indexPnlDist, bool findOnlyInside, double *pseudonormals) |
| float | DownwardTraversalVorticesToPanels (CpuTreeInfo &cntrTree, std::vector< double > &rhs, std::vector< double > &rhsLin, double theta, int order) |
Public Attributes | |
| int | controlLevel |
| std::vector< Point2D > | object |
| std::vector< double > | gamma |
| std::vector< double > | sigma |
| tree_T | treeType |
| object_T | objectType |
| scheme_T | schemeType |
| std::vector< int > | mass |
| Point2D | maxr |
| Point2D | minr |
| std::vector< Point2D > | moms |
| std::vector< Point2D > | ED |
| std::vector< unsigned int > | mortonCodesKeyUnsort |
| std::vector< unsigned int > | mortonCodesKey |
| std::vector< int > | mortonCodesIdxUnsort |
| std::vector< int > | mortonCodesIdx |
| std::vector< int > | levelUnsort |
| std::vector< int > | levelSort |
| std::vector< int > | indexUnsort |
| std::vector< int > | indexSort |
| std::vector< int > | indexSortT |
| std::vector< int > | indexControlCells |
| std::vector< Point2D > | center |
| std::vector< Point4D > | lowerupper |
| std::vector< Point4D > | gabForLeaves |
| std::vector< int > | parent |
| std::vector< std::pair< int, int > > | child |
| std::vector< std::pair< int, int > > | range |
| OptimizedRadixSorter< int > | codesSorter |
| OptimizedRadixSorter< int > | levelSorter |
Структура, хранящая данные и указатели на массивы на GPU для оптимизации итерационного решения СЛАУ на GPU.
\Version 1.14
std::vector<int> closePrefixSum; ///префиксная сумма для ближней зоны std::vector<int> farPrefixSum; ///префиксная сумма для дальней зоны
Point2D* i00D; ///указатель на GPU, хранящий влияние панелей из ближней зоны Point2D* i01D; ///аналог i00D, но используется для кусочно-линейной схемы Point2D* i10D; ///аналог i00D, но используется для кусочно-линейной схемы Point2D* i11D; ///аналог i00D, но используется для кусочно-линейной схемы
int* nClosePanelsD; ///количество листьев дерева (панелей), находящихся в ближней зоне int* nFarCellsD; ///количество ячеек, находящихся в дальней зоне
int* closeCellsIdxD; ///индексы ячеек ближней зоны int* farCellsIdxD; ///индексы ячеек дальней зоны
int* closePrefixSumD; ///префиксная сумма для ближней зоны int* farPrefixSumD; ///префиксная сумма для дальней зоны };
/*! \brief Класс, определяющий структуры дерева для быстрых методов при их реализации на CPU \author Марчевский Илья Константинович \author Сокол Ксения Сергеевна \author Рятина Евгения Павловна \author Колганова Александра Олеговна \version 1.14 \date 6 марта 2026 г.
Definition at line 95 of file cpuTreeInfo.h.
Definition at line 125 of file cpuTreeInfo.cpp.
| VM2D::CpuTreeInfo::~CpuTreeInfo | ( | ) |
Definition at line 161 of file cpuTreeInfo.cpp.
| float VM2D::CpuTreeInfo::Build | ( | ) |
Definition at line 476 of file cpuTreeInfo.cpp.


| void VM2D::CpuTreeInfo::CalcAABB | ( | ) |
Definition at line 370 of file cpuTreeInfo.cpp.

| int VM2D::CpuTreeInfo::Delta | ( | int | i, |
| int | j | ||
| ) | const |
Definition at line 92 of file cpuTreeInfo.cpp.

| float VM2D::CpuTreeInfo::DownwardTraversalClosestPanelToPoints | ( | CpuTreeInfo & | cntrTree, |
| std::vector< std::pair< int, double > > & | indexPnlDist, | ||
| bool | findOnlyInside, | ||
| double * | pseudonormals | ||
| ) |
Definition at line 724 of file cpuTreeInfo.cpp.

| float VM2D::CpuTreeInfo::DownwardTraversalVorticesToPanels | ( | CpuTreeInfo & | cntrTree, |
| std::vector< double > & | rhs, | ||
| std::vector< double > & | rhsLin, | ||
| double | theta, | ||
| int | order | ||
| ) |
Definition at line 1281 of file cpuTreeInfo.cpp.

| float VM2D::CpuTreeInfo::DownwardTraversalVorticesToPoints | ( | CpuTreeInfo & | cntrTree, |
| std::vector< Point2D > & | vel, | ||
| std::vector< double > & | epsast, | ||
| double | theta, | ||
| int | order, | ||
| bool | calcRadius | ||
| ) |
Definition at line 1000 of file cpuTreeInfo.cpp.


| void VM2D::CpuTreeInfo::RadixSortInternalCells | ( | ) |
Definition at line 335 of file cpuTreeInfo.cpp.


| void VM2D::CpuTreeInfo::RadixSortMortonCodes | ( | ) |
Definition at line 309 of file cpuTreeInfo.cpp.


| float VM2D::CpuTreeInfo::Update | ( | const std::vector< Vortex2D > & | vtx, |
| int | cntrLev = 0 |
||
| ) |
Definition at line 164 of file cpuTreeInfo.cpp.


| float VM2D::CpuTreeInfo::UpdatePanelGeometry | ( | const std::vector< std::pair< Point2D, Point2D > > & | panels, |
| int | cntrLev | ||
| ) |
Definition at line 236 of file cpuTreeInfo.cpp.

| float VM2D::CpuTreeInfo::UpwardTraversal | ( | int | order | ) |
Definition at line 613 of file cpuTreeInfo.cpp.


| std::vector<Point2D> VM2D::CpuTreeInfo::center |
Definition at line 130 of file cpuTreeInfo.h.
| std::vector<std::pair<int, int> > VM2D::CpuTreeInfo::child |
Definition at line 135 of file cpuTreeInfo.h.
| OptimizedRadixSorter<int> VM2D::CpuTreeInfo::codesSorter |
Definition at line 140 of file cpuTreeInfo.h.
| int VM2D::CpuTreeInfo::controlLevel |
Definition at line 98 of file cpuTreeInfo.h.
| std::vector<Point2D> VM2D::CpuTreeInfo::ED |
Definition at line 112 of file cpuTreeInfo.h.
| std::vector<Point4D> VM2D::CpuTreeInfo::gabForLeaves |
Definition at line 132 of file cpuTreeInfo.h.
| std::vector<double> VM2D::CpuTreeInfo::gamma |
Definition at line 101 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexControlCells |
Definition at line 128 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexSort |
Definition at line 125 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexSortT |
Definition at line 126 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexUnsort |
Definition at line 124 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::levelSort |
Definition at line 122 of file cpuTreeInfo.h.
| OptimizedRadixSorter<int> VM2D::CpuTreeInfo::levelSorter |
Definition at line 141 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::levelUnsort |
Definition at line 121 of file cpuTreeInfo.h.
| std::vector<Point4D> VM2D::CpuTreeInfo::lowerupper |
Definition at line 131 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::mass |
Definition at line 108 of file cpuTreeInfo.h.
| Point2D VM2D::CpuTreeInfo::maxr |
Definition at line 110 of file cpuTreeInfo.h.
| Point2D VM2D::CpuTreeInfo::minr |
Definition at line 110 of file cpuTreeInfo.h.
| std::vector<Point2D> VM2D::CpuTreeInfo::moms |
Definition at line 111 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::mortonCodesIdx |
Definition at line 119 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::mortonCodesIdxUnsort |
Definition at line 118 of file cpuTreeInfo.h.
| std::vector<unsigned int> VM2D::CpuTreeInfo::mortonCodesKey |
Definition at line 116 of file cpuTreeInfo.h.
| std::vector<unsigned int> VM2D::CpuTreeInfo::mortonCodesKeyUnsort |
Definition at line 115 of file cpuTreeInfo.h.
| std::vector<Point2D> VM2D::CpuTreeInfo::object |
Definition at line 100 of file cpuTreeInfo.h.
| object_T VM2D::CpuTreeInfo::objectType |
Definition at line 105 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::parent |
Definition at line 134 of file cpuTreeInfo.h.
| std::vector<std::pair<int, int> > VM2D::CpuTreeInfo::range |
Definition at line 136 of file cpuTreeInfo.h.
| scheme_T VM2D::CpuTreeInfo::schemeType |
Definition at line 106 of file cpuTreeInfo.h.
| std::vector<double> VM2D::CpuTreeInfo::sigma |
Definition at line 102 of file cpuTreeInfo.h.
| tree_T VM2D::CpuTreeInfo::treeType |
Definition at line 104 of file cpuTreeInfo.h.