78 std::vector<double>
I0;
81 std::vector<double>
I1;
84 std::vector<Point2D>
I2;
87 std::vector<Point2D>
I3;
143#if defined (USE_CUDA)
144 virtual void GPUCalcConvVeloToSetOfPointsFromWake(std::unique_ptr<BHcu::CudaTreeInfo>& cntrTree,
const WakeDataBase& pointsDb, std::vector<Point2D>& velo, std::vector<double>& domainRadius,
bool calcVelo,
bool calcRadius) = 0;
145 virtual void GPUCalcConvVelocityToSetOfPointsFromSheets(std::unique_ptr<BHcu::CudaTreeInfo>& cntrTree,
const WakeDataBase& pointsDb, std::vector<Point2D>& velo)
const = 0;
164 void GPUCalcDiffVeloI1I2ToSetOfPointsFromWake(
const WakeDataBase& pointsDb,
const std::vector<double>& domainRadius,
const WakeDataBase& vorticesDb, std::vector<double>& I1, std::vector<Point2D>& I2,
bool useMesh =
false);
165 void GPUCalcDiffVeloI1I2ToSetOfPointsFromSheets(
const WakeDataBase& pointsDb,
const std::vector<double>& domainRadius,
const Boundary& bnd, std::vector<double>& I1, std::vector<Point2D>& I2,
bool useMesh =
false);
166 void GPUDiffVeloFAST(
const std::vector<double>& domainRadius, std::vector<double>& I1, std::vector<Point2D>& I2);
207 void GPUGetWakeInfluenceToRhs(
const Airfoil& afl, std::vector<double>& wakeVelo)
const;
208 void GPUFASTGetWakeInfluenceToRhs(
const Airfoil& afl, std::vector<double>& wakeVelo)
const;
210 void FillRhs( Eigen::VectorXd& rhsReord)
const;
Абстрактный класс, определяющий обтекаемый профиль
Абстрактный класс, определяющий способ удовлетворения граничного условия на обтекаемом профиле
Абстрактный класс, определяющий способ вычисления скоростей
void CalcConvVelo()
Вычисление конвективных скоростей вихрей и виртуальных вихрей в вихревом следе, а также в точках wake...
void CalcDiffVelo()
Вычисление диффузионных скоростей
void LimitDiffVelo(std::vector< Point2D > &diffVel)
Контроль больших значений диффузионных скоростей
void GetWakeInfluenceToRhs(const Airfoil &afl, std::vector< double > &wakeRhs) const
Генерация вектора влияния вихревого следа на профиль
virtual void CalcConvVPVeloToSetOfPointsFromWake(const WakeDataBase &pointsDb, std::vector< Point2D > &velo, std::vector< double > &domainRadius, bool calcVelo, bool calcRadius)
void CalcDiffVeloI1I2ToWakeFromSheets(const WakeDataBase &pointsDb, const std::vector< double > &domainRadius, const Boundary &bnd, std::vector< double > &I1, std::vector< Point2D > &I2)
void CalcDiffVeloI1I2ToWakeFromWake(const WakeDataBase &pointsDb, const std::vector< double > &domainRadius, const WakeDataBase &vorticesDb, std::vector< double > &I1, std::vector< Point2D > &I2)
std::vector< VortexesParams > virtualVortexesParams
Вектор струтур, определяющий параметры виртуальных вихрей для профилей
virtual void CalcConvVeloToSetOfPointsFromWake(const WakeDataBase &pointsDb, std::vector< Point2D > &velo, std::vector< double > &domainRadius, bool calcVelo, bool calcRadius)=0
Вычисление конвективных скоростей и радиусов вихревых доменов в заданном наборе точек от следа
VortexesParams wakeVortexesParams
Струтура, определяющая параметры вихрей в следе
virtual void CalcVeloToWakeVP()
Вычисление скоростей в точках wakeVP.
void FillRhs(Eigen::VectorXd &rhsReord) const
void CalcDiffVeloI1I2ToSetOfPointsFromWake(const WakeDataBase &pointsDb, const std::vector< double > &domainRadius, const WakeDataBase &vorticesDb, std::vector< double > &I1, std::vector< Point2D > &I2)
Вычисление числителей и знаменателей диффузионных скоростей в заданном наборе точек
OptimizedVelocity optimizedVelocity
void CalcDiffVeloI1I2ToSetOfPointsFromSheets(const WakeDataBase &pointsDb, const std::vector< double > &domainRadius, const Boundary &bnd, std::vector< double > &I1, std::vector< Point2D > &I2)
void ResizeAndZero()
Очистка старых массивов под хранение скоростей, выделение новой памяти и обнуление
void SaveVisStress()
Сохранение вязких напряжений
Velocity(const World2D &W_)
Конструктор
virtual ~Velocity()
Деструктор
void CalcDiffVeloI1I2()
Вычисление диффузионных скоростей вихрей и виртуальных вихрей в вихревом следе
const World2D & W
Константная ссылка на решаемую задачу
Класс, опеделяющий набор вихрей
Класс, опеделяющий текущую решаемую задачу
Описание базовых вспомогательных функций
Структура, определяющая параметры виртуальных вихрей для отдельного профиля
std::vector< Point2D > convVelo
Вектор конвективных скоростей вихрей
std::vector< double > epsastWake
Вектор характерных радиусов вихревых доменов (eps*)
std::vector< Point2D > I2
Вектор числителей (I2) диффузионных скоростей вихрей (обусловленных завихренностью)
std::vector< double > I0
Вектор знаменателей (I0) диффузионных скоростей вихрей (обусловленных профилем)
std::vector< Point2D > diffVelo
Вектор диффузионных скоростей вихрей
std::vector< Point2D > I3
Вектор числителей (I3) диффузионных скоростей вихрей (обусловленных профилем)
std::vector< double > I1
Вектор знаменателей (I1) диффузионных скоростей вихрей (обусловленных завихренностью)