|
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.