VM2D
1.12
Vortex methods for 2D flows simulation
|
Класс, опеделяющий текущую решаемую задачу More...
#include <World2D.h>
Public Member Functions | |
const Airfoil & | getAirfoil (size_t i) const |
Возврат константной ссылки на объект профиля More... | |
const Airfoil & | getOldAirfoil (size_t i) const |
Возврат константной ссылки на объект старого профиля More... | |
Airfoil & | getNonConstAirfoil (size_t i) const |
Возврат неконстантной ссылки на объект профиля More... | |
size_t | getNumberOfAirfoil () const |
Возврат количества профилей в задаче More... | |
const Boundary & | getBoundary (size_t i) const |
Возврат константной ссылки на объект граничного условия More... | |
Boundary & | getNonConstBoundary (size_t i) const |
Возврат неконстантной ссылки на объект граничного условия More... | |
size_t | getNumberOfBoundary () const |
Возврат количества граничных условий в задаче More... | |
size_t | getDispBoundaryInSystem (size_t i) const |
Возврат смещения в системе dispBoundaryInSystem. More... | |
const MeasureVP & | getMeasureVP () const |
Возврат константной ссылки на measureVP. More... | |
MeasureVP & | getNonConstMeasureVP () const |
Возврат неконстантной ссылки на measureVP. More... | |
const Mechanics & | getMechanics (size_t i) const |
Возврат константной ссылки на объект механики More... | |
Mechanics & | getNonConstMechanics (size_t i) const |
Возврат неконстантной ссылки на объект механики More... | |
const Wake & | getWake () const |
Возврат константной ссылки на вихревой след More... | |
Wake & | getNonConstWake () const |
Возврат неконстантной ссылки на вихревой след More... | |
const WakeDataBase & | getSource () const |
Возврат константной ссылки на источники в области течения More... | |
const Velocity & | getVelocity () const |
Возврат константной ссылки на объект для вычисления скоростей More... | |
Velocity & | getNonConstVelocity () const |
Возврат неконстантной ссылки на объект для вычисления скоростей More... | |
const Passport & | getPassport () const |
Возврат константной ссылки на паспорт More... | |
const Gpu & | getCuda () const |
Возврат константной ссылки на объект, связанный с видеокартой (GPU) More... | |
Gpu & | getNonConstCuda () const |
Возврат неконстантной ссылки на объект, связанный с видеокартой (GPU) More... | |
const std::pair< Eigen::MatrixXd, Eigen::MatrixXd > & | getIQ (size_t i, size_t j) const |
Возврат константной ссылки на объект, связанный с матрицей интегралов от (r-xi)/|r-xi|^2. More... | |
Times & | getTimestat () const |
Возврат ссылки на временную статистику выполнения шага расчета по времени More... | |
bool | ifDivisible (int val) const |
void | SolveLinearSystem () |
Решение системы линейных алгебраических уравнений More... | |
void | FillIQ () |
Заполнение матрицы, состоящей из интегралов от (r-xi) / |r-xi|^2. More... | |
void | FillMatrixAndRhs () |
Заполнение матрицы системы для всех профилей More... | |
void | ReserveMemoryForMatrixAndRhs () |
Вычисляем размер матрицы и резервируем память под нее и под правую часть More... | |
void | CalcVortexVelo (bool shiftTime) |
Вычисление скоростей (и конвективных, и диффузионных) вихрей (в пелене и виртуальных), а также в точках вычисления VP. More... | |
void | CalcPanelsVeloAndAttachedSheets () |
Вычисление скоростей панелей и интенсивностей присоединенных слоев вихрей и источников More... | |
void | CalcAndSolveLinearSystem () |
Набор матрицы, правой части и решение СЛАУ More... | |
void | MoveVortexes (std::vector< Point2D > &newPos) |
Вычисляем новые положения вихрей (в пелене и виртуальных) More... | |
void | CheckInside (std::vector< Point2D > &newPos, const std::vector< std::unique_ptr< Airfoil >> &oldAirfoil) |
Проверка проникновения вихрей внутрь профиля More... | |
void | WakeAndAirfoilsMotion () |
Перемещение вихрей и профилей на шаге More... | |
World2D (const VMlib::PassportGen &passport_) | |
Конструктор More... | |
~World2D () | |
Деструктор More... | |
void | GenerateMechanicsHeader (size_t mechanicsNumber) |
virtual void | Step () override |
Функция выполнения предварительного шага More... | |
VMlib::LogStream & | getInfo () const |
Возврат ссылки на объект LogStream Используется в техничеcких целях для организации вывода More... | |
std::ostream & | getInfo (char x) const |
Возврат ссылки на поток вывода информации Необходимо для вывода телеметрической информации, информации об ошибках и т.п. More... | |
size_t | getCurrentStep () const |
Возврат константной ссылки на параметры распараллеливания по MPI. More... | |
const PassportGen & | getPassportGen () |
bool | isFinished () const |
Функция, возвращающая признак завершения счета в решаемой задаче More... | |
Public Attributes | |
size_t | currentStep |
Текущий номер шага в решаемой задаче More... | |
Protected Attributes | |
LogStream | info |
Поток для вывода логов и сообщений об ошибках More... | |
const PassportGen & | passportGen |
Константная ссылка на паспорт конкретного расчета More... | |
std::unique_ptr< TimesGen > | timestat |
Сведения о временах выполнения основных операций More... | |
Private Attributes | |
std::vector< std::unique_ptr< Airfoil > > | airfoil |
Список умных указателей на обтекаемые профили More... | |
std::vector< std::unique_ptr< Airfoil > > | oldAirfoil |
Список умных указателей на обтекаемые профили для сохранения старого положения More... | |
std::vector< std::unique_ptr< Boundary > > | boundary |
Список умных указателей на формирователи граничных условий на профилях More... | |
std::vector< size_t > | dispBoundaryInSystem |
Список номеров, с которых начинаются элементы правой части (или матрицы) системы для профилей More... | |
std::vector< std::unique_ptr< Mechanics > > | mechanics |
Список умных указателей на типы механической системы для каждого профиля More... | |
std::unique_ptr< Velocity > | velocity |
Умный укзатель на объект, определяющий методику вычисления скоростей More... | |
std::unique_ptr< Wake > | wake |
Умный указатель на вихревой след More... | |
std::unique_ptr< WakeDataBase > | source |
Умный указатель на источники More... | |
std::unique_ptr< MeasureVP > | measureVP |
Умный указатель на алгоритм вычисления полей скоростей и давления (для сохранения в файл) More... | |
Eigen::MatrixXd | matr |
Матрица системы More... | |
std::vector< std::vector< std::pair< Eigen::MatrixXd, Eigen::MatrixXd > > > | IQ |
Матрица, состоящая из пар матриц, в которых хранятся касательные и нормальные компоненты интегралов от ядра More... | |
Eigen::MatrixXd | invMatr |
Обратная матрица More... | |
bool | useInverseMatrix |
Признак использования обратной матрицы More... | |
Eigen::VectorXd | rhs |
Правая часть системы More... | |
Eigen::VectorXd | sol |
Решение системы More... | |
const Passport & | passport |
Константная ссылка на паспорт конкретного расчета More... | |
Gpu | cuda |
Объект, управляющий графическим ускорителем More... | |
Класс, опеделяющий текущую решаемую задачу
World2D::World2D | ( | const VMlib::PassportGen & | passport_ | ) |
Конструктор
[in] | passport_ | константная ссылка на паспорт расчета |
Definition at line 67 of file World2D.cpp.
|
inline |
void World2D::CalcAndSolveLinearSystem | ( | ) |
Набор матрицы, правой части и решение СЛАУ
Вызывается в Step()
Definition at line 774 of file World2D.cpp.
void World2D::CalcPanelsVeloAndAttachedSheets | ( | ) |
Вычисление скоростей панелей и интенсивностей присоединенных слоев вихрей и источников
Вызывается в Step()
Definition at line 664 of file World2D.cpp.
void World2D::CalcVortexVelo | ( | bool | shiftTime | ) |
Вычисление скоростей (и конвективных, и диффузионных) вихрей (в пелене и виртуальных), а также в точках вычисления VP.
Вызывается в Step()
Definition at line 563 of file World2D.cpp.
void World2D::CheckInside | ( | std::vector< Point2D > & | newPos, |
const std::vector< std::unique_ptr< Airfoil >> & | oldAirfoil | ||
) |
Проверка проникновения вихрей внутрь профиля
Вызывается в Step()
[in] | newPos | новые позиции вихрей |
[in] | oldAirfoil | константная ссылка на вектор из умных указателей на старые положения профилей |
Definition at line 294 of file World2D.cpp.
void World2D::FillIQ | ( | ) |
Заполнение матрицы, состоящей из интегралов от (r-xi) / |r-xi|^2.
Вызывается в Step()
Definition at line 732 of file World2D.cpp.
void World2D::FillMatrixAndRhs | ( | ) |
Заполнение матрицы системы для всех профилей
Вызывается в Step()
Definition at line 438 of file World2D.cpp.
void World2D::GenerateMechanicsHeader | ( | size_t | mechanicsNumber | ) |
Метод-обертка для вызова метода генерации заголовка файла нагрузок и заголовка файла положения (последнее — если профиль движется)
[in] | mechanicsNumber | номер профиля, для которого генерируется заголовок файла |
Definition at line 725 of file World2D.cpp.
|
inline |
Возврат константной ссылки на объект профиля
[in] | i | номер профиля, константная ссылка на который возвращается |
Definition at line 130 of file World2D.h.
|
inline |
Возврат константной ссылки на объект граничного условия
[in] | i | номер граничного условия, константная ссылка на которое возвращается |
Definition at line 153 of file World2D.h.
|
inline |
|
inlineinherited |
Возврат константной ссылки на параметры распараллеливания по MPI.
Definition at line 91 of file WorldGen.h.
|
inline |
Возврат смещения в системе dispBoundaryInSystem.
[in] | i | номер граничного условия, константная ссылка на которое возвращается |
Definition at line 170 of file World2D.h.
|
inlineinherited |
Возврат ссылки на объект LogStream Используется в техничеcких целях для организации вывода
Definition at line 74 of file WorldGen.h.
|
inlineinherited |
Возврат ссылки на поток вывода информации Необходимо для вывода телеметрической информации, информации об ошибках и т.п.
[in] | x | символ, определяющий стиль вывода сообщения |
Definition at line 81 of file WorldGen.h.
|
inline |
Возврат константной ссылки на объект, связанный с матрицей интегралов от (r-xi)/|r-xi|^2.
Definition at line 237 of file World2D.h.
|
inline |
Возврат константной ссылки на measureVP.
Definition at line 175 of file World2D.h.
|
inline |
Возврат константной ссылки на объект механики
[in] | i | номер механики, константная ссылка на который возвращается |
Definition at line 186 of file World2D.h.
|
inline |
Возврат неконстантной ссылки на объект профиля
[in] | i | номер профиля, неконстантная ссылка на который возвращается |
Definition at line 142 of file World2D.h.
|
inline |
Возврат неконстантной ссылки на объект граничного условия
[in] | i | номер граничного условия, неконстантная ссылка на которое возвращается |
Definition at line 159 of file World2D.h.
|
inline |
|
inline |
Возврат неконстантной ссылки на measureVP.
Definition at line 180 of file World2D.h.
|
inline |
Возврат неконстантной ссылки на объект механики
[in] | i | номер механики, константная ссылка на который возвращается |
Definition at line 192 of file World2D.h.
|
inline |
Возврат неконстантной ссылки на объект для вычисления скоростей
Definition at line 217 of file World2D.h.
|
inline |
Возврат неконстантной ссылки на вихревой след
Definition at line 202 of file World2D.h.
|
inline |
Возврат количества профилей в задаче
Definition at line 147 of file World2D.h.
|
inline |
Возврат количества граничных условий в задаче
Definition at line 164 of file World2D.h.
|
inline |
Возврат константной ссылки на объект старого профиля
[in] | i | номер старого профиля, константная ссылка на который возвращается |
Definition at line 136 of file World2D.h.
|
inline |
Возврат константной ссылки на паспорт
Definition at line 222 of file World2D.h.
|
inlineinherited |
Definition at line 93 of file WorldGen.h.
|
inline |
Возврат константной ссылки на источники в области течения
Definition at line 207 of file World2D.h.
|
inline |
|
inline |
Возврат константной ссылки на объект для вычисления скоростей
Definition at line 212 of file World2D.h.
|
inline |
Возврат константной ссылки на вихревой след
Definition at line 197 of file World2D.h.
|
inline |
Definition at line 244 of file World2D.h.
|
inherited |
Функция, возвращающая признак завершения счета в решаемой задаче
true, если задача решена и выполнен признак останова; false если требуется еще выполнять шаги по времени
Definition at line 49 of file WorldGen.cpp.
void World2D::MoveVortexes | ( | std::vector< Point2D > & | newPos | ) |
Вычисляем новые положения вихрей (в пелене и виртуальных)
Вызывается в Step()
[out] | newPos | новые позиции вихрей |
Definition at line 681 of file World2D.cpp.
void World2D::ReserveMemoryForMatrixAndRhs | ( | ) |
Вычисляем размер матрицы и резервируем память под нее и под правую часть
Вызывается в Step()
Definition at line 520 of file World2D.cpp.
void World2D::SolveLinearSystem | ( | ) |
Решение системы линейных алгебраических уравнений
Вызывается в Step()
Definition at line 333 of file World2D.cpp.
|
overridevirtual |
Функция выполнения предварительного шага
Основная функция выполнения одного шага по времени
Implements VMlib::WorldGen.
Definition at line 196 of file World2D.cpp.
void World2D::WakeAndAirfoilsMotion | ( | ) |
Перемещение вихрей и профилей на шаге
Вызывается в Step()
Definition at line 873 of file World2D.cpp.
|
private |
|
private |
|
mutableprivate |
|
inherited |
Текущий номер шага в решаемой задаче
Definition at line 69 of file WorldGen.h.
|
private |
|
mutableprotectedinherited |
Поток для вывода логов и сообщений об ошибках
Definition at line 59 of file WorldGen.h.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protectedinherited |
Константная ссылка на паспорт конкретного расчета
Definition at line 62 of file WorldGen.h.
|
private |
|
private |
|
private |
|
protectedinherited |
Сведения о временах выполнения основных операций
Definition at line 65 of file WorldGen.h.
|
private |
|
private |
|
private |