← Documentation
ADS-IDAC Engine 5.0.0
HeatStructure.cpp
Go to the documentation of this file.
1// HeatStructure.cpp: implementation of the HeatStructure class.
2//
4
5#include <fstream>
6#include <boost/serialization/export.hpp>
7
8#include "HeatStructure.h"
9#include <boost/archive/binary_oarchive.hpp>
10#include <boost/archive/binary_iarchive.hpp>
11BOOST_CLASS_EXPORT_IMPLEMENT(HeatStructure)
12
13
14using namespace std;
15
17// Construction/Destruction
19
21{
23 unit_of_mesh_point_temperature = "NOT_SPECIFIED";
25}
26
28{
29}
31 int i, n_gap;
32 if(mesh_point_temperature.size() >= (n + 1)){//n starts at 0 (zero)
34 }
35 else{
36 n_gap = n + 1 - mesh_point_temperature.size();
37 for(i = 0; i < n_gap; i++){
38 mesh_point_temperature.push_back(-1.0);
39 }
41 }
42}
45}
47 if(mesh_point_temperature.size() >= (n + 1)){
48 return mesh_point_temperature[n];
49 }
50 else{
51 ofstream fout("err messages.txt", ios::app);
52 fout << r5pars_.timesno << " HeatStructure::getMeshPointTemperature the n (" << n << ") exceeds the size of mesh_point_temperature array\n";
53 fout.close();
54 return -1.0;
55 }
56}
59}
60
61
63 this->setUnitOfMeshPointTemperature(si_unit);
64};
66 if (si_unit){
68 }
69 else{
71 }
72}
76 fin >> this->number_of_mesh_points;
77}
79 int i, num;
80 num = mesh_point_temperature.size();
81 fout << number_of_mesh_points << ' '
83 << num;
84 for(i = 0; i < num; i++){
85 fout << ' ' << mesh_point_temperature.at(i);
86 }
87 fout << '\n';
88 this->saveTHElementToFile(fout);
89}
91 int i, num;
92 double value;
94 for(i = 0; i < num; i++){
95 fin >> value;
96 mesh_point_temperature.push_back(value);
97 }
99}
101 int i, num;
102 this->copyTHElement(_hs);
105 num = _hs.mesh_point_temperature.size();
106 for(i = 0; i < num; i++){
107 this->mesh_point_temperature.push_back(_hs.mesh_point_temperature.at(i));
108 }
109}
std::string getUnitOfMeshPointTemperature()
virtual ~HeatStructure()
void setUnitOfMeshPointTemperature(bool unit)
void readInfoFromFile(std::ifstream &)
int getNumberOfMeshPoints()
double getMeshPointTemperature(int index)
int number_of_mesh_points
Definition: HeatStructure.h:34
void saveHeatStructureToFile(std::ofstream &)
std::vector< double > mesh_point_temperature
Definition: HeatStructure.h:31
void setNumberOfMeshPoints(int num)
std::string unit_of_mesh_point_temperature
Definition: HeatStructure.h:35
void setMeshPointTemperature(int index, double temp)
void retrieveHeatStructureFromFile(std::ifstream &)
void copyHeatStructure(HeatStructure &)
void setUnits(bool unit)
void setTypeOfCard(Relap5ComponentType newTypeOfCard)
Definition: THElement.cpp:35
void saveTHElementToFile(std::ofstream &)
Definition: THElement.cpp:36
void copyTHElement(THElement &)
Definition: THElement.cpp:42
void readInfoFromFile(std::ifstream &)
Definition: THElement.cpp:31
void retrieveTHElementFromFile(std::ifstream &)
Definition: THElement.cpp:39
bool si_unit
true = SI units, false = British units
Definition: fmodule.h:107
struct @0 r5pars_