MURE
Loading...
Searching...
No Matches
ThermalCoupling.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _THERMAL_
20#define _THERMAL_
21
27#include <vector>
28#include <string>
29#include <fstream>
30#include <algorithm>
31
32#include "ThermalDataReader.hxx"
33#include "Cell.hxx"
34
35class Cell;
37
39
53{
54 public :
61 int NumberOfLevels,
62 int ZoneNumber = 0,
63 int IterationNumber = 0
64 );
66 void Run();
68
69
75 {
76 fCosinePower = true;
77 }
78 void SetRodRadius(double RodRadius)
79 {
80 fFuelRadius = RodRadius;
81 }
82 void SetInnerRodRadius(double InnerRodRadius)
83 {
84 fInnerFuelRadius = InnerRodRadius;
85 }
86 void SetCladRadius(double CladRadius)
87 {
88 fCladRadius = CladRadius;
89 }
90 void SetCellsHeight(double ElementaryCellHeight)
91 {
92 fCellHeight = ElementaryCellHeight;
93 }
94 void SetCellsSurface(double ElementaryCellSurface)
95 {
96 fCellSurface = ElementaryCellSurface;
97 }
98 void SetEnterCoolantTemp(double EnterCoolantTemp)
99 {
100 fCoolantEnterTemp.push_back(EnterCoolantTemp);
101 }
102 void SetCoolantType(string Coolant)
103 {
104 fCoolant = Coolant;
105 }
106 void SetFuelType(string Fuel)
107 {
108 fFuel = Fuel;
109 }
110 void SetCladdingType(string Cladding)
111 {
112 fCladding = Cladding;
113 }
114 void SetRodAveragePower(double Power)
115 {
116 fRodAveragePower = Power;
117 }
118 void SetMassSpeed(double MassSpeed)
119 {
120 fMassSpeed = MassSpeed;
121 }
123 {
124 fHexLattice = true;
125 }
126 void SetFuelPorosity(double FuelPorosity)
127 {
128 fFuelPorosity = FuelPorosity;
129 }
131 {
132 fHeatTransferGazSpace = true;
133 }
134 void SetDeltaTempOfGazSpace(double DeltaTemp)
135 {
136 fDeltaTempOfGazSpace = DeltaTemp;
138 }
140 {
141 fHGap = Hgap;
143 }
145
146
147 protected :
148 void CheckConsistent();
149 void GetAllCells();
150 void LoadingData();
153 void PrintPowerResults();
154 void FluidHeating();
156 void Convection();
157 void CladConduction();
158 void ThermalRadiation(); // Resolves Thermal radiation phenomena between cladding and fuel
159 void FuelConduction();
160 void PressureLosses();
161 void PrintThermalResults();
162 void CloseFiles();
164 void ForcedDestroy();
165 //double Dittus(double, double, double); //!< The Dittus-Boelter equation to calculate the heat transfer coefficient
166
167 private :
168 int fi;
171 double fFuelRadius;
173 double fCladRadius;
174 // double fGazSpace; //!< Void space between fuel rod and cladding : Fission Products space
175 double fCellHeight;
177 string fCoolant;
178 string fFuel;
179 string fCladding;
180 double fMassSpeed;
182
188 double fHGap;
191 double fDh;
192 vector < double > fCp;
193 vector < double > fVis;
194 vector < double > fk;
195 vector < double > fFuelk;
196 vector < double > fPr;
197 vector < double > fRe;
198 vector < double > fNu;
199 vector < double > fCoolantEnterTemp;
200 vector < double > fCoolantExitTemp;
201 vector < double > fPower;
202 vector < double > fPowerDensities;
203 vector < double > fFuelTemps;
204 vector < double > fFuelTp;
205 vector < double > fFuelTi;
206 vector < double > fCladdingTemps;
207 vector < double > fCladdingTp;
208 vector < double > fCladdingTi;
209 vector < double > fCoolantTemps;
210 vector < double > fCoolantEntryTemps;
211 vector < double > fCoolantExitTemps;
212 vector < double > fCoolantDensities;
213 vector < double > fParietalStream;
214 vector < double > fPressureLosses;
215
216 vector < Cell *> fFuelCells;
217 vector < Cell *> fCladdingCells;
218 vector < Cell *> fCoolantCells;
219
220 vector < ofstream *> fFiles;
221 vector < ofstream *> fFuelOuter;
222 vector < ofstream *> fFuelInner;
223 vector < ofstream *> fCoolantDensity;
224
226};
227
228#endif
Header file for Cell class.
Header file for ThermalDataReader class.
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
This object performs the variation of temperature in a given region for a specific system.
Definition ThermalCoupling.hxx:53
vector< double > fFuelTp
Parietal Temperature of fuel cells.
Definition ThermalCoupling.hxx:204
bool fCosinePower
default value = false ; if true : power deposits type cosinus
Definition ThermalCoupling.hxx:183
bool fSigmaPhiUpdated
Used to check if the update of sigma phi is already done.
Definition ThermalCoupling.hxx:184
void SetDeltaTempOfGazSpace(double DeltaTemp)
Definition ThermalCoupling.hxx:134
ThermalDataReader * fThermalData
Definition ThermalCoupling.hxx:225
vector< double > fCp
Heat capacity value of each coolant cell [J/kg.K].
Definition ThermalCoupling.hxx:192
vector< double > fFuelTi
Interior Temperature of fuel cells.
Definition ThermalCoupling.hxx:205
void SetCoolantType(string Coolant)
Definition ThermalCoupling.hxx:102
double fPassageSurface
Surface of passage (surface of coolant in an under shannel)
Definition ThermalCoupling.hxx:190
void CloseFiles()
Closes output files created.
Definition ThermalCoupling.cxx:582
vector< ofstream * > fFuelInner
Generates output files for inner pellet temperature.
Definition ThermalCoupling.hxx:222
void Convection()
Calculates the convective heat transfert between rod and coolant.
Definition ThermalCoupling.cxx:375
vector< Cell * > fCladdingCells
Claddings cells implicated in the calculation.
Definition ThermalCoupling.hxx:217
void PrintPowerResults()
Prints results of power deposits.
Definition ThermalCoupling.cxx:257
void ForcedDestroy()
Explicit destruction of this thermalcoupling object.
Definition ThermalCoupling.cxx:631
vector< double > fk
Thermal conductivities values of each coolant cell [W/(m.K)].
Definition ThermalCoupling.hxx:194
double fCellHeight
Height of each cell cylinder.
Definition ThermalCoupling.hxx:175
double fDeltaTempOfGazSpace
Value of temperature difference between cladding and fuel inside the gaz space (given by user)
Definition ThermalCoupling.hxx:187
vector< double > fRe
Reynolds Numbers of each coolant cell.
Definition ThermalCoupling.hxx:197
vector< Cell * > fCoolantCells
Coolants cells implicated in the calculation.
Definition ThermalCoupling.hxx:218
double fRodAveragePower
Rod average power (W)
Definition ThermalCoupling.hxx:181
vector< ofstream * > fFiles
Generates output files for thermal data (Axial averages and radial distribution in cells.
Definition ThermalCoupling.hxx:220
~ThermalCoupling()
Delete standard.
void CalculateHeatTransferInGazSpace()
Definition ThermalCoupling.hxx:130
double fHGap
Value of the heat exchange coefficient inside the gap (W/m2/K)
Definition ThermalCoupling.hxx:188
int fi
Iteration step number.
Definition ThermalCoupling.hxx:168
void DimensionlessNumbersCalculation()
Calculate the dimensionless numbers (Re, Nu)
Definition ThermalCoupling.cxx:352
void CheckConsistent()
Checks the consistent with all data.
Definition ThermalCoupling.cxx:115
vector< double > fNu
Nusselt Numbers of each coolant cell.
Definition ThermalCoupling.hxx:198
vector< double > fCoolantTemps
Average temperatures of coolant cells.
Definition ThermalCoupling.hxx:209
int fRadialZone
Radial zone number.
Definition ThermalCoupling.hxx:170
vector< double > fCoolantExitTemps
Temperatures of exit in coolant cells.
Definition ThermalCoupling.hxx:211
void SetCellsHeight(double ElementaryCellHeight)
Definition ThermalCoupling.hxx:90
double fDh
Hydraulic diameter (4*S/P)
Definition ThermalCoupling.hxx:191
void CalculateCosinusPowerDeposits()
Calculates each power density with a cosine distribution.
Definition ThermalCoupling.cxx:229
void CalculateRodPowerDeposits()
Calculate power densities of each fuel cell in a SINGLE rod.
Definition ThermalCoupling.cxx:194
vector< double > fPowerDensities
Power densities of each fuel cell [W/m3].
Definition ThermalCoupling.hxx:202
void SetInnerRodRadius(double InnerRodRadius)
Definition ThermalCoupling.hxx:82
int fLevels
Number of axial levels.
Definition ThermalCoupling.hxx:169
vector< double > fCoolantDensities
Densities of coolant cells.
Definition ThermalCoupling.hxx:212
vector< double > fPower
Power deposited in each fuel cell [W].
Definition ThermalCoupling.hxx:201
void SetRodAveragePower(double Power)
Definition ThermalCoupling.hxx:114
vector< double > fCoolantEnterTemp
Coolant entrance temperature in cells.
Definition ThermalCoupling.hxx:199
double fCellSurface
Surface of the cell (coolant+cladd+fuel)
Definition ThermalCoupling.hxx:176
void SetCladdingType(string Cladding)
Definition ThermalCoupling.hxx:110
vector< double > fCoolantEntryTemps
Temperatures of entrance in coolant cells.
Definition ThermalCoupling.hxx:210
string fCoolant
Name of the coolant (h2o, d2o, sodium, ...)
Definition ThermalCoupling.hxx:177
void SetFuelPorosity(double FuelPorosity)
Definition ThermalCoupling.hxx:126
void SetFuelType(string Fuel)
Definition ThermalCoupling.hxx:106
double fFuelRadius
Radius of fuel rod cylinder (= radius of cladding internal crown)
Definition ThermalCoupling.hxx:171
void LoadingData()
Update of each cell data of the previous step (temperature, densities, ...)
Definition ThermalCoupling.cxx:183
vector< double > fCladdingTi
Interior Temperature of cladding cells.
Definition ThermalCoupling.hxx:208
bool fHeatTransferGazSpace
Used for a heat transfer exchange inside the gaz space.
Definition ThermalCoupling.hxx:186
void SetCladRadius(double CladRadius)
Definition ThermalCoupling.hxx:86
string fCladding
Name of the cladding (zircaloy, steel, ...)
Definition ThermalCoupling.hxx:179
vector< Cell * > fFuelCells
Fuel cells implicated in the calculation.
Definition ThermalCoupling.hxx:216
vector< double > fVis
Viscosities values of each coolant cell [Pa*s].
Definition ThermalCoupling.hxx:193
void SetHeatExchangeCoeffOfGap(double Hgap)
Definition ThermalCoupling.hxx:139
vector< double > fPr
Prandtl Numbers of each coolant cell.
Definition ThermalCoupling.hxx:196
void CladConduction()
Resolves Fourier equation of conduction in the claddind.
Definition ThermalCoupling.cxx:426
double fFuelPorosity
default value = 0 ; if set 0 < < 1 by user, will be given to ThermalDataReader for density correction
Definition ThermalCoupling.hxx:189
string fFuel
Name of the fuel (uox, mox, thpu, ...)
Definition ThermalCoupling.hxx:178
void SetMassSpeed(double MassSpeed)
Definition ThermalCoupling.hxx:118
void ThermalRadiation()
Definition ThermalCoupling.cxx:476
void FluidHeating()
Calculates the warm-up of the fluid.
Definition ThermalCoupling.cxx:289
vector< double > fPressureLosses
Losses of pressure.
Definition ThermalCoupling.hxx:214
vector< double > fFuelTemps
Temperatures of fuel cells.
Definition ThermalCoupling.hxx:203
vector< double > fParietalStream
Parietal Stream see by each cell [W/m2].
Definition ThermalCoupling.hxx:213
void SetRodRadius(double RodRadius)
Definition ThermalCoupling.hxx:78
void SetHexLattice()
Definition ThermalCoupling.hxx:122
vector< double > fCoolantExitTemp
Coolant exit temperature in cells.
Definition ThermalCoupling.hxx:200
void UploadingOfNewProperties()
Updates news properties of cells and materials.
Definition ThermalCoupling.cxx:588
double fInnerFuelRadius
Inner Radius of fuel rod cylinder (annular pellet)
Definition ThermalCoupling.hxx:172
void SetEnterCoolantTemp(double EnterCoolantTemp)
Definition ThermalCoupling.hxx:98
vector< ofstream * > fCoolantDensity
Generates output files for coolant density.
Definition ThermalCoupling.hxx:223
vector< double > fFuelk
Thermal conductivities values of each fuel cell [W/(m.K)].
Definition ThermalCoupling.hxx:195
double fCladRadius
Radius of exterior cylinder (cladding radius)
Definition ThermalCoupling.hxx:173
void GetAllCells()
Gets fuel, cladding and coolants cells.
Definition ThermalCoupling.cxx:145
vector< double > fCladdingTp
Parietal Temperature of cladding cells.
Definition ThermalCoupling.hxx:207
void SetCosinePowerDeposits()
Definition ThermalCoupling.hxx:74
double fMassSpeed
Mass speed that verifies the conservation of the mass (rho*V=cte=fMassSpeed in kg/m2s)
Definition ThermalCoupling.hxx:180
void PrintThermalResults()
Prints radial thermal results for each cell.
Definition ThermalCoupling.cxx:385
vector< ofstream * > fFuelOuter
Generates output files for outer pellet temperature.
Definition ThermalCoupling.hxx:221
bool fHexLattice
Used for flow area calculation.
Definition ThermalCoupling.hxx:185
void PressureLosses()
Calculates losses of pressure due to linear phenomena (no consideration of the term due to the peculi...
Definition ThermalCoupling.cxx:560
void FuelConduction()
Resolves Fourier equation of conduction in the fuel.
Definition ThermalCoupling.cxx:512
vector< double > fCladdingTemps
Temperatures of cladding cells.
Definition ThermalCoupling.hxx:206
void SetCellsSurface(double ElementaryCellSurface)
Definition ThermalCoupling.hxx:94
void Run()
start the calculation
Definition ThermalCoupling.cxx:80
This object reads thermodynamics values of fluids that are stored in files stored in MURE/thermal_dat...
Definition ThermalDataReader.hxx:44

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024