MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | List of all members
ReactorMesh Class Reference

Manages filled assembly geometry - can be used for a coupled analysis with thermal hydraulics (cf. Class COBRA) More...

#include <ReactorMesh.hxx>

Inheritance diagram for ReactorMesh:
COBRA

Public Member Functions

vector< vector< Cell * > > & GetFuelCell ()
 returns the Fuel (evolving) Cell vector[Nradial][Naxial]. More...
 
Constructor & destructor
 ReactorMesh (int NZones=1, int NLevels=1, string AssemblyName="A", bool Hex=false)
 Default constructor. More...
 
virtual ReactorMeshClone ()
 
virtual ~ReactorMesh ()
 Default destructor. More...
 
Geometry data setting
void SetExternalShape (Shape_ptr TheShape)
 Assembly delimitation ; if plenum is required think to add the half thickness of plenum up and down when the build of this shape is done. More...
 
void SetSpecialExternalShape (Shape_ptr TheShape)
 Assembly delimitation but with a node (not a simple shape like a brick) More...
 
void Translate (double dx, double dy, double dz)
 Translate an assembly into the core. More...
 
void SetDimensions (double FuelRadius, double CladThickness, double Pitch, int Zone=-1)
 Channel data. More...
 
void SetSpecialDimensions (double FuelPinRadius, double CladThickness, double Pitch, double R1, int Zone=-1)
 Special Channel data. More...
 
void SetGTDimensions (double InnerCladRadius, double CladThickness, int Zone=-1)
 Guide tubes data. More...
 
void SetCRDimensions (double InnerCRRadius, double CRCladThickness, double CoolantGapThickness, double CladThickness, int Zone=-1)
 Control Rods tubes data. More...
 
void SetCenteredPosition (double dx=0., double dy=0.)
 Horizontal deviation of the center of first meshing rod (allows correct geometry without cutted rods at border) More...
 
void SetGasSpaceData (double GasThickness=0, double GasPressure=0, double HeFraMol=0, double XeFraMol=0, int Zone=-1)
 Fuel to cladding gas space (filled by He, Xe, Ar, Kr, ...) NOT YET IMPLEMENTED. More...
 
Materials data setting
void AddMaterials (Material *Fuel, Material *Cladding, Material *Coolant, int Zone=-1, int Level=-1)
 Materials constituing cells for each zone. More...
 
void AddSpecialMaterials (Material *Fuel, Material *Cladding, Material *Coolant, Material *Spec1, int Zone=-1)
 
void AddGTMaterials (Material *GTInside, Material *GTCladding, int Zone=-1)
 
void AddCRMaterials (Material *CRMat, Material *CRCladding, Material *CoolantGap, Material *ExtCladding, int Zone=-1)
 
Create Mesh
void AddCircleZoneRadius (double Radius)
 Sets radius of differents circles defining each zones. More...
 
void AddPinPos (int X, int Y, int Zone)
 Add manually position of pin linked with a zone. More...
 
void AddGuideTube (int X, int Y, int Z=-1)
 Add guide tubes. More...
 
void AddControlRod (int X, int Y, int Z=-1)
 Add Control rods tubes. More...
 
void AddSpecialPin (int X, int Y, int Zone=-1)
 Add special pins. More...
 
void ForcedPinCloseToBorder (int PinZoneForItsDimension=-1)
 Force pins closed to the border for hexagonal lattice geometry. More...
 
void CreateGeometry ()
 Creates the geometry. More...
 
Other methods
void SetSource (int NPS=5000, int ActivesCycles=100, int InactivesCycles=100)
 Sets a volumic neutron source. More...
 
void UpdatePointer ()
 Update pointers when Copy in MURE is done. More...
 
void SetPlenum (double PlenumThickness)
 Sets plenum at the top and at the bottom - MUST be used BEFORE SetExternalShape() !!!!! More...
 
bool IsACOBRAObject ()
 Test on real type of object. More...
 

Protected Member Functions

Internal subroutines
void Copy (const ReactorMesh &m)
 < Copy ReactorMesh object m attributs in this More...
 
 ReactorMesh (const ReactorMesh &m)
 
void CreateShapes ()
 Creates shapes. More...
 
void CreateCells ()
 Creates cells. More...
 
void FillSquaredCells ()
 Fills cells for squared lattices. More...
 
void FillTriangularCells ()
 Fills cells for triangular lattices. More...
 
void CreatePlenum ()
 Creates shapes and cells for the plenum up and down. More...
 
bool ParTest (int n)
 Parity test. More...
 
int ZoneDiscretization (int i, int j, int k)
 Automatic discretization of the differents zones. More...
 
void Init ()
 Initializes some structures. More...
 
void PrintData ()
 Print output files. More...
 
void Closing ()
 Some routines to execute before exiting. More...
 
void InitializeLatticeDiagram ()
 Initialize the lattice mesh diagram. More...
 
void CreateGuideTubesCells ()
 Creates cells for Guide Tubes. More...
 
void CreateControlRodsCells ()
 Creates cells for Control Rods. More...
 
