ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
OutputXML.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 OUTPUTXML_H
32#define OUTPUTXML_H
33
34#include "Output.h"
35
36class OutputXML : public Output
37{
38public:
39 OutputXML(std::string casTest, std::string run, tinyxml2::XMLElement* element, std::string fileName, Input *entree);
40 OutputXML(std::string nameRun, int fileNumberRestartMeshMapping, Input *input);
41 virtual ~OutputXML();
42
43 virtual void initializeSpecificOutput();
44 virtual void writeResults(Mesh *mesh, std::vector<Cell*>* cellsLvl);
45
46 virtual void readResults(Mesh *mesh, std::vector<Cell*>* cellsLvl);
47 virtual void readResultsCpu(Mesh *mesh, std::vector<Cell*>* cellsLvl, int cpu);
48
49protected:
50
51 void ReadPhysicalDataXML(Mesh *mesh, std::vector<Cell*>* cellsLvl, tinyxml2::XMLElement* nodeCellData, std::string fileName = "Unknown file");
52
53 std::string createFilenameXML(const char* name, Mesh *mesh=0, int proc=-1, int numFichier=-1, std::string nameVariable ="defaut");
54
55 void writeResultsXML(Mesh *mesh, std::vector<Cell*>* cellsLvl);
56 void writeCollectionXML(Mesh *mesh);
57 void writePhysicalDataXML(Mesh *mesh, std::vector<Cell*>* cellsLvl, std::ofstream &fileStream, bool parallel = false);
58
59 //Dependant du type de mesh
60 void writeMeshRectilinearXML(Mesh *mesh, std::ofstream &fileStream, bool parallel = false);
61 void writeMeshUnstructuredXML(Mesh *mesh, std::vector<Cell*>* cellsLvl, std::ofstream &fileStream, bool parallel = false);
62 void writeFinFichierRectilinearXML(std::ofstream &fileStream, bool parallel = false);
63 void writeFinFichierUnstructuredXML(std::ofstream &fileStream, bool parallel = false);
64
65 //Non used / old
66 // void writeFichierParallelXML(Mesh *mesh, std::vector<Cell*>* cellsLvl);
67 // void writeFinFichierPolyDataXML(std::ofstream &fileStream, bool parallel = false);
68 // void writeMeshPolyDataXML(Mesh *mesh, std::vector<Cell*>* cellsLvl, std::ofstream &fileStream, const int& lvl, bool parallel = false);
69};
70
71#endif //OUTPUTXML_H
Parallel parallel
Definition Parallel.cpp:35
Definition Input.h:55
Abstract class for a mesh.
Definition Mesh.h:53
Definition OutputXML.h:37
void writeFinFichierUnstructuredXML(std::ofstream &fileStream, bool parallel=false)
Definition OutputXML.cpp:787
virtual void readResultsCpu(Mesh *mesh, std::vector< Cell * > *cellsLvl, int cpu)
Read results of a single partition of a previous simulation to restart from it.
Definition OutputXML.cpp:148
virtual void writeResults(Mesh *mesh, std::vector< Cell * > *cellsLvl)
Definition OutputXML.cpp:87
void writePhysicalDataXML(Mesh *mesh, std::vector< Cell * > *cellsLvl, std::ofstream &fileStream, bool parallel=false)
Definition OutputXML.cpp:418
std::string createFilenameXML(const char *name, Mesh *mesh=0, int proc=-1, int numFichier=-1, std::string nameVariable="defaut")
Definition OutputXML.cpp:274
void writeMeshUnstructuredXML(Mesh *mesh, std::vector< Cell * > *cellsLvl, std::ofstream &fileStream, bool parallel=false)
Definition OutputXML.cpp:692
void writeCollectionXML(Mesh *mesh)
Definition OutputXML.cpp:371
void writeResultsXML(Mesh *mesh, std::vector< Cell * > *cellsLvl)
Definition OutputXML.cpp:320
virtual void readResults(Mesh *mesh, std::vector< Cell * > *cellsLvl)
Read results of a previous simulation to restart from it.
Definition OutputXML.cpp:101
void ReadPhysicalDataXML(Mesh *mesh, std::vector< Cell * > *cellsLvl, tinyxml2::XMLElement *nodeCellData, std::string fileName="Unknown file")
Definition OutputXML.cpp:194
virtual void initializeSpecificOutput()
Definition OutputXML.cpp:58
void writeMeshRectilinearXML(Mesh *mesh, std::ofstream &fileStream, bool parallel=false)
Definition OutputXML.cpp:627
void writeFinFichierRectilinearXML(std::ofstream &fileStream, bool parallel=false)
Definition OutputXML.cpp:774
virtual ~OutputXML()
Definition OutputXML.cpp:54
Definition Output.h:54
Definition tinyxml2.h:1149