![]() |
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, double eps) |
| void | RadixSortMortonCodes () |
| void | RadixSortInternalCells () |
| int | Delta (int i, int j) const |
| void | Summ12 () |
| void | CalcAABB () |
| float | Build () |
| float | UpwardTraversal (int order) |
| float | DownwardTraversalVorticesToPoints (CpuTreeInfo &cntrTree, Point2D *velD, double *epsastD, double eps2, double theta, int order, bool calcRadius) |
Public Attributes | |
| std::vector< Point2D > | object |
| std::vector< double > | gamma |
| 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< 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 |
Структура, хранящая данные и указатели на массивы на 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 96 of file cpuTreeInfo.h.
Definition at line 122 of file cpuTreeInfo.cpp.
| VM2D::CpuTreeInfo::~CpuTreeInfo | ( | ) |
Definition at line 163 of file cpuTreeInfo.cpp.
| float VM2D::CpuTreeInfo::Build | ( | ) |
Definition at line 906 of file cpuTreeInfo.cpp.

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

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

| float VM2D::CpuTreeInfo::DownwardTraversalVorticesToPoints | ( | CpuTreeInfo & | cntrTree, |
| Point2D * | velD, | ||
| double * | epsastD, | ||
| double | eps2, | ||
| double | theta, | ||
| int | order, | ||
| bool | calcRadius | ||
| ) |
Definition at line 1038 of file cpuTreeInfo.cpp.
| void VM2D::CpuTreeInfo::RadixSortInternalCells | ( | ) |
Definition at line 323 of file cpuTreeInfo.cpp.

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

| void VM2D::CpuTreeInfo::Summ12 | ( | ) |
Definition at line 425 of file cpuTreeInfo.cpp.

| float VM2D::CpuTreeInfo::Update | ( | const std::vector< Vortex2D > & | vtx, |
| double | eps | ||
| ) |
Definition at line 165 of file cpuTreeInfo.cpp.
| float VM2D::CpuTreeInfo::UpwardTraversal | ( | int | order | ) |
Definition at line 1019 of file cpuTreeInfo.cpp.

| std::vector<Point2D> VM2D::CpuTreeInfo::center |
Definition at line 134 of file cpuTreeInfo.h.
| std::vector<std::pair<int, int> > VM2D::CpuTreeInfo::child |
Definition at line 139 of file cpuTreeInfo.h.
| std::vector<Point2D> VM2D::CpuTreeInfo::ED |
Definition at line 118 of file cpuTreeInfo.h.
| std::vector<Point4D> VM2D::CpuTreeInfo::gabForLeaves |
Definition at line 136 of file cpuTreeInfo.h.
| std::vector<double> VM2D::CpuTreeInfo::gamma |
Definition at line 105 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexSort |
Definition at line 131 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexSortT |
Definition at line 132 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::indexUnsort |
Definition at line 130 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::levelSort |
Definition at line 128 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::levelUnsort |
Definition at line 127 of file cpuTreeInfo.h.
| std::vector<Point4D> VM2D::CpuTreeInfo::lowerupper |
Definition at line 135 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::mass |
Definition at line 114 of file cpuTreeInfo.h.
| Point2D VM2D::CpuTreeInfo::maxr |
Definition at line 116 of file cpuTreeInfo.h.
| Point2D VM2D::CpuTreeInfo::minr |
Definition at line 116 of file cpuTreeInfo.h.
| std::vector<Point2D> VM2D::CpuTreeInfo::moms |
Definition at line 117 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::mortonCodesIdx |
Definition at line 125 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::mortonCodesIdxUnsort |
Definition at line 124 of file cpuTreeInfo.h.
| std::vector<unsigned int> VM2D::CpuTreeInfo::mortonCodesKey |
Definition at line 122 of file cpuTreeInfo.h.
| std::vector<unsigned int> VM2D::CpuTreeInfo::mortonCodesKeyUnsort |
Definition at line 121 of file cpuTreeInfo.h.
| std::vector<Point2D> VM2D::CpuTreeInfo::object |
Definition at line 104 of file cpuTreeInfo.h.
| object_T VM2D::CpuTreeInfo::objectType |
Definition at line 108 of file cpuTreeInfo.h.
| std::vector<int> VM2D::CpuTreeInfo::parent |
Definition at line 138 of file cpuTreeInfo.h.
| std::vector<std::pair<int, int> > VM2D::CpuTreeInfo::range |
Definition at line 140 of file cpuTreeInfo.h.
| scheme_T VM2D::CpuTreeInfo::schemeType |
Definition at line 109 of file cpuTreeInfo.h.
| tree_T VM2D::CpuTreeInfo::treeType |
Definition at line 107 of file cpuTreeInfo.h.