int CheckFillZoneOfPin (int i, int j, int k, int FillZone)
 Checks if a position in a mesh have the correct zone number (case of manually set of pin in the mesh) More...
 

Protected Attributes

Mesh data
int fAxialLevels
 The number of axial levels (number of differents cells in z direction) More...
 
int fRadialZones
 The number of radial zones (number of differents cells in x,y direction) More...
 
bool fIsHexagon
 Whether the channel is hexagonal (default is Cuboid) More...
 
bool fIsGasSpace
 Whether gas space is simulated between cladding and fuel pin. More...
 
bool fIsPinPos
 Whether some pin are manually set. More...
 
bool fIsGuideTubes
 Whether there is guide tubes in the geometry. More...
 
bool fIsControlRods
 Whether there is control rods in the geometry. More...
 
bool fIsSpecialPins
 Whether there is special pins in the geometry. More...
 
vector< double > fFuelRadius
 The radius of the fuel rod of a zone. More...
 
vector< double > fCladThickness
 The thickness of the cladding of a zone. More...
 
vector< double > fGTRadius
 The inner radius of the guide tube rod of a zone or the radius of control rod. More...
 
vector< double > fGTCladThickness
 The thickness of the guide tube cladding of a zone. More...
 
vector< double > fRadius1
 Radius of a rod part of a zone. More...
 
vector< double > fCRRadius
 The CR pin radius. More...
 
vector< double > fCRCladThickness
 The CR Cladding thickness. More...
 
vector< double > fCRCoolantGapThickness
 The CR Coolant gap thickness. More...
 
vector< double > fCRExtCladThickness
 The CR external Cladding thickness. More...
 
double fPitch
 The pitch of channels. More...
 
double fChannelHeight
 The height of the channel (not the reactor height) - Is the same for all. More...
 
double fAssemblyWidth
 The assembly width (brick case) X axis. More...
 
double fAssemblyLength
 The assembly length (brick case) Y axis. More...
 
double fAssemblySide
 The length of a hexagon side (hexagon case) More...
 
double fAssemblyHeight
 The assembly height. More...
 
int fXNumberOfPins
 Number of pins in X axis. More...
 
int fYNumberOfPins
 Number of pins in Y axis. More...
 
double fXDeviation
 X translation of the center pin (instead of begining the mesh on 0,0,0) More...
 
double fYDeviation
 Y translation of the center pin. More...
 
double fZDeviation
 Z translation of the center pin. More...
 
double fXCenterDeviationOfMesh
 Storage of the X translation of the center pin for the mesh inside the assembly. More...
 
double fYCenterDeviationOfMesh
 Storage of the Y translation of the center pin. More...
 
vector< double > fGasThickness
 Thickness of the gas space. More...
 
double fGasPressure
 Cold fill gas pressure (Pa) More...
 
double fHeFraMol
 Molar fraction of Helium in the gas. More...
 
double fXeFraMol
 Molar fraction of Xenon in the gas. More...
 
int fXmin
 Minimum X range of lattice. More...
 
int fXmax
 Maximum X range of lattice. More...
 
int fYmin
 Minimum Y range of lattice. More...
 
int fYmax
 Maximum Y range of lattice. More...
 
int fZmin
 Minimum Z range of lattice. More...
 
int fZmax
 Maximum Z range of lattice. More...
 
vector< int > fXpos
 Relative pin X position with regard to the center. More...
 
vector< int > fYpos
 Relative pin Y position with regard to the center. More...
 
vector< int > fZonepos
 Zone number of this pin. More...
 
vector< int > fGTXpos
 Relative guide tube X position with regard to the center. More...
 
vector< int > fGTYpos
 Relative guide tube Y position with regard to the center. More...
 
vector< int > fGTZpos
 Absolute guide tube Z position (first at the bottom) More...
 
vector< int > fCRXpos
 Relative control rod X position with regard to the center. More...
 
vector< int > fCRYpos
 Relative control rod Y position with regard to the center. More...
 
vector< int > fCRZpos
 Absolute control rod Z position (first at the bottom) More...
 
vector< bool > fZonesOfGT
 Zones containing guide tubes. More...
 
vector< bool > fZonesOfCR
 Zones containing control rods. More...
 
vector< int > fSPXpos
 Relative special pin X position with regard to the center. More...
 
vector< int > fSPYpos
 Relative special pin Y position with regard to the center. More...
 
vector< int > fZSP
 Zones of Specials Pins. More...
 
vector< bool > fZonesOfSP
 Zones containing Specials Pins. More...
 
double fXTrans
 Assembly X translation value. More...
 
double fYTrans
 Assembly Y translation value. More...
 
double fZTrans
 Assembly Z translation value. More...
 
Mesh structures
Shape_ptr fSAssemblyZone
 Assembly shape. More...
 
Shape_ptr fSLatticeGen
 Lattice mesh generator (shape) More...
 
CellfCAssemblyZone
 Assembly cell. More...
 
CellfCLatticeGen
 Lattice mesh generator (cell) More...
 
vector< Material * > fMWhole
 Channel material near the border == material of border zone (needed due to lattices fill) More...
 
