MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
ReactorChannel.hxx
Go to the documentation of this file.
1 #ifndef _CHANNEL_
2 #define _CHANNEL_
3 
9 #include "MureHeaders.hxx"
10 #include <vector>
11 using namespace std;
12 
14 
25 {
26 public :
27  ReactorChannel(int nzones=1, bool Hex=false, bool Maillage=false);
28  ~ReactorChannel();
29  void CreateShapes();
30  void CreateCells();
31  double GetRodRadius() {return fFuelRadius;}
32  double GetCladdRadius() {return fCladRadius;}
33  double GetHeight() {return fHeight;}
34  double GetHeightStep() {return fHeightStep;}
35  double GetSide() {return fSide;}
36  double GetSurface() {return fSurface;}
37  bool IsHexagon() {return fHexagon;}
38  void Translate(double dx, double dy, double dz);
39  void Rotate(double phi,double theta=0,double psi=0,double *center=0);
40  void CalculateGlobalSurface();
41  void SetSource(int ParticlesNumber, int ActivesCycles, int InactivesCycles);
42  void SetVolumeSource() {fVolumeSource=true;}
43  void SetDimensions(double FuelRadius, double CladRadius, double VoidRadius, double Height, double Side, double ASide=0);
44  void SetMaterials(Material* Fuel, Material* Cladding, Material* Coolant);
45  void SetCenteredPosition(double dx=0., double dy=0.) {fXDeviation=dx; fYDeviation=dy;}
46  void AddGuideTube(int dx, int dy, int dz=-1,int NumOfGuideTube=0);
47  void SetNumberOfDifferentGuideTube(int NumberOfDifferentGuideTube);
48  void SetGuideTubeDimensions(double InnerRadius,double OuterRadius,int NumOfGuideTube=0);
49  void SetGuideTubeMaterials(Material *IntGuideTubesMat, Material *GuideTubesMat, Material *OutGuideTubesMat,int TubeNumber=0);
50  void SetGuideTubeMaterials(Material *IntGuideTubesMat, Material *GuideTubesMat,int TubeNumber=0);
51  void SetNumberOfFuelRods(int N) {fNumberOfFuelRodsInAssembly = N;}
52  int GetNumberOfFuelRods() {return fNumberOfFuelRodsInAssembly;}
53  void CreateGeometry() {CreateShapes(); CreateCells();}
54  void SetExternalShape(Shape_ptr TheShape, int Nx=-1, int Ny=-1);
55  void SetZone(int z) {fZone=z;}
56  int GetZone() {return fZone;}
57  int GetNZones() {return fNZones;}
58  int GetRangesOfAssembly(int N);
59  bool IsCoolantInGuideTube() {return fCoolantInGuideTube;}
60  void SetCoolantDensityProfile(vector <double> Densities);
61  void SetCoolantTemperatureProfile(vector <double> Temps);
62  void SetFuelTemperatureProfile(vector <double> Temps);
63  void SetReactorChannelNumber(int Number=0) {fReactorChannelNumber=Number;}
64  int GetReactorChannelNumber() {return fReactorChannelNumber;}
65  void SetSpatialZ(bool spatz=true) {fSpatialZ=spatz;}
66  vector <Cell*> GetFuelCells() {return frods;}
67  void SetNumberOfRodToRemove(int NumberOfRodRemoved){fNumberOfRodRemoved=NumberOfRodRemoved;}//Set the number of fuel rod you want to remove (other than the ones for GuideTube)
68 
69 private :
73  double fFuelRadius;
74  double fCladRadius;
75  double fVoidRadius;
78  double fHeight;
79  double fHeightStep;
80  double fSide;
81  double fASide;
82  double fAssemblySide;
85  double fSurface;
86  double fXDeviation;
87  double fYDeviation;
88  bool fHexagon;
89  bool fMaillage;
90  bool fGuideTube;
92  int fNZones;
94  bool fVoid;
95  int fZone;
96 
98 
99  vector <Material*> fFuels;
100  vector <Material*> fCoolants;
101  vector <Material*> fCladdings;
102  vector < vector <Material*> > fIntGuideTubesMat;
103  vector < vector <Material*> > fGuideTubesMat;
104  vector <Material*> fOutGuideTubesMat;
106 
107  vector <double> fTranslations;
108  vector <int> fXpos;
109  vector <int> fYpos;
110  vector <int> fZpos;
111 
112 
113  //Multiple Shapes
120  // Guide Tubes
124 
126 
127  //Multiple Cells
128  vector <Cell*> fsegments;
129  vector <Cell*> fpavages;
130  vector <Cell*> frods;
131  vector <Cell*> fvoids;
132  vector <Cell*> fcladdingtubes;
133  vector <Cell*> fextcladdingtubes;
134  // Guide Tubes
135  vector <Cell*> fintguidetube;
136  vector <Cell*> fguidetubes;
137  vector <Cell*> fextguidetubes;
138 
140 
141  //Spatial variables
142  bool fSpatialZ;
145 
146 };
147 
148 #endif
void SetReactorChannelNumber(int Number=0)
Set the number.
Definition: ReactorChannel.hxx:63
A Cell is a MCNP cell.
Definition: Cell.hxx:48
int GetReactorChannelNumber()
Get the number.
Definition: ReactorChannel.hxx:64
int fNZones
The number of cells in the z direction (default = 1)
Definition: ReactorChannel.hxx:92
double GetHeight()
returns the height
Definition: ReactorChannel.hxx:33
double fFuelRadius
The radius of the fuel rod.
Definition: ReactorChannel.hxx:73
vector< Cell * > fpavages
Definition: ReactorChannel.hxx:129
Shape_ptr ** fExtGuideTubes
exterior of the guide tube : &quot;same&quot; coolant as neighbor cells
Definition: ReactorChannel.hxx:123
vector< Material * > fFuels
the fuel materials
Definition: ReactorChannel.hxx:99
Shape_ptr * fExtCladdingTubes
and their exteriors
Definition: ReactorChannel.hxx:119
double * fGuideTubeOuterRadius
The outer radius of guide tubes.
Definition: ReactorChannel.hxx:77
void SetZone(int z)
Definition: ReactorChannel.hxx:55
bool fCoolantInGuideTube
default value = false ; if true : it means coolant material is putted in exterior of guide tube cell ...
Definition: ReactorChannel.hxx:91
Cell * fexterior
Definition: ReactorChannel.hxx:139
vector< Cell * > fextcladdingtubes
Definition: ReactorChannel.hxx:133
double fCladRadius
The radius of the cladding.
Definition: ReactorChannel.hxx:74
vector< Material * > fCladdings
the cladding materials
Definition: ReactorChannel.hxx:101
void SetSpatialZ(bool spatz=true)
set if Z spatial variables are needed or not
Definition: ReactorChannel.hxx:65
double GetRodRadius()
returns the fuel rod radius
Definition: ReactorChannel.hxx:31
vector< Cell * > GetFuelCells()
Return a vector of the fuel rod cells.
Definition: ReactorChannel.hxx:66
double GetHeightStep()
returns the height step
Definition: ReactorChannel.hxx:34
int GetNumberOfFuelRods()
returns the number of fuel pins in the assembly (used for simplified geometry !!!) ...
Definition: ReactorChannel.hxx:52
int fNumberOfRodRemoved
Definition: ReactorChannel.hxx:72
double GetSide()
returns the side value
Definition: ReactorChannel.hxx:35
double fYDeviation
Y translation of the center pin.
Definition: ReactorChannel.hxx:87
vector< double > fTranslations
the distances to translate the segments
Definition: ReactorChannel.hxx:107
Shape_ptr ** fGuideTubes
guide tube structure
Definition: ReactorChannel.hxx:122
int fReactorChannelNumber
The number of this reactor channel.
Definition: ReactorChannel.hxx:143
void SetVolumeSource()
Makes it a volume source.
Definition: ReactorChannel.hxx:42
vector< int > fYpos
relative guide tube Y position with regard to the center
Definition: ReactorChannel.hxx:109
bool IsHexagon()
returns whether channel is a hexagon
Definition: ReactorChannel.hxx:37
bool IsCoolantInGuideTube()
returns value of fCoolantInGuideTube
Definition: ReactorChannel.hxx:59
vector< Cell * > fguidetubes
cladding
Definition: ReactorChannel.hxx:136
int fXNumberOfPins
Number of pins in X axis.
Definition: ReactorChannel.hxx:83
vector< Cell * > frods
contains the fuel
Definition: ReactorChannel.hxx:130
bool fGuideTube
default value = false ; if true : guide tube constuctor actived
Definition: ReactorChannel.hxx:90
bool fVoid
Is there a void in the middle of the fuel rods? (default = no)
Definition: ReactorChannel.hxx:94
vector< int > fXpos
relative guide tube X position with regard to the center
Definition: ReactorChannel.hxx:108
int GetZone()
Definition: ReactorChannel.hxx:56
void SetNumberOfFuelRods(int N)
Set the number of fuel pins in the assembly (used for simplified geometry : the same rod in all the a...
Definition: ReactorChannel.hxx:51
int fNumberOfDifferentGuideTube
Definition: ReactorChannel.hxx:71
int fZone
The cell group zone that the reactor channel sits.
Definition: ReactorChannel.hxx:95
bool fSpatialZ
Is true if we want separate Z spatial variables.
Definition: ReactorChannel.hxx:142
double fAssemblySide
The assembly side dimension (tube guide case)
Definition: ReactorChannel.hxx:82
Shape_ptr * fSegments
contains the water
Definition: ReactorChannel.hxx:114
File including all headers.
vector< Cell * > fextguidetubes
outside guide tube
Definition: ReactorChannel.hxx:137
Shape_ptr * fCladdingTubes
the tubes containing the cladding
Definition: ReactorChannel.hxx:118
Shape_ptr * fPavages
the paving shapes
Definition: ReactorChannel.hxx:115
Shape_ptr * fVoids
the voids, if fuel rods are hollow
Definition: ReactorChannel.hxx:117
void SetCenteredPosition(double dx=0., double dy=0.)
Horizontal deviation of the center of first meshing rod (allows correct geometry without cutting rods...
Definition: ReactorChannel.hxx:45
double fHeightStep
The height step of channels.
Definition: ReactorChannel.hxx:79
bool fVolumeSource
Definition: ReactorChannel.hxx:144
vector< Cell * > fsegments
contains the water
Definition: ReactorChannel.hxx:128
void CreateGeometry()
Create the geometry. If more than 1 reactor channel, then shapes should be done before cells...
Definition: ReactorChannel.hxx:53
A Material constituing a Cell.
Definition: Material.hxx:53
double fASide
The assembly side dimension for the case that Maillage is required.
Definition: ReactorChannel.hxx:81
void SetNumberOfRodToRemove(int NumberOfRodRemoved)
Definition: ReactorChannel.hxx:67
double * fGuideTubeInnerRadius
The inner radius of guide tubes.
Definition: ReactorChannel.hxx:76
bool fExternalShape
If we provde the shape from the outside or build it inside (default=false)
Definition: ReactorChannel.hxx:93
vector< Cell * > fintguidetube
inside guide tube
Definition: ReactorChannel.hxx:135
Shape_ptr * fRods
the rods
Definition: ReactorChannel.hxx:116
This is a MURE compound or multi-cellular object.
Definition: ReactorChannel.hxx:24
int fYNumberOfPins
Number of pins in Y axis.
Definition: ReactorChannel.hxx:84
Shape_ptr ** fIntGuideTubes
interior of guide tube : can be coolant or control black or grey rods
Definition: ReactorChannel.hxx:121
int GetNZones()
returns number of cells in the z direction (determined by user at launch)
Definition: ReactorChannel.hxx:57
Shape_ptr fExterior
The outside of everything.
Definition: ReactorChannel.hxx:125
vector< Cell * > fvoids
void in the center of rods (if needed)
Definition: ReactorChannel.hxx:131
vector< Material * > fCoolants
the coolant materials
Definition: ReactorChannel.hxx:100
double fXDeviation
X translation of the center pin (instead of begining the mesh on 0,0,0)
Definition: ReactorChannel.hxx:86
vector< int > fZpos
relative guide tube Z position with regard to the center
Definition: ReactorChannel.hxx:110
double fSide
The side dimension.
Definition: ReactorChannel.hxx:80
bool fHexagon
Whether the channel is hexagonal (default is Cuboid)
Definition: ReactorChannel.hxx:88
bool fMaillage
Whether we are going to use the channel to make a pavage of an assembly.
Definition: ReactorChannel.hxx:89
vector< vector< Material * > > fGuideTubesMat
the guide tube materials (generally Zry4)
Definition: ReactorChannel.hxx:103
int * fNumberOfGuideTubeWithThisNum
Definition: ReactorChannel.hxx:70
vector< Cell * > fcladdingtubes
cladding
Definition: ReactorChannel.hxx:132
int fNumberOfFuelRodsInAssembly
number of fuel pins in the assembly (used for simplified geometry !!! : the same rod in all the assem...
Definition: ReactorChannel.hxx:97
double GetSurface()
returns the global surface value
Definition: ReactorChannel.hxx:36
vector< vector< Material * > > fIntGuideTubesMat
the inside guide tube materials (coolant or control black or grey rod)
Definition: ReactorChannel.hxx:102
double fSurface
Global surface of rod.
Definition: ReactorChannel.hxx:85
double fVoidRadius
The void radius, if there is a void in the middle of each rod (0 if not).
Definition: ReactorChannel.hxx:75
Material * fVoidMat
the material inside the fuel rods with a void
Definition: ReactorChannel.hxx:105
double GetCladdRadius()
returns the cladding radius
Definition: ReactorChannel.hxx:32
double fHeight
The height of the channel.
Definition: ReactorChannel.hxx:78
vector< Material * > fOutGuideTubesMat
the ouside guide tube materials (coolant material quite like fCoolants)
Definition: ReactorChannel.hxx:104

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014