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::pair<std::string, int> fileTypeVtx;
76
78 std::pair<std::string, int> fileTypeVP;
81
84
86 };//TimeDiscretizationProperties
87
88
96 {
97 protected:
106 (
107 std::istream& mainStream,
108 std::istream& mechanicsStream,
109 std::istream& defaultStream,
110 std::istream& switcherStream,
111 std::istream& varsStream
112 ) = 0;
113
116
118 virtual void PrintAllParams() = 0;
119
120 public:
122 std::string dir;
123
125 std::string problemName;
126
129
132
146 (
147 LogStream& infoStream,
148 const std::string& _problemName,
149 const size_t _problemNumber,
150 const std::string& _filePassport,
151 const std::string& _mechanics,
152 const std::string& _defaults,
153 const std::string& _switchers,
154 const std::vector<std::string>& vars
155 );
156
158 virtual ~PassportGen() { };
159 };
160
161}//namespace VMlib
162
163
164#endif
165
Заголовочный файл с описанием класса LogStream.
Класс, определяющий работу с потоком логов
Definition LogStream.h:57
Абстрактный класс, опеделяющий паспорт задачи
Definition PassportGen.h:96
TimeDiscretizationProperties timeDiscretizationProperties
Структура с параметрами процесса интегрирования по времени
LogStream info
Поток для вывода логов и сообщений об ошибках
virtual ~PassportGen()
Деструктор
std::string problemName
Название задачи
std::string dir
Рабочий каталог задачи
virtual void GetAllParamsFromParser(std::istream &mainStream, std::istream &mechanicsStream, std::istream &defaultStream, std::istream &switcherStream, std::istream &varsStream)=0
Считывание всех параметров расчета из соответствующих потоков
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:73
double timeStart
Начальное время
Definition PassportGen.h:61
int saveVPstep
Шаг вычисления и сохранения скорости и давления
Definition PassportGen.h:80
int saveVtxStep
Шаг сохранения кадров в бинарные файлы
Definition PassportGen.h:75
int saveVisStress
Шаг вычисления и сохранения скорости и давления
Definition PassportGen.h:83
int nameLength
Число разрядов в имени файла
Definition PassportGen.h:70
double timeStop
Конечное время
Definition PassportGen.h:64
std::pair< std::string, int > fileTypeVP
Тип файлов для сохранения скорости и давления
Definition PassportGen.h:78