Shape_ptrfSWhole
 Fictitious channel shape near the border (used only for lattices fill) More...
 
vector< Cell * > fCWhole
 Fictitious channel cell near the border (used only for lattices fill) More...
 
vector< double > fCZR
 Fictitious circles' radius needed to an automatic defining of cells zones. More...
 
Shape_ptr fSPlenumUp
 Top Plenum shape. More...
 
Shape_ptr fSPlenumDown
 Bottom Plenum shape. More...
 
MaterialfMPlenumUp
 Top Plenum material. More...
 
MaterialfMPlenumDown
 Bottom Plenum material. More...
 
CellfCPlenumUp
 Top Plenum cell. More...
 
CellfCPlenumDown
 Bottom Plenum cell. More...
 
double fPlenumThickness
 Width of the plenum up and down. More...
 
Matrix

Here are created matrix containing materials, shapes or cells for all the assembly. It represents the "3D" cutting of the geometry.

  • ex : fMFuels[i][j] –> i is the radial zone and j is the axial level
vector< vector< Material * > > fMFuels
 Matrix containing fuel materials. More...
 
vector< vector< Material * > > fMCladdings
 Matrix containing cladding materials. More...
 
vector< vector< Material * > > fMCoolants
 Matrix containing coolant materials. More...
 
vector< vector< Material * > > fMSpec1
 Matrix containing special materials. More...
 
vector< vector< Material * > > fMGTInside
 Matrix containing Guide Tubes inside materials. More...
 
vector< vector< Material * > > fMGTCladdings
 Matrix containing Guide Tubes cladding materials. More...
 
vector< vector< Material * > > fMGTOutside
 Matrix containing Guide Tubes outside materials. More...
 
vector< vector< Material * > > fMCRMat
 Matrix containing CR materials. More...
 
vector< vector< Material * > > fMCRCladding
 Matrix containing CR cladding materials. More...
 
vector< vector< Material * > > fMCRCoolantGap
 Matrix containing CR coolant gap materials. More...
 
vector< vector< Material * > > fMCRExtCladding
 Matrix containing CR external cladding materials. More...
 
vector< vector< Material * > > fMCROutside
 Matrix containing CR outside materials. More...
 
vector< Shape_ptr * > fSFuels
 Matrix containing fuel shapes. More...
 
vector< Shape_ptr * > fSCladding
 Matrix containing cladding shapes. More...
 
vector< Shape_ptr * > fSCoolants
 Matrix containing coolant shapes. More...
 
vector< Shape_ptr * > fSSpec1
 Matrix containing special shapes. More...
 
vector< Shape_ptr * > fSGTInside
 Matrix containing Guide Tubes inside shapes. More...
 
vector< Shape_ptr * > fSGTCladdings
 Matrix containing Guide Tubes cladding shapes. More...
 
vector< Shape_ptr * > fSGTOutside
 Matrix containing Guide Tubes outside shapes. More...
 
vector< Shape_ptr * > fSCRMat
 Matrix containing CR shapes. More...
 
vector< Shape_ptr * > fSCRCladding
 Matrix containing CR cladding shapes. More...
 
vector< Shape_ptr * > fSCRCoolantGap
 Matrix containing CR coolant gap shapes. More...
 
vector< Shape_ptr * > fSCRExtCladding
 Matrix containing CR external cladding shapes. More...
 
vector< Shape_ptr * > fSCROutside
 Matrix containing CR outside shapes. More...
 
vector< vector< Cell * > > fCFuels
 Matrix containing fuel cells. More...
 
vector< vector< Cell * > > fCCladdings
 Matrix containing cladding cells. More...
 
vector< vector< Cell * > > fCCoolants
 Matrix containing coolant cells. More...
 
vector< vector< Cell * > > fCSpec1
 Matrix containing special cells. More...
 
vector< vector< Cell * > > fCGTInside
 Matrix containing Guide Tubes inside cells. More...
 
vector< vector< Cell * > > fCGTCladdings
 Matrix containing Guide Tubes cladding cells. More...
 
vector< vector< Cell * > > fCGTOutside
 Matrix containing Guide Tubes outside cells. More...
 
vector< vector< Cell * > > fCCRMat
 Matrix containing CR cells. More...
 
vector< vector< Cell * > > fCCRCladding
 Matrix containing CR cladding cells. More...
 
vector< vector< Cell * > > fCCRCoolantGap
 Matrix containing CR coolant gap cells. More...
 
vector< vector< Cell * > > fCCRExtCladding
 Matrix containing CR external cladding cells. More...
 
vector< vector< Cell * > > fCCROutside
 Matrix containing CR outside cells. More...
 
bool fInitVectors
 Flag used to initialize vectors if necessary (defaut = false) More...
 
Others
string fAssemblyName
 Identification name of the assembly. More...
 
vector< int > fNumberOfPinInZone
 Number of pins in each zone. More...
 
vector< int > fNumberOfGTInZone
 Number of guide tubes in each zone. More...
 
vector< int > fNumberOfCRInZone
 Number of control rods in each zone. More...
 
vector< ofstream * > fFiles
 Output files. More...
 
