VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
PassportGen.h
Go to the documentation of this file.
1/*--------------------------------*- VM2D -*-----------------*---------------*\
2| ## ## ## ## #### ##### | | Version 1.14 |
3| ## ## ### ### ## ## ## ## | VM2D: Vortex Method | 2026/03/06 |
4| ## ## ## # ## ## ## ## | for 2D Flow Simulation *----------------*
5| #### ## ## ## ## ## | Open Source Code |
6| ## ## ## ###### ##### | https://www.github.com/vortexmethods/VM2D |
7| |
8| Copyright (C) 2017-2026 I. Marchevsky, K. Sokol, E. Ryatina, A. Kolganova |
9*-----------------------------------------------------------------------------*
10| File name: PassportGen.h |
11| Info: Source code of VM2D |
12| |
13| This file is part of VM2D. |
14| VM2D is free software: you can redistribute it and/or modify it |
15| under the terms of the GNU General Public License as published by |
16| the Free Software Foundation, either version 3 of the License, or |
17| (at your option) any later version. |
18| |
19| VM2D is distributed in the hope that it will be useful, but WITHOUT |
20| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
21| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
22| for more details. |
23| |
24| You should have received a copy of the GNU General Public License |
25| along with VM2D. If not, see <http://www.gnu.org/licenses/>. |
26\*---------------------------------------------------------------------------*/
27
28
40#ifndef PASSPORTGEN_H
41#define PASSPORTGEN_H
42
43#include <iostream>
44#include <iomanip>
45#include <memory>
46#include <vector>
47
48#include "LogStream.h"
49
50namespace VMlib
51{
59 {
61 double timeStart;
62
64 double timeStop;
65
67 double dt;
68
71
73 std::vector<std::string> reviseParameters;
74
77
79 std::pair<std::string, int> fileTypeVtx;
82
84 std::pair<std::string, int> fileTypeVP;
87
90
92 };//TimeDiscretizationProperties
93
94
102 {
103 protected:
112 (
113 std::istream& mainStream,
114 std::istream& mechanicsStream,
115 std::istream& defaultStream,
116 std::istream& switcherStream,
117 std::istream& varsStream,
118 const std::vector<std::string> paramList
119 ) = 0;
120
123
125 virtual void PrintAllParams() = 0;
126
127 public:
129 std::string dir;
130
132 std::string problemName;
133
136
139
153 (
154 LogStream& infoStream,
155 const std::string& _problemName,
156 const size_t _problemNumber,
157 const std::string& _filePassport,
158 const std::string& _mechanics,
159 const std::string& _defaults,
160 const std::string& _switchers,
161 const std::vector<std::string>& vars
162 );
163
165 virtual ~PassportGen() { };
166 };
167
168}//namespace VMlib
169
170
171#endif
172
Заголовочный файл с описанием класса LogStream.
Класс, определяющий работу с потоком логов
Definition LogStream.h:57
Абстрактный класс, опеделяющий паспорт задачи
TimeDiscretizationProperties timeDiscretizationProperties
Структура с параметрами процесса интегрирования по времени
LogStream info
Поток для вывода логов и сообщений об ошибках
virtual ~PassportGen()
Деструктор
std::string problemName
Название задачи
virtual void GetParamsFromParser(std::istream &mainStream, std::istream &mechanicsStream, std::istream &defaultStream, std::istream &switcherStream, std::istream &varsStream, const std::vector< std::string > paramList)=0
Считывание всех параметров расчета из соответствующих потоков
std::string dir
Рабочий каталог задачи
size_t problemNumber
Номер задачи
virtual void PrintAllParams()=0
Печать всех параметров расчета в поток логов
Структура, задающая параметры процесса интегрирования по времени
Definition PassportGen.h:59
double dt
Шаг по времени
Definition PassportGen.h:67
std::pair< std::string, int > fileTypeVtx
Тип файлов для сохранения скорости и давления
Definition PassportGen.h:79
double timeStart
Начальное время
Definition PassportGen.h:61
std::vector< std::string > reviseParameters
Список перечитываемых параметров
Definition PassportGen.h:73
int saveVPstep
Шаг вычисления и сохранения скорости и давления
Definition PassportGen.h:86
int revisePassportStep
Шаг перечитывания паспорта
Definition PassportGen.h:70
int saveVtxStep
Шаг сохранения кадров в бинарные файлы
Definition PassportGen.h:81
int saveVisStress
Шаг вычисления и сохранения скорости и давления
Definition PassportGen.h:89
int nameLength
Число разрядов в имени файла
Definition PassportGen.h:76
double timeStop
Конечное время
Definition PassportGen.h:64
std::pair< std::string, int > fileTypeVP
Тип файлов для сохранения скорости и давления
Definition PassportGen.h:84