VM2D  1.12
Vortex methods for 2D flows simulation
VM2D::Times Class Reference

Класс для сбора статистики времени исполнения основных шагов алгоритма и вывода ее в файл More...

#include <Times2D.h>

Inheritance diagram for VM2D::Times:
Collaboration diagram for VM2D::Times:

Public Member Functions

 Times (const World2D &W_)
 Конструктор More...
 
 ~Times ()
 Деструктор More...
 
virtual void GenerateStatHeader () const override
 Генерация заголовка файла временной статистики More...
 
virtual void GenerateStatString () const override
 Сохранение строки со статистикой в файл временной статистики More...
 
virtual void ToZero () override
 Обнуление состояния временной статистики More...
 

Static Public Member Functions

static double dT (const timePeriod &t)
 

Public Attributes

timePeriod timeWholeStep
 Начало и конец процесса выполнения шага целиком More...
 
timePeriod timeReserveMemoryForMatrixAndRhs
 Начало и конец процесса выделения памяти под матрицу и правую часть More...
 
timePeriod timeFillMatrixAndRhs
 Начало и конец процесса заполнения матрицы и формирования правой части More...
 
timePeriod timeSolveLinearSystem
 Начало и конец процесса решения системы линейных алгебраических уравнений More...
 
timePeriod timeCalcVortexConvVelo
 Начало и конец процесса вычисления конвективных скоростей вихрей More...
 
timePeriod timeCalcVortexDiffVelo
 Начало и конец процесса вычисления диффузионных скоростей вихрей More...
 
timePeriod timeGetHydroDynamForce
 Начало и конец процесса вычисления нагрузок More...
 
timePeriod timeMoveVortexes
 Начало и конец процесса перемещения вихрей More...
 
timePeriod timeCheckInside
 Начало и конец процесса контроля протыкания More...
 
timePeriod timeRestruct
 Начало и конец процесса реструктуризации пелены More...
 
timePeriod timeWakeSort
 Начало и конец процесса сортировки вихревого следа More...
 
timePeriod timeSaveKadr
 Начало и конец процесса сохранения кадра в файл More...
 
timePeriod timeVP
 Начало и конец процесса подсчета полей скоростей и давления и сохранения их в файл More...
 
timePeriod timeOther
 Все прочее More...
 

Static Protected Member Functions

static void ToZeroPeriod (timePeriod &period)
 

Private Attributes

const World2DW
 Константная ссылка на решаемую задачу More...
 

Detailed Description

Класс для сбора статистики времени исполнения основных шагов алгоритма и вывода ее в файл

Author
Марчевский Илья Константинович
Сокол Ксения Сергеевна
Рятина Евгения Павловна
Колганова Александра Олеговна 1.12
Date
14 января 2024 г.

Definition at line 59 of file Times2D.h.

Constructor & Destructor Documentation

VM2D::Times::Times ( const World2D W_)
inline

Конструктор

Definition at line 67 of file Times2D.h.

68  : W(W_) {};
const World2D & W
Константная ссылка на решаемую задачу
Definition: Times2D.h:63
VM2D::Times::~Times ( )
inline

Деструктор

Definition at line 71 of file Times2D.h.

71 {};

Member Function Documentation

static double VMlib::TimesGen::dT ( const timePeriod t)
inlinestaticinherited

Вычисление разницы во времени для пары засечек в секундах

Parameters
[in]tконстантная ссылка на пару засечек времени
Returns
разницу в секундах

Definition at line 82 of file TimesGen.h.

83  {
84  return (t.second - t.first);
85  }//dT(...)

Here is the caller graph for this function:

void Times::GenerateStatHeader ( ) const
overridevirtual

Генерация заголовка файла временной статистики

Implements VMlib::TimesGen.

Definition at line 55 of file Times2D.cpp.

56 {
57  std::stringstream timeStatFileName;
58  timeStatFileName << W.getPassport().dir << "timestat";
59 
60  std::ofstream timeStatFile(timeStatFileName.str());
61  VMlib::PrintLogoToTextFile(timeStatFile, timeStatFileName.str(), "Time statistics");
62 
63  VMlib::PrintHeaderToTextFile(timeStatFile, "step Time N tStep tMem tMatRhs tSolve tConvVelo tDiffVelo tForce tVelPres tMove tInside tRestr tWakeSort tSave tOther");
64 
65  timeStatFile.close();
66  timeStatFile.clear();
67 }//GenerateStatHeader()
const World2D & W
Константная ссылка на решаемую задачу
Definition: Times2D.h:63
std::string dir
Рабочий каталог задачи
Definition: PassportGen.h:118
void PrintHeaderToTextFile(std::ofstream &str, const std::string &header)
Формирование подзаголовка в текстовом файле вывода программы VM2D/VM3D.
Definition: defs.cpp:172
void PrintLogoToTextFile(std::ofstream &str, const std::string &fileName, const std::string &descr)
Формирование заголовка файла программы VM2D/VM3D.
Definition: defs.cpp:136
const Passport & getPassport() const
Возврат константной ссылки на паспорт
Definition: World2D.h:222

Here is the call graph for this function:

Here is the caller graph for this function:

void Times::GenerateStatString ( ) const
overridevirtual

Сохранение строки со статистикой в файл временной статистики

Implements VMlib::TimesGen.

Definition at line 72 of file Times2D.cpp.

73 {
74  std::ofstream timestatFile(W.getPassport().dir + "timestat", std::ios::app);
75 
76  timestatFile << std::endl
77  << W.getCurrentStep() << "\t"
79  << W.getWake().vtx.size() << "\t"
80  << dT(timeWholeStep) << "\t"
82  << dT(timeFillMatrixAndRhs) << "\t"
83  << dT(timeSolveLinearSystem) << "\t"
84  << dT(timeCalcVortexConvVelo) << "\t"
85  << dT(timeCalcVortexDiffVelo) << "\t"
86  << dT(timeGetHydroDynamForce) << "\t"
87  << dT(timeVP) << "\t"
88  << dT(timeMoveVortexes) << "\t"
89  << dT(timeCheckInside) << "\t"
90  << dT(timeRestruct) << "\t"
91  << dT(timeWakeSort) << "\t"
92  << dT(timeSaveKadr) << "\t"
93  << dT(timeOther);
94 
95  timestatFile.close();
96 }//GenerateStatString()
timePeriod timeCalcVortexDiffVelo
Начало и конец процесса вычисления диффузионных скоростей вихрей
Definition: Times2D.h:89
timePeriod timeRestruct
Начало и конец процесса реструктуризации пелены
Definition: Times2D.h:101
double getCurrTime() const
Возвращает текуще время
Definition: Passport2D.h:102
const World2D & W
Константная ссылка на решаемую задачу
Definition: Times2D.h:63
const Wake & getWake() const
Возврат константной ссылки на вихревой след
Definition: World2D.h:197
std::string dir
Рабочий каталог задачи
Definition: PassportGen.h:118
PhysicalProperties physicalProperties
Структура с физическими свойствами задачи
Definition: Passport2D.h:296
timePeriod timeCalcVortexConvVelo
Начало и конец процесса вычисления конвективных скоростей вихрей
Definition: Times2D.h:86
timePeriod timeMoveVortexes
Начало и конец процесса перемещения вихрей
Definition: Times2D.h:95
timePeriod timeSaveKadr
Начало и конец процесса сохранения кадра в файл
Definition: Times2D.h:107
static double dT(const timePeriod &t)
Definition: TimesGen.h:82
timePeriod timeSolveLinearSystem
Начало и конец процесса решения системы линейных алгебраических уравнений
Definition: Times2D.h:83
timePeriod timeGetHydroDynamForce
Начало и конец процесса вычисления нагрузок
Definition: Times2D.h:92
std::vector< Vortex2D > vtx
Список вихревых элементов
timePeriod timeFillMatrixAndRhs
Начало и конец процесса заполнения матрицы и формирования правой части
Definition: Times2D.h:80
timePeriod timeCheckInside
Начало и конец процесса контроля протыкания
Definition: Times2D.h:98
const Passport & getPassport() const
Возврат константной ссылки на паспорт
Definition: World2D.h:222
timePeriod timeVP
Начало и конец процесса подсчета полей скоростей и давления и сохранения их в файл ...
Definition: Times2D.h:110
timePeriod timeReserveMemoryForMatrixAndRhs
Начало и конец процесса выделения памяти под матрицу и правую часть
Definition: Times2D.h:77
size_t getCurrentStep() const
Возврат константной ссылки на параметры распараллеливания по MPI.
Definition: WorldGen.h:91
timePeriod timeWakeSort
Начало и конец процесса сортировки вихревого следа
Definition: Times2D.h:104
timePeriod timeWholeStep
Начало и конец процесса выполнения шага целиком
Definition: Times2D.h:71
timePeriod timeOther
Все прочее
Definition: Times2D.h:113

Here is the call graph for this function:

Here is the caller graph for this function:

void Times::ToZero ( )
overridevirtual

Обнуление состояния временной статистики

Implements VMlib::TimesGen.

Definition at line 100 of file Times2D.cpp.

101 {
116 }
timePeriod timeCalcVortexDiffVelo
Начало и конец процесса вычисления диффузионных скоростей вихрей
Definition: Times2D.h:89
timePeriod timeRestruct
Начало и конец процесса реструктуризации пелены
Definition: Times2D.h:101
timePeriod timeCalcVortexConvVelo
Начало и конец процесса вычисления конвективных скоростей вихрей
Definition: Times2D.h:86
timePeriod timeMoveVortexes
Начало и конец процесса перемещения вихрей
Definition: Times2D.h:95
timePeriod timeSaveKadr
Начало и конец процесса сохранения кадра в файл
Definition: Times2D.h:107
timePeriod timeSolveLinearSystem
Начало и конец процесса решения системы линейных алгебраических уравнений
Definition: Times2D.h:83
timePeriod timeGetHydroDynamForce
Начало и конец процесса вычисления нагрузок
Definition: Times2D.h:92
timePeriod timeFillMatrixAndRhs
Начало и конец процесса заполнения матрицы и формирования правой части
Definition: Times2D.h:80
timePeriod timeCheckInside
Начало и конец процесса контроля протыкания
Definition: Times2D.h:98
timePeriod timeVP
Начало и конец процесса подсчета полей скоростей и давления и сохранения их в файл ...
Definition: Times2D.h:110
timePeriod timeReserveMemoryForMatrixAndRhs
Начало и конец процесса выделения памяти под матрицу и правую часть
Definition: Times2D.h:77
static void ToZeroPeriod(timePeriod &period)
Definition: TimesGen.h:56
timePeriod timeWakeSort
Начало и конец процесса сортировки вихревого следа
Definition: Times2D.h:104
timePeriod timeWholeStep
Начало и конец процесса выполнения шага целиком
Definition: Times2D.h:71
timePeriod timeOther
Все прочее
Definition: Times2D.h:113

Here is the call graph for this function:

Here is the caller graph for this function:

static void VMlib::TimesGen::ToZeroPeriod ( timePeriod period)
inlinestaticprotectedinherited

Обнуление одного временного периода

Parameters
[out]periodпромежуток времени, начало и конец которого будут обнулены

Definition at line 56 of file TimesGen.h.

57  {
58  period.first = 0;
59  period.second = 0;
60  }//ToZero(...)

Here is the caller graph for this function:

Member Data Documentation

timePeriod VM2D::Times::timeCalcVortexConvVelo

Начало и конец процесса вычисления конвективных скоростей вихрей

Definition at line 86 of file Times2D.h.

timePeriod VM2D::Times::timeCalcVortexDiffVelo

Начало и конец процесса вычисления диффузионных скоростей вихрей

Definition at line 89 of file Times2D.h.

timePeriod VM2D::Times::timeCheckInside

Начало и конец процесса контроля протыкания

Definition at line 98 of file Times2D.h.

timePeriod VM2D::Times::timeFillMatrixAndRhs

Начало и конец процесса заполнения матрицы и формирования правой части

Definition at line 80 of file Times2D.h.

timePeriod VM2D::Times::timeGetHydroDynamForce

Начало и конец процесса вычисления нагрузок

Definition at line 92 of file Times2D.h.

timePeriod VM2D::Times::timeMoveVortexes

Начало и конец процесса перемещения вихрей

Definition at line 95 of file Times2D.h.

timePeriod VM2D::Times::timeOther

Все прочее

Definition at line 113 of file Times2D.h.

timePeriod VM2D::Times::timeReserveMemoryForMatrixAndRhs

Начало и конец процесса выделения памяти под матрицу и правую часть

Definition at line 77 of file Times2D.h.

timePeriod VM2D::Times::timeRestruct

Начало и конец процесса реструктуризации пелены

Definition at line 101 of file Times2D.h.

timePeriod VM2D::Times::timeSaveKadr

Начало и конец процесса сохранения кадра в файл

Definition at line 107 of file Times2D.h.

timePeriod VM2D::Times::timeSolveLinearSystem

Начало и конец процесса решения системы линейных алгебраических уравнений

Definition at line 83 of file Times2D.h.

timePeriod VM2D::Times::timeVP

Начало и конец процесса подсчета полей скоростей и давления и сохранения их в файл

Definition at line 110 of file Times2D.h.

timePeriod VM2D::Times::timeWakeSort

Начало и конец процесса сортировки вихревого следа

Definition at line 104 of file Times2D.h.

timePeriod VM2D::Times::timeWholeStep

Начало и конец процесса выполнения шага целиком

Definition at line 71 of file Times2D.h.

const World2D& VM2D::Times::W
private

Константная ссылка на решаемую задачу

Definition at line 63 of file Times2D.h.


The documentation for this class was generated from the following files: