121 virtual void FillMatrixSelf(Eigen::MatrixXd& matr, Eigen::VectorXd& lastLine, Eigen::VectorXd& lactCol) = 0;
126 virtual void FillIQSelf(std::pair<Eigen::MatrixXd, Eigen::MatrixXd>& IQ) = 0;
157 virtual void GPUCalcConvVelocityToSetOfPointsFromSheets(
const WakeDataBase& pointsDb, std::vector<Point2D>& velo)
const = 0;
Заголовочный файл с описанием класса SheetV.
Заголовочный файл с описанием класса VirtualWake.
Абстрактный класс, определяющий обтекаемый профиль
Абстрактный класс, определяющий способ удовлетворения граничного условия на обтекаемом профиле
Sheet oldSheets
Слои на профиле с предыдущего шага
const World2D & W
Константная ссылка на решаемую задачу
virtual void FillMatrixSelf(Eigen::MatrixXd &matr, Eigen::VectorXd &lastLine, Eigen::VectorXd &lactCol)=0
Генерация блока матрицы
virtual void GetInfluenceFromVorticesToRectPanel(size_t panel, const Vortex2D *ptr, ptrdiff_t count, std::vector< double > &wakeRhs) const =0
Вычисление влияния части подряд идущих вихрей из вихревого следа на прямолинейную панель для правой ч...
virtual void GetInfluenceFromSourcesToRectPanel(size_t panel, const Vortex2D *ptr, ptrdiff_t count, std::vector< double > &wakeRhs) const =0
Вычисление влияния части подряд источников из области течения на прямолинейную панель для правой част...
virtual void FillIQSelf(std::pair< Eigen::MatrixXd, Eigen::MatrixXd > &IQ)=0
Генерация блока матрицы, состоящей из интегралов от (r-xi)/|r-xi|^2, влияние профиля самого на себя
size_t GetUnknownsSize() const
Возврат размерности вектора решения
size_t sheetDim
Размерность параметров каждого из слоев на каждой из панелей
virtual void SolutionToFreeVortexSheetAndVirtualVortex(const Eigen::VectorXd &sol)=0
Пересчет решения на интенсивность вихревого слоя и на рождаемые вихри на конкретном профиле
Sheet sheets
Слои на профиле
virtual void GetInfluenceFromSourceSheetAtRectPanelToVortex(size_t panel, const Vortex2D &vtx, Point2D &vel) const =0
Вычисление влияния слоя источников конкретной прямолинейной панели на вихрь в области течения
virtual void GetInfluenceFromVInfToRectPanel(std::vector< double > &vInfRhs) const =0
Вычисление влияния набегающего потока на прямолинейную панель для правой части
int minVortexPerPanel
Минимальное число вихрей, рождаемых на панели профиля и формирующих виртуальный вихревой след
std::vector< std::pair< int, int > > vortexBeginEnd
Номера первого и последнего вихрей, рождаемых на каждой панели профиля (формируется после решения СЛА...
virtual void FillIQFromOther(const Boundary &otherBoundary, std::pair< Eigen::MatrixXd, Eigen::MatrixXd > &IQ)=0
Генерация блока матрицы, состоящей из интегралов от (r-xi)/|r-xi|^2, влияние одного профиля на другой
virtual void FillMatrixFromOther(const Boundary &otherBoundary, Eigen::MatrixXd &matr)=0
Генерация блока матрицы влияния от другого профиля того же типа
virtual void GetInfluenceFromVortexSheetAtRectPanelToVortex(size_t panel, const Vortex2D &vtx, Point2D &vel) const =0
Вычисление влияния вихревых слоев (свободный + присоединенный) конкретной прямолинейной панели на вих...
VirtualWake virtualWake
Виртуальный вихревой след конкретного профиля
virtual void CalcConvVelocityToSetOfPointsFromSheets(const WakeDataBase &pointsDb, std::vector< Point2D > &velo) const =0
Вычисление конвективных скоростей в наборе точек, вызываемых наличием слоев вихрей и источников на пр...
virtual ~Boundary()
Деструктор
virtual void ComputeAttachedSheetsIntensity()=0
Вычисление интенсивностей присоединенного вихревого слоя и присоединенного слоя источников
const size_t numberInPassport
Номер профиля в паспорте
Класс, опеделяющий слои на поверхности обтекаемого профиля
Класс, опеделяющий вихревой след (пелену)
Класс, опеделяющий набор вихрей
Класс, опеделяющий текущую решаемую задачу
Класс, опеделяющий двумерный вихревой элемент