ECOGEN 4.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
37#include "../libTierces/tinyxml2.h"
38#include "../Eos/HeaderEquationOfState.h"
39#include "../Geometries/HeaderGeometricalDomain.h"
40#include "../Sources/HeaderSources.h"
41#include "../Symmetries/HeaderSymmetry.h"
42#include "../Gradients/HeaderGradient.h"
43#include "../Order2/HeaderLimiter.h"
44#include "../BoundConds/HeaderBoundCond.h"
45#include "../AdditionalPhysics/HeaderQuantitiesAddPhys.h"
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);
63 void inputMesh(std::string testCase);
64 void inputModel(std::string testCase);
65 Eos* inputEOS(std::string EOS, int& numberEOS);
66 void inputInitialConditions(std::string testCase, std::vector<GeometricalDomain*>& domains, std::vector<BoundCond*>& boundCond, std::vector<GeometricalDomain*>& solidDomains);
67 void verifyCompatibilityInput(std::string testCase);
68
69 //Accesseur
70 std::string getMain() const { return m_nameMain; };
71 std::string getMesh() const { return m_nameMesh; };
72 std::string getCI() const { return m_nameCI; };
73 std::string getModel() const { return m_nameModel; };
74 Run *getRun() const { return m_run; }
75
76private:
77 Run *m_run; // Pointer to run
78
79 std::string m_nameMain;
80 std::string m_nameMesh;
81 std::string m_nameCI;
82 std::string m_nameModel;
83};
84
85#endif // INPUT_H
General class for Equation of State (EOS).
Definition Eos.h:54
Definition Input.h:55
std::string getCI() const
Definition Input.h:72
std::string getMesh() const
Definition Input.h:71
void inputMain(std::string testCase)
Definition Input.cpp:77
std::string getMain() const
Definition Input.h:70
Run * m_run
Definition Input.h:77
std::string m_nameMain
Name of main file.
Definition Input.h:79
std::string getModel() const
Definition Input.h:73
std::string m_nameMesh
Name of mesh file.
Definition Input.h:80
std::string m_nameModel
Name of model file.
Definition Input.h:82
Run * getRun() const
Definition Input.h:74
void inputModel(std::string testCase)
Definition Input.cpp:566
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:917
void inputMesh(std::string testCase)
Definition Input.cpp:319
std::string m_nameCI
Name of initialConditions file.
Definition Input.h:81
Eos * inputEOS(std::string EOS, int &numberEOS)
Definition Input.cpp:865
void verifyCompatibilityInput(std::string testCase)
Definition Input.cpp:1197
virtual ~Input()
Definition Input.cpp:50
Class regrouping all information for a simulation.
Definition Run.h:63