MURE
Loading...
Searching...
No Matches
List of all members
Serpent::ReactorAssembly Class Reference

#include <SerpentReactorAssembly.hxx>

Inheritance diagram for Serpent::ReactorAssembly:
GenericReactorAssembly

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.
 
ReactorAssemblyClone () 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
 
CellGetUpperCellPlenum ()
 return the upper cell plenum
 
CellGetLowerCellPlenum ()
 return the lower cell plenum
 
CellGetDuctCell ()
 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.
 
PinCellGetGlobalLatticeMeshPin (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
 
MaterialfLowerPlenumMaterial
 Lower Plenum material.
 
MaterialfUpperPlenumMaterial
 Upper Plenum material.
 
CellfCPlenumUp
 Top Plenum cell.
 
CellfCPlenumDown
 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.
 
MaterialfDuctMaterial
 Material of the Duct.
 
CellfCellDuct
 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]
 
PinCellfBorderPin
 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.
 

Constructor & Destructor Documentation

◆ ReactorAssembly() [1/2]

Serpent::ReactorAssembly::ReactorAssembly ( double  Pitch,
int  NRadialZones = 1,
int  NZLevels = 1,
string  AssemblyName = "GenericAss" 
)

Normal constructor.

Parameters
PitchThe pitch of the assembly mesh.
NRadialZonesNumber of radial zones (default = 1)
NZLevelsNumber of axial levels (default = 1)
AssemblyNameIdentification name of the assembly (needed to results directories and identification)

◆ ReactorAssembly() [2/2]

Serpent::ReactorAssembly::ReactorAssembly ( const ReactorAssembly m)

Copy constructor.

◆ ~ReactorAssembly()

Serpent::ReactorAssembly::~ReactorAssembly ( )
overridedefault

Default destructor.

Member Function Documentation

◆ BuildAssemblyGeometry()

void Serpent::ReactorAssembly::BuildAssemblyGeometry ( )
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.

◆ Clone()

ReactorAssembly * Serpent::ReactorAssembly::Clone ( )
inlineoverridevirtual

◆ Copy()

void Serpent::ReactorAssembly::Copy ( const ReactorAssembly m)
protected

< Copy ReactorMesh object m attributs in this

◆ CreateDuct()

void Serpent::ReactorAssembly::CreateDuct ( )
overrideprotectedvirtual

Creates duct shapes.

Implements GenericReactorAssembly.

◆ CreatePlenum()

void Serpent::ReactorAssembly::CreatePlenum ( )
overrideprotectedvirtual

Creates plenum shapes.

Implements GenericReactorAssembly.

◆ SetSource()

void Serpent::ReactorAssembly::SetSource ( int  NPS = 5000,
int  ActivesCycles = 100,
int  InactivesCycles = 100 
)
overridevirtual

Sets a volumic neutron source.

For the Serpent version, the source is a simple default critical source

Parameters
NPSNumber of source particles
ActivesCyclesNumber of actives cycles in KCODE
InactivesCyclesNumber of inactives cycles in KCODE

Implements GenericReactorAssembly.


The documentation for this class was generated from the following files:

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