vector< vector< vector< int > > > fLatticeZ
 Matrix containing lattice mesh data and the zone of each one. More...
 
string fExternalShapeType
 Type of the external shape. More...
 
bool fIsPlenum
 True if plenum up and down are needed. More...
 
bool fIsCOBRA
 True if COBRA is calling ReactorMesh. More...
 
vector< bool > fAxialCrushSecurityHeterogeneity
 True if an heterogeneity is called - safeguard againt material crushing (one per zone) More...
 
bool fForcedPinCloseToBorder
 True if user force pins closed to the border (lattice hexagonal mesh at the border will be cutted by the assembly shape -> test on geometric conservation of the pin to validate creation of the lattice) More...
 
int fZoneOfThePinsCloseToBorder
 If fuel pins haven't the same radius, force the zone number of these pins closed to the border to select the correct value of pins (ONLY for the test of build - correct zone and level will be automatically selected after this step) More...
 

Detailed Description

Manages filled assembly geometry - can be used for a coupled analysis with thermal hydraulics (cf. Class COBRA)

This Object creates the geometry for a basic squared or haxagonal lattice of a reactor assembly. Channels are with cylindrical fuel rod & cladding, split up into N sections in the Z direction, and X zones in (x,y) direction. Center zone begins to 1 and bottom level start from 1.

It will manages guide tubes containing coolant or control rods (in development).

Data must be given in SI (ex : dimensions in meters, power in watts,...)

Author
Nico*
Version
1.0

Constructor & Destructor Documentation

ReactorMesh::ReactorMesh ( int  NZones = 1,
int  NLevels = 1,
string  AssemblyName = "A",
bool  Hex = false 
)

Default constructor.

Parameters
NZonesNumber of radial zones (default = 1)
NLevelsNumber of axial levels (default = 1)
AssemblyNameIdentification name of the assembly (needed to results directories and identification)
HexNot yet implemented, default is squared lattice
ReactorMesh::~ReactorMesh ( )
virtual

Default destructor.

ReactorMesh::ReactorMesh ( const ReactorMesh m)
protected

Member Function Documentation

void ReactorMesh::AddCircleZoneRadius ( double  Radius)

Sets radius of differents circles defining each zones.

On a radial cut view, a circle is drawn, defining a zone. If the center of a cell is included into the circle, then it belongs to this zone.

Parameters
RadiusZone's circle radius
void ReactorMesh::AddControlRod ( int  X,
int  Y,
int  Z = -1 
)

Add Control rods tubes.

Add a control rod in meshed geometry : relative position with regard to the center. If dz isn't gived it's constructed on all z axis (for z only : 0 is at the bottom)

Parameters
Xrelative position in X axis
Yrelative position in Y axis
ZPosition in Z axis (from 0 to Number of Levels)
void ReactorMesh::AddCRMaterials ( Material CRMat,
Material CRCladding,
Material CoolantGap,
Material ExtCladding,
int  Zone = -1 
)
Parameters
CRMatCR material
CRCladdingCR cladding material
CoolantGapCoolant gap material
ExtCladdingCladding material (external shape)
ZoneZone number (zones 0,1,2,..., with zone 0 in the inner part)
void ReactorMesh::AddGTMaterials ( Material GTInside,
Material GTCladding,
int  Zone = -1 
)
Parameters
GTInsideGuide tube inner material
GTCladdingGuide tube cladding material
ZoneZone number (zones 0,1,2,..., with zone 0 in the inner part)
void ReactorMesh::AddGuideTube ( int  X,
int  Y,
int  Z = -1 
)

Add guide tubes.

Add a guide tube in meshed geometry : relative position with regard to the center. If dz isn't gived it's constructed on all z axis (for z only : 0 is at the bottom)

Parameters
Xrelative position in X axis
Yrelative position in Y axis
ZPosition in Z axis (from 0 to Number of Levels)
void ReactorMesh::AddMaterials ( Material Fuel,
Material Cladding,
Material Coolant,
int  Zone = -1,
int  Level = -1 
)

Materials constituing cells for each zone.

This function duplicates the material N times, once for each axial level. During a coupled analysis with thermal hydraulics, it is necessary to calculate power deposits at each axial level of channels. Then, this differents materials (and cells) allows for each one a different temperature and composition than its neighbours.

The positive zone number is required only if the composition material changes in different zones for the first step. In this case each material of cells in each zone must be specified even if they are the same ones for some zones.

Parameters
FuelFuel material
CladdingCladding material
CoolantCoolant material
ZoneZone number (zones 0,1,2,..., with zone 0 in the inner part)
LevelLevel number (levels 0,1,2,..., with level 0 at the bottom) -> Case of axial heterogeneity
void ReactorMesh::AddPinPos ( int  X,
int  Y,
int  Zone 
)

Add manually position of pin linked with a zone.

Add a "normal" pin in meshed geometry : relative position with regard to the center. It must be used complementarely with circles zones even if zone created by circles are then overload In this case create ficticious circle zones as much as number of normal pin zones required

Parameters
Xrelative position in X axis
Yrelative position in Y axis
ZoneZone number of this pin
void ReactorMesh::AddSpecialMaterials ( Material Fuel,
Material Cladding,
Material Coolant,
Material Spec1,
int  Zone = -1 
)
Parameters
FuelFuel material (it must be the inner zone)
CladdingCladding material
CoolantCoolant material
Spec1Material 1 -> explicit putted
ZoneZone number (zones 0,1,2,..., with zone 0 in the inner part)
void ReactorMesh::AddSpecialPin ( int  X,
int  Y,
int  Zone = -1 
)

Add special pins.

Add special pins in meshed geometry : relative position with regard to the center. Be careful when this method is used because zones are not circles yet

Parameters
Xrelative position in X axis
Yrelative position in Y axis
ZoneZone number linked with the material and shape
int ReactorMesh::CheckFillZoneOfPin ( int  i,
int  j,
int  k,
int  FillZone 
)
protected

Checks if a position in a mesh have the correct zone number (case of manually set of pin in the mesh)

Parameters
iRelative pin X position with regard to the center
jRelative pin Y position with regard to the center
kRelative pin Z position with regard to the center
FillZoneInitial zone number (initialized by ZoneDiscretization using circles zones)
virtual ReactorMesh* ReactorMesh::Clone ( )
inlinevirtual

Reimplemented in COBRA.

void ReactorMesh::Closing ( )
protected

Some routines to execute before exiting.

void ReactorMesh::Copy ( const ReactorMesh m)
protected

< Copy ReactorMesh object m attributs in this

Copy constructor.

void ReactorMesh::CreateCells ( )
protected

Creates cells.

void ReactorMesh::CreateControlRodsCells ( )
protected

Creates cells for Control Rods.

void ReactorMesh::CreateGeometry ( )

Creates the geometry.

Depending with the nature of the lattice geometry (cuboid or hexagonal ...), differents routines are called by CreateGeometry. They manage creation of shapes and cells contained in the external shape :

  • CreateSquaredShapes()
  • CreateSquaredCells()
  • FillSquaredCells() If the geometry is not a simple shape (Brick, hexagon, ...) but a complex one like a node (union or intersection of shapes so special routines must be called.
void ReactorMesh::CreateGuideTubesCells ( )
protected

Creates cells for Guide Tubes.

void ReactorMesh::CreatePlenum ( )
protected

Creates shapes and cells for the plenum up and down.

void ReactorMesh::CreateShapes ( )
protected

Creates shapes.

void ReactorMesh::FillSquaredCells ( )
protected

Fills cells for squared lattices.

void ReactorMesh::FillTriangularCells ( )
protected

Fills cells for triangular lattices.

void ReactorMesh::ForcedPinCloseToBorder ( int  PinZoneForItsDimension = -1)
inline

Force pins closed to the border for hexagonal lattice geometry.

By default, building of lattices use this test : does the hexagonal lattice shape is entirely included inside the assembly shape ? if not : no pins are build (coolant cell). But if user wants a mesh with pins very closed to the border, it is necessary to use this method. And if these pins have not the same dimension that others, specify the zone of these pins (it is used ONLY for the test of build : does the pin is entirely included inside the assembly shape ?).

vector<vector<Cell*> >& ReactorMesh::GetFuelCell ( )
inline

returns the Fuel (evolving) Cell vector[Nradial][Naxial].

void ReactorMesh::Init ( )
protected

Initializes some structures.

void ReactorMesh::InitializeLatticeDiagram ( )
protected

Initialize the lattice mesh diagram.

bool ReactorMesh::IsACOBRAObject ( )
inline

Test on real type of object.

bool ReactorMesh::ParTest ( int  n)
protected

Parity test.

void ReactorMesh::PrintData ( )
protected

Print output files.

void ReactorMesh::SetCenteredPosition ( double  dx = 0.,
double  dy = 0. 
)
inline

Horizontal deviation of the center of first meshing rod (allows correct geometry without cutted rods at border)

Parameters
dxX axis translation
dyY axis translation
void ReactorMesh::SetCRDimensions ( double  InnerCRRadius,
double  CRCladThickness,
double  CoolantGapThickness,
double  CladThickness,
int  Zone = -1 
)

Control Rods tubes data.

Parameters
InnerCRRadiusCR pin radius
CRCladThicknessCR Cladding thickness
CoolantGapThicknessCoolant gap thickness
CladThicknessCladding thickness
ZoneSpecify zone if dimensions change depending with zones
void ReactorMesh::SetDimensions ( double  FuelRadius,
double  CladThickness,
double  Pitch,
int  Zone = -1 
)

Channel data.

Parameters
FuelRadiusFuel rod radius
CladThicknessCladding thickness
PitchChannels pitch
ZoneSpecify zone if dimensions change depending with zones
void ReactorMesh::SetExternalShape ( Shape_ptr  TheShape)

Assembly delimitation ; if plenum is required think to add the half thickness of plenum up and down when the build of this shape is done.

Parameters
TheShapeAssembly shape or initial shape (in the case of a node)
void ReactorMesh::SetGasSpaceData ( double  GasThickness = 0,
double  GasPressure = 0,
double  HeFraMol = 0,
double  XeFraMol = 0,
int  Zone = -1 
)

Fuel to cladding gas space (filled by He, Xe, Ar, Kr, ...) NOT YET IMPLEMENTED.

Parameters
GasThicknessThickness of the gas space
GasPressureCold fill gas pressure (Pa)
HeFraMolMolar fraction of Helium in the gas
XeFraMolMolar fraction of Xenon in the gas
ZoneSpecify zone if dimensions change depending with zones
void ReactorMesh::SetGTDimensions ( double  InnerCladRadius,
double  CladThickness,
int  Zone = -1 
)

Guide tubes data.

Parameters
InnerCladRadiusInner radius of guide tubes
CladThicknessCladding thickness
ZoneSpecify zone if dimensions change depending with zones
void ReactorMesh::SetPlenum ( double  PlenumThickness)
inline

Sets plenum at the top and at the bottom - MUST be used BEFORE SetExternalShape() !!!!!

void ReactorMesh::SetSource ( int  NPS = 5000,
int  ActivesCycles = 100,
int  InactivesCycles = 100 
)

Sets a volumic neutron source.

Define a cylindrical source (Watt fission spectrum) thats fills all the external shape specified by the user.

Parameters
NPSNumber of source particles
ActivesCyclesNumber of actives cycles in KCODE
InactivesCyclesNumber of inactives cycles in KCODE
void ReactorMesh::SetSpecialDimensions ( double  FuelPinRadius,
double  CladThickness,
double  Pitch,
double  R1,
int  Zone = -1 
)

Special Channel data.

Parameters
FuelPinRadiusLast radius before spacing gap (rmax)
CladThicknessCladding thickness
PitchChannels pitch
R1First radius (inner cell)
ZoneMUST specify zone
void ReactorMesh::SetSpecialExternalShape ( Shape_ptr  TheShape)
inline

Assembly delimitation but with a node (not a simple shape like a brick)

Parameters
TheShapeAssembly node (node is a little brick putted in a large brick, so the initial shape is the large brick)
void ReactorMesh::Translate ( double  dx,
double  dy,
double  dz 
)

Translate an assembly into the core.

Parameters
dxX translation
dyY translation
dzZ translation
void ReactorMesh::UpdatePointer ( )

Update pointers when Copy in MURE is done.

int ReactorMesh::ZoneDiscretization ( int  i,
int  j,
int  k 
)
protected

Automatic discretization of the differents zones.

On a radial cut view, a circle is drawn, defining a zone. If the center of a cell is included into the circle, then it belongs to this zone. This method returns the zone of each cell in the lattice.

Parameters
iLattice X axis iteration number
jLattice Y axis iteration number
kLattice Z axis iteration number : used for a count of pins in a radial zone (TH)

Member Data Documentation

double ReactorMesh::fAssemblyHeight
protected

The assembly height.

double ReactorMesh::fAssemblyLength
protected

The assembly length (brick case) Y axis.

string ReactorMesh::fAssemblyName
protected

Identification name of the assembly.

double ReactorMesh::fAssemblySide
protected

The length of a hexagon side (hexagon case)

double ReactorMesh::fAssemblyWidth
protected

The assembly width (brick case) X axis.

vector<bool> ReactorMesh::fAxialCrushSecurityHeterogeneity
protected

True if an heterogeneity is called - safeguard againt material crushing (one per zone)

int ReactorMesh::fAxialLevels
protected

The number of axial levels (number of differents cells in z direction)

Cell* ReactorMesh::fCAssemblyZone
protected

Assembly cell.

vector<vector<Cell*> > ReactorMesh::fCCladdings
protected

Matrix containing cladding cells.

vector<vector<Cell*> > ReactorMesh::fCCoolants
protected

Matrix containing coolant cells.

vector<vector<Cell*> > ReactorMesh::fCCRCladding
protected

Matrix containing CR cladding cells.

vector<vector<Cell*> > ReactorMesh::fCCRCoolantGap
protected

Matrix containing CR coolant gap cells.

vector<vector<Cell*> > ReactorMesh::fCCRExtCladding
protected

Matrix containing CR external cladding cells.

vector<vector<Cell*> > ReactorMesh::fCCRMat
protected

Matrix containing CR cells.

vector<vector<Cell*> > ReactorMesh::fCCROutside
protected

Matrix containing CR outside cells.

vector<vector<Cell*> > ReactorMesh::fCFuels
protected

Matrix containing fuel cells.

vector<vector<Cell*> > ReactorMesh::fCGTCladdings
protected

Matrix containing Guide Tubes cladding cells.

vector<vector<Cell*> > ReactorMesh::fCGTInside
protected

Matrix containing Guide Tubes inside cells.

vector<vector<Cell*> > ReactorMesh::fCGTOutside
protected

Matrix containing Guide Tubes outside cells.

double ReactorMesh::fChannelHeight
protected

The height of the channel (not the reactor height) - Is the same for all.

vector<double> ReactorMesh::fCladThickness
protected

The thickness of the cladding of a zone.

Cell* ReactorMesh::fCLatticeGen
protected

Lattice mesh generator (cell)

Cell* ReactorMesh::fCPlenumDown
protected

Bottom Plenum cell.

Cell* ReactorMesh::fCPlenumUp
protected

Top Plenum cell.

vector<double> ReactorMesh::fCRCladThickness
protected

The CR Cladding thickness.

vector<double> ReactorMesh::fCRCoolantGapThickness
protected

The CR Coolant gap thickness.

vector<double> ReactorMesh::fCRExtCladThickness
protected

The CR external Cladding thickness.

vector<double> ReactorMesh::fCRRadius
protected

The CR pin radius.

vector<int> ReactorMesh::fCRXpos
protected

Relative control rod X position with regard to the center.

vector<int> ReactorMesh::fCRYpos
protected

Relative control rod Y position with regard to the center.

vector<int> ReactorMesh::fCRZpos
protected

Absolute control rod Z position (first at the bottom)

vector<vector<Cell*> > ReactorMesh::fCSpec1
protected

Matrix containing special cells.

vector<Cell*> ReactorMesh::fCWhole
protected

Fictitious channel cell near the border (used only for lattices fill)

vector<double> ReactorMesh::fCZR
protected

Fictitious circles' radius needed to an automatic defining of cells zones.

string ReactorMesh::fExternalShapeType
protected

Type of the external shape.

vector<ofstream*> ReactorMesh::fFiles
protected

Output files.

bool ReactorMesh::fForcedPinCloseToBorder
protected

True if user force pins closed to the border (lattice hexagonal mesh at the border will be cutted by the assembly shape -> test on geometric conservation of the pin to validate creation of the lattice)

vector<double> ReactorMesh::fFuelRadius
protected

The radius of the fuel rod of a zone.

double ReactorMesh::fGasPressure
protected

Cold fill gas pressure (Pa)

vector<double> ReactorMesh::fGasThickness
protected

Thickness of the gas space.

vector<double> ReactorMesh::fGTCladThickness
protected

The thickness of the guide tube cladding of a zone.

vector<double> ReactorMesh::fGTRadius
protected

The inner radius of the guide tube rod of a zone or the radius of control rod.

vector<int> ReactorMesh::fGTXpos
protected

Relative guide tube X position with regard to the center.

vector<int> ReactorMesh::fGTYpos
protected

Relative guide tube Y position with regard to the center.

vector<int> ReactorMesh::fGTZpos
protected

Absolute guide tube Z position (first at the bottom)

double ReactorMesh::fHeFraMol
protected

Molar fraction of Helium in the gas.

bool ReactorMesh::fInitVectors
protected

Flag used to initialize vectors if necessary (defaut = false)

bool ReactorMesh::fIsCOBRA
protected

True if COBRA is calling ReactorMesh.

bool ReactorMesh::fIsControlRods
protected

Whether there is control rods in the geometry.

bool ReactorMesh::fIsGasSpace
protected

Whether gas space is simulated between cladding and fuel pin.

bool ReactorMesh::fIsGuideTubes
protected

Whether there is guide tubes in the geometry.

bool ReactorMesh::fIsHexagon
protected

Whether the channel is hexagonal (default is Cuboid)

bool ReactorMesh::fIsPinPos
protected

Whether some pin are manually set.

bool ReactorMesh::fIsPlenum
protected

True if plenum up and down are needed.

bool ReactorMesh::fIsSpecialPins
protected

Whether there is special pins in the geometry.

vector<vector<vector<int> > > ReactorMesh::fLatticeZ
protected

Matrix containing lattice mesh data and the zone of each one.

vector<vector<Material*> > ReactorMesh::fMCladdings
protected

Matrix containing cladding materials.

vector<vector<Material*> > ReactorMesh::fMCoolants
protected

Matrix containing coolant materials.

vector<vector<Material*> > ReactorMesh::fMCRCladding
protected

Matrix containing CR cladding materials.

vector<vector<Material*> > ReactorMesh::fMCRCoolantGap
protected

Matrix containing CR coolant gap materials.

vector<vector<Material*> > ReactorMesh::fMCRExtCladding
protected

Matrix containing CR external cladding materials.

vector<vector<Material*> > ReactorMesh::fMCRMat
protected

Matrix containing CR materials.

vector<vector<Material*> > ReactorMesh::fMCROutside
protected

Matrix containing CR outside materials.

vector<vector<Material*> > ReactorMesh::fMFuels
protected

Matrix containing fuel materials.

vector<vector<Material*> > ReactorMesh::fMGTCladdings
protected

Matrix containing Guide Tubes cladding materials.

vector<vector<Material*> > ReactorMesh::fMGTInside
protected

Matrix containing Guide Tubes inside materials.

vector<vector<Material*> > ReactorMesh::fMGTOutside
protected

Matrix containing Guide Tubes outside materials.

Material* ReactorMesh::fMPlenumDown
protected

Bottom Plenum material.

Material* ReactorMesh::fMPlenumUp
protected

Top Plenum material.

vector<vector<Material*> > ReactorMesh::fMSpec1
protected

Matrix containing special materials.

vector<Material*> ReactorMesh::fMWhole
protected

Channel material near the border == material of border zone (needed due to lattices fill)

vector<int> ReactorMesh::fNumberOfCRInZone
protected

Number of control rods in each zone.

vector<int> ReactorMesh::fNumberOfGTInZone
protected

Number of guide tubes in each zone.

vector<int> ReactorMesh::fNumberOfPinInZone
protected

Number of pins in each zone.

double ReactorMesh::fPitch
protected

The pitch of channels.

double ReactorMesh::fPlenumThickness
protected

Width of the plenum up and down.

int ReactorMesh::fRadialZones
protected

The number of radial zones (number of differents cells in x,y direction)

vector<double> ReactorMesh::fRadius1
protected

Radius of a rod part of a zone.

Shape_ptr ReactorMesh::fSAssemblyZone
protected

Assembly shape.

vector<Shape_ptr*> ReactorMesh::fSCladding
protected

Matrix containing cladding shapes.

vector<Shape_ptr*> ReactorMesh::fSCoolants
protected

Matrix containing coolant shapes.

vector<Shape_ptr*> ReactorMesh::fSCRCladding
protected

Matrix containing CR cladding shapes.

vector<Shape_ptr*> ReactorMesh::fSCRCoolantGap
protected

Matrix containing CR coolant gap shapes.

vector<Shape_ptr*> ReactorMesh::fSCRExtCladding
protected

Matrix containing CR external cladding shapes.

vector<Shape_ptr*> ReactorMesh::fSCRMat
protected

Matrix containing CR shapes.

vector<Shape_ptr*> ReactorMesh::fSCROutside
protected

Matrix containing CR outside shapes.

vector<Shape_ptr*> ReactorMesh::fSFuels
protected

Matrix containing fuel shapes.

vector<Shape_ptr*> ReactorMesh::fSGTCladdings
protected

Matrix containing Guide Tubes cladding shapes.

vector<Shape_ptr*> ReactorMesh::fSGTInside
protected

Matrix containing Guide Tubes inside shapes.

vector<Shape_ptr*> ReactorMesh::fSGTOutside
protected

Matrix containing Guide Tubes outside shapes.

Shape_ptr ReactorMesh::fSLatticeGen
protected

Lattice mesh generator (shape)

Shape_ptr ReactorMesh::fSPlenumDown
protected

Bottom Plenum shape.

Shape_ptr ReactorMesh::fSPlenumUp
protected

Top Plenum shape.

vector<int> ReactorMesh::fSPXpos
protected

Relative special pin X position with regard to the center.

vector<int> ReactorMesh::fSPYpos
protected

Relative special pin Y position with regard to the center.

vector<Shape_ptr*> ReactorMesh::fSSpec1
protected

Matrix containing special shapes.

Shape_ptr* ReactorMesh::fSWhole
protected

Fictitious channel shape near the border (used only for lattices fill)

double ReactorMesh::fXCenterDeviationOfMesh
protected

Storage of the X translation of the center pin for the mesh inside the assembly.

double ReactorMesh::fXDeviation
protected

X translation of the center pin (instead of begining the mesh on 0,0,0)

double ReactorMesh::fXeFraMol
protected

Molar fraction of Xenon in the gas.

int ReactorMesh::fXmax
protected

Maximum X range of lattice.

int ReactorMesh::fXmin
protected

Minimum X range of lattice.

int ReactorMesh::fXNumberOfPins
protected

Number of pins in X axis.

vector<int> ReactorMesh::fXpos
protected

Relative pin X position with regard to the center.

double ReactorMesh::fXTrans
protected

Assembly X translation value.

double ReactorMesh::fYCenterDeviationOfMesh
protected

Storage of the Y translation of the center pin.

double ReactorMesh::fYDeviation
protected

Y translation of the center pin.

int ReactorMesh::fYmax
protected

Maximum Y range of lattice.

int ReactorMesh::fYmin
protected

Minimum Y range of lattice.

int ReactorMesh::fYNumberOfPins
protected

Number of pins in Y axis.

vector<int> ReactorMesh::fYpos
protected

Relative pin Y position with regard to the center.

double ReactorMesh::fYTrans
protected

Assembly Y translation value.

double ReactorMesh::fZDeviation
protected

Z translation of the center pin.

int ReactorMesh::fZmax
protected

Maximum Z range of lattice.

int ReactorMesh::fZmin
protected

Minimum Z range of lattice.

int ReactorMesh::fZoneOfThePinsCloseToBorder
protected

If fuel pins haven't the same radius, force the zone number of these pins closed to the border to select the correct value of pins (ONLY for the test of build - correct zone and level will be automatically selected after this step)

vector<int> ReactorMesh::fZonepos
protected

Zone number of this pin.

vector<bool> ReactorMesh::fZonesOfCR
protected

Zones containing control rods.

vector<bool> ReactorMesh::fZonesOfGT
protected

Zones containing guide tubes.

vector<bool> ReactorMesh::fZonesOfSP
protected

Zones containing Specials Pins.

vector<int> ReactorMesh::fZSP
protected

Zones of Specials Pins.

double ReactorMesh::fZTrans
protected

Assembly Z translation value.


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

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