MURE
|
#include <MCNPReactorAssembly.hxx>
Public Member Functions | |
Constructor &destructor | |
ReactorAssembly (double Pitch, int NRadialZones=1, int NZLevels=1, string AssemblyName="GenericAss") | |
Normal constructor. | |
ReactorAssembly (const ReactorAssembly &m) | |
Copy constructor. | |
ReactorAssembly * | Clone () override |
~ReactorAssembly () override | |
Default destructor. | |
void | BuildAssemblyGeometry () override |
Geometry methods. | |
Other methods | |
void | SetSource (int NPS=5000, int ActivesCycles=100, int InactivesCycles=100) override |
Sets a volumic neutron source. | |
Public Member Functions inherited from GenericReactorAssembly | |
GenericReactorAssembly (double Pitch, int NRadialZones=1, int NZLevels=1, string AssemblyName="GenericAss") | |
Normal constructor. | |
GenericReactorAssembly (const GenericReactorAssembly &m) | |
virtual | ~GenericReactorAssembly () |
Default destructor. | |
void | SetAssemblyDuct (double DuctThickness, Material *DuctMat) |
void | SetPlenum (double PlenumThickness, Material *UpperPlenumMat, Material *LowerPlenumMat=nullptr) |
void | SetAssemblyShape (Shape_ptr TheOuterShape, Shape_ptr TheRealShape=Shape_ptr(nullptr)) |
void | AddFuelPin (PinCell *pin, int Ix=99999, int Iy=99999, int ZoneNumber=- 1) |
void | AddGuideTube (PinCell *pin, int Ix, int Iy, int ZoneNumber=- 1) |
void | AddControlRod (PinCell *pin, int Ix, int Iy, int ZoneNumber=- 1) |
bool | IsGuideTubes () |
true if some guide tubes have been defined | |
bool | IsControlRods () |
true if some control rods have been defined | |
bool | IsPlenum () |
true if plenums have been defined | |
bool | IsDuct () |
true if a asembly duct has been defined | |
Cell * | GetUpperCellPlenum () |
return the upper cell plenum | |
Cell * | GetLowerCellPlenum () |
return the lower cell plenum | |
Cell * | GetDuctCell () |
return the Duct cell | |
vector< double > | GetGuideTubeOuterRadius () |
return the most outer guide tube layer radius (clad) | |
vector< double > | GetControlRodOuterRadius () |
return the most outer control rod layer radius (outer clad) | |
vector< PinCell * > | GetPinCellOfDifferentShape (string PinType) |
return the vector of all pincell of a given type ("Fuel", "GuideTube", ...) | |
int | GetNumberOfRadialZones () |
Zoning methods. | |
int | GetNumberOfAxialLevels () |
void | AddRadialZone2Mesh (double Radius, int ZoneNum) |
void | AddRadialZone2Mesh (int Ix, int Iy, int ZoneNum) |
int | GetRadialLatticeMeshZone (int x, int y, int z) |
vector< Cell * > | GetFuelCell (int RadialZoneNumber, int AxialLevelNumber) |
vector< PinCell * > & | GetPinCellVector (int RadialZoneNumber, int AxialLevelNumber) |
vector< vector< vector< int > > > | GetGlobalLatticeMesh () |
int | GetGlobalLatticeMeshUniverse (int x, int y, int z) |
MC mesh methods. | |
PinCell * | GetGlobalLatticeMeshPin (int x, int y, int z) |
return the PinCell located at (x, y, z) in the global lattice mesh | |
int | GetMCXMeshSize () |
int | GetMCYMeshSize () |
int | GetMCMeshXmin () |
int | GetMCMeshXmax () |
int | GetMCMeshYmin () |
int | GetMCMeshYmax () |
int | GetMCMeshZmin () |
int | GetMCMeshZmax () |
Shape_ptr | GetAssemblyShape () |
bool | IsHexagonalAssembly () |
double | GetPitch () |
double | GetWidth () |
double | GetSide () |
double | GetHeight () |
double | GetAxialLevelHeight () |
double | GetPlenumThickness () |
double | GetDuctThickness () |
void | Translate (double dx, double dy, double dz) |
double | GetPrimitiveCellXCenter () |
double | GetPrimitiveCellYCenter () |
void | SetBorderPin (PinCell *pin) |
Shape_ptr | GetInfiniteAssemblyShape () |
void | SetSpatialVariable (PinCell *pin, string RadialZoneName, double RadialZoneValue, string ZLevelName, double ZLevelValue) |
void | SetNumberOfInstance (int N) |
void | SetUniverse (int u=- 1) |
int | GetUniverse () |
vector< int > & | GetNumberOfFuelPinsPerZone () |
vector< int > & | GetNumberOfGuideTubesPerZone () |
vector< int > & | GetNumberOfControlRodsPerZone () |
vector< int > & | GetNumberOfCoolantPinsPerZone () |
int | GetNumberOfFuelPinsPerLevel () |
number of all fuel pins of a level (may be an approximation for an hexagons) | |
int | GetNumberOfGuideTubesPerLevel () |
number of all Guide Tubes of a level | |
int | GetNumberOfControlRodsPerLevel () |
number of all Control Rods of a level | |
string | GetAssemblyName () |
Protected Member Functions | |
Internal methods | |
void | Copy (const ReactorAssembly &m) |
< Copy ReactorMesh object m attributs in this | |
void | CreateDuct () override |
Creates duct shapes. | |
void | CreatePlenum () override |
Creates plenum shapes. | |
Protected Member Functions inherited from GenericReactorAssembly | |
void | Copy (const GenericReactorAssembly &m) |
< Copy ReactorMesh object m attributs in this | |
void | Init () |
Initialization of arrays. | |
int | FindNumInArray (int num, vector< int > Array) |
Find the position of Num in the vector Array (-1 if not found) | |
void | FillRadialZone2MeshFromRadius () |
Fill Radial Zone lattice from the assembly lattice mesh. | |
void | ApplyRadialZone2Mesh () |
apply the radial zoning to each pins (if a pin is in 2 zones, it is duplicated to have 2 different pins, one per zone. | |
void | SetGasSpaceData (double GasThickness, double GasPressure, double HeFraMol, double XeFraMol, int Zone) |
void | AddPin (PinCell *pin, int Ix, int Iy) |
add a generic pin (Fuel, GuideTube, .. Call by AddFuelPin, ... | |
void | ReplaceBorderPins () |
void | CheckZoning () |
verify that all the lattice has a zone and that the zone numbers are 0, 1, ..fNRadialZones. | |
void | PrintData () |
Print output files. | |
void | Closing () |
Some routines to execute before exiting. | |
void | CountPinsPerTypePerRadialZone () |
Count the number of each pin type per radial zone. | |
void | CountUniversePerRadialZone (int Rzone, vector< int > Universe, vector< int > &Nb_Of_Count) |
vector< int > | FindUniversesInRadialZones () |
void | FillAssemblyMesh () |
Fill the global (R, Z) assembly mesh. | |
void | SetSpatialVariable () |
Fill all Pin's spatial variables. | |
void | SetSpatialVariable (PinCell *pin, int RadialZoneNum, string RadialZoneName, double RadialZoneValue, string ZLevelName, double ZLevelValue) |
Fill a Pin's spatial variables. | |
Additional Inherited Members | |
Protected Attributes inherited from GenericReactorAssembly | |
Shape_ptr | fSAssemblyZone |
Assembly shape (could have holes in it) | |
Shape_ptr | fSOuterShape |
Assembly shape (either a Brick or an Hexagon) | |
Shape_ptr | fSInnerShape |
Assembly inner shape (a small brick/hexa if plenum and/or Duct is defined) | |
double | fPitch |
The pitch of channels. | |
double | fAssemblyWidth |
The assembly x-side for Brick case or width between 2 opposite planes for Hexagon case. | |
double | fAssemblySide |
The assembly y-side for Brick case or side for Hexagon case. | |
double | fAssemblyHeight |
The total assembly height (including plenums) | |
double | fAxialLevelHeight |
The height of each axial level=(fAssemblyHeight-2*fPlenumThickness)/fAxialLevels. | |
string | fAssemblyName |
name of the assembly for output | |
bool | fIsHexagon |
Whether the assembly shape is hexagonal or cuboid. | |
vector< double > | fHexaXplaneNormalVector |
Normal vector to the right plane of an hexagonal assembly. | |
int | fUniverse |
Assembly universe for filling core lattice. | |
double | fDxAssemblyTrans |
x assembly translation vector | |
double | fDyAssemblyTrans |
y assembly translation vector | |
double | fDzAssemblyTrans |
z assembly translation vector | |
bool | fIsTranslated |
whether or not an assembly has been tranlated | |
bool | fIsAssemblyShapeDefined |
to allow or not the AddXXXpin methods | |
bool | fIsAssemblyGeometryBuilt |
whether or not the assembly geometry has been built | |
Shape_ptr | fSPlenumUp |
Top Plenum shape. | |
Shape_ptr | fSPlenumDown |
Bottom Plenum shape. | |
Shape_ptr | fBetweenPlenums |
space between plenum if fUniverse>0 | |
Material * | fLowerPlenumMaterial |
Lower Plenum material. | |
Material * | fUpperPlenumMaterial |
Upper Plenum material. | |
Cell * | fCPlenumUp |
Top Plenum cell. | |
Cell * | fCPlenumDown |
Bottom Plenum cell. | |
double | fPlenumThickness |
Width of the plenum up and down. | |
bool | fCanDefinePlenum |
Whether or not plenum can be defined. | |
bool | fIsPlenum |
True if lower and upper plenums are defined. | |
double | fDuctThickness |
Thickness of the Duct. | |
Material * | fDuctMaterial |
Material of the Duct. | |
Cell * | fCellDuct |
Cell of the Duct. | |
Shape_ptr | fSAssemblyDuct |
Assembly Duct shape. | |
bool | fIsDuct |
true if a duct has been added | |
int | fAxialLevels |
The number of axial levels (number of differents cells in z direction) | |
int | fRadialZones |
The number of radial zones (number of differents cells in x, y direction) | |
vector< vector< int > > | fRadialMeshZone |
radial zone mesh fNx*fNy : zone number of a mesh position (same for All Level) PTO ASK NICO* | |
vector< double > | fVirtualRadiusCircle |
virtual circle radius to define zones (0..fRadialZones) | |
vector< int > | fVirtualRadiusZone |
associated zone to the previous vector (0..fRadialZones) | |
int | fNx |
size of the x lattice mesh | |
int | fNy |
size of the y lattice mesh | |
int | fIXmin |
int | fIXmax |
extremal value of the x lattice mesh | |
int | fIYmin |
int | fIYmax |
extremal value of the y lattice mesh | |
int | fIZmin |
int | fIZmax |
extremal value of the z lattice mesh | |
double | fPrimitiveCellXCenter |
X center of the primitive lattice cell of the mesh. | |
double | fPrimitiveCellYCenter |
Y center of the primitive lattice cell of the mesh. | |
double | fXMeshCenter |
double | fYMeshCenter |
double | fZMeshCenter |
vector< vector< int > > | fRadialMeshLattice |
radial mesh (only for assembly definition, fNx x fNy) | |
vector< vector< vector< int > > > | fMeshLattice |
Complete Assembly mesh (x, y, z) | |
vector< PinCell * > | fRadialPinCell |
pin for the radial mesh | |
vector< vector< vector< PinCell * > > > | fPinCellVector |
full pin vector per radial zone, axial level for each universe type [nr][nz][nu] | |
PinCell * | fBorderPin |
special pin (surrounding material only) to fill assembly border | |
bool | fIsGuideTubes |
whether GuideTube pins have been added | |
bool | fIsControlRods |
whether ControlRod pins have been added | |
vector< int > | fNumberOfFuelPinsPerZone |
Number of fuel pins in each radial zone. | |
vector< int > | fNumberOfGuideTubesPerZone |
Number of fuel pins in each radial zone. | |
vector< int > | fNumberOfControlRodsPerZone |
Number of fuel pins in each radial zone. | |
vector< int > | fNumberOfCoolantPinsPerZone |
Number of fuel pins in each radial zone. | |
vector< ofstream * > | fFiles |
Output files. | |
bool | fIsGasSpace |
Whether gas space is simulated between cladding and fuel pin. | |
vector< double > | fGasThickness |
Thickness of the gas space. | |
double | fGasPressure |
Cold fill gas pressure (Pa) | |
double | fHeFraMol |
Molar fraction of Helium in the gas. | |
double | fXeFraMol |
Molar fraction of Xenon in the gas. | |
MCNP::ReactorAssembly::ReactorAssembly | ( | double | Pitch, |
int | NRadialZones = 1 , |
||
int | NZLevels = 1 , |
||
string | AssemblyName = "GenericAss" |
||
) |
Normal constructor.
Pitch | The pitch of the assembly mesh. |
NRadialZones | Number of radial zones (default = 1) |
NZLevels | Number of axial levels (default = 1) |
AssemblyName | Identification name of the assembly (needed to results directories and identification) |
MCNP::ReactorAssembly::ReactorAssembly | ( | const ReactorAssembly & | m | ) |
Copy constructor.
|
overridedefault |
Default destructor.
|
overridevirtual |
Geometry methods.
Build the Assembly
After calling this method, the assembly can not be modified. THIS MUST BE THE LAST CALLED METHOD FOR THE ReactorAssembly..
Implements GenericReactorAssembly.
|
inlineoverridevirtual |
Implements GenericReactorAssembly.
|
protected |
< Copy ReactorMesh object m attributs in this
|
overrideprotectedvirtual |
Creates duct shapes.
Implements GenericReactorAssembly.
|
overrideprotectedvirtual |
Creates plenum shapes.
Implements GenericReactorAssembly.
|
overridevirtual |
Sets a volumic neutron source.
Define a cylindrical source (Watt fission spectrum) thats fills all the external shape specified by the user.
NPS | Number of source particles |
ActivesCycles | Number of actives cycles in KCODE |
InactivesCycles | Number of inactives cycles in KCODE |
Implements GenericReactorAssembly.