ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
Input.h
Go to the documentation of this file.
1//
2// ,---. ,--, .---. ,--, ,---. .-. .-.
3// | .-' .' .') / .-. ) .' .' | .-' | \| |
4// | `-. | |(_) | | |(_) | | __ | `-. | | |
5// | .-' \ \ | | | | \ \ ( _) | .-' | |\ |
6// | `--. \ `-. \ `-' / \ `-) ) | `--. | | |)|
7// /( __.' \____\ )---' )\____/ /( __.' /( (_)
8// (__) (_) (__) (__) (__)
9// Official webSite: https://code-mphi.github.io/ECOGEN/
10//
11// This file is part of ECOGEN.
12//
13// ECOGEN is the legal property of its developers, whose names
14// are listed in the copyright file included with this source
15// distribution.
16//
17// ECOGEN is free software: you can redistribute it and/or modify
18// it under the terms of the GNU General Public License as published
19// by the Free Software Foundation, either version 3 of the License,
20// or (at your option) any later version.
21//
22// ECOGEN is distributed in the hope that it will be useful,
23// but WITHOUT ANY WARRANTY; without even the implied warranty of
24// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25// GNU General Public License for more details.
26//
27// You should have received a copy of the GNU General Public License
28// along with ECOGEN (file LICENSE).
29// If not, see <http://www.gnu.org/licenses/>.
30
31#ifndef INPUT_H
32#define INPUT_H
33
34#include <sstream>
35#include <cassert>
36
46#include "../Errors.h"
47#include "../Tools.h"
48
49class Input;
50
51#include "../Run.h"
52#include "Output.h"
53
54class Input
55{
56 public:
57 Input(Run* run);
58 virtual ~Input();
59
60 void readInputXML(std::vector<GeometricalDomain*>& domains, std::vector<BoundCond*>& boundCond, std::vector<GeometricalDomain*>& solidDomains);
61
62 void inputMain(std::string testCase);
65 tinyxml2::XMLElement* sousElement,
66 const std::stringstream& fileName,
67 std::vector<stretchZone>& stretch,
68 int& numberCells) const;
69 void inputMesh(std::string testCase);
70 void inputModel(std::string testCase);
71 Eos* inputEOS(std::string EOS, int& numberEOS);
72 void inputInitialConditions(std::string testCase,
73 std::vector<GeometricalDomain*>& domains,
74 std::vector<BoundCond*>& boundCond,
75 std::vector<GeometricalDomain*>& solidDomains);
76 void verifyCompatibilityInput(std::string testCase);
77
78 //Accesseur
79 std::string getMain() const { return m_nameMain; };
80 std::string getMesh() const { return m_nameMesh; };
81 std::string getCI() const { return m_nameCI; };
82 std::string getModel() const { return m_nameModel; };
83 Run* getRun() const { return m_run; }
84
85 private:
86 Run* m_run; // Pointer to run
87
88 std::string m_nameMain;
89 std::string m_nameMesh;
90 std::string m_nameCI;
91 std::string m_nameModel;
92};
93
94#endif // INPUT_H
General class for Equation of State (EOS).
Definition Eos.h:62
Definition Input.h:55
std::string getCI() const
Definition Input.h:81
std::string getMesh() const
Definition Input.h:80
void inputMain(std::string testCase)
Definition Input.cpp:77
Input(Run *run)
Definition Input.cpp:40
std::string getMain() const
Definition Input.h:79
Run * m_run
Definition Input.h:86
std::string m_nameMain
Name of main file.
Definition Input.h:88
bool readAxisStretching(tinyxml2::XMLError &error, tinyxml2::XMLElement *sousElement, const std::stringstream &fileName, std::vector< stretchZone > &stretch, int &numberCells) const
Definition Input.cpp:245
std::string getModel() const
Definition Input.h:82
std::string m_nameMesh
Name of mesh file.
Definition Input.h:89
std::string m_nameModel
Name of model file.
Definition Input.h:91
Run * getRun() const
Definition Input.h:83
void inputModel(std::string testCase)
Definition Input.cpp:564
void readInputXML(std::vector< GeometricalDomain * > &domains, std::vector< BoundCond * > &boundCond, std::vector< GeometricalDomain * > &solidDomains)
Definition Input.cpp:54
void inputInitialConditions(std::string testCase, std::vector< GeometricalDomain * > &domains, std::vector< BoundCond * > &boundCond, std::vector< GeometricalDomain * > &solidDomains)
Definition Input.cpp:1419
void inputMesh(std::string testCase)
Definition Input.cpp:295
std::string m_nameCI
Name of initialConditions file.
Definition Input.h:90
Eos * inputEOS(std::string EOS, int &numberEOS)
Definition Input.cpp:1351
void verifyCompatibilityInput(std::string testCase)
Definition Input.cpp:1856
virtual ~Input()
Definition Input.cpp:50
Class regrouping all information for a simulation.
Definition Run.h:63
Definition tinyxml2.h:1148
XMLError
Definition tinyxml2.h:503