MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Private Attributes | Static Private Attributes | List of all members
COBRA Class Reference

Manages the coupling analysis with thermal hydraulics code COBRA-EN. More...

#include <COBRA.hxx>

Inheritance diagram for COBRA:
ReactorMesh

Public Member Functions

Constructor & destructor
 COBRA (int NZones, int NLevels, string AssemblyName="A", bool Hex=false)
 Default constructor. More...
 
virtual ~COBRA ()
 Default destructor. More...
 
 COBRA ()
 Fictitious constructor ; just used for reset of static bool. More...
 
virtual COBRAClone ()
 Correct way to copy a COBRA object in case of derivation. More...
 
- Public Member Functions inherited from ReactorMesh
vector< vector< Cell * > > & GetFuelCell ()
 returns the Fuel (evolving) Cell vector[Nradial][Naxial]. More...
 
 ReactorMesh (int NZones=1, int NLevels=1, string AssemblyName="A", bool Hex=false)
 Default constructor. More...
 
virtual ~ReactorMesh ()
 Default destructor. More...
 
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...
 
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)
 
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...
 
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

Input file buiders
void Card1 ()
 Generate and Write : Run Identifier. More...
 
void Card2 ()
 Generate and Write : General Options. More...
 
void Card3 ()
 Generate and Write : General TH Parameters. More...
 
void Card4 ()
 Generate and Write : Axial Intervals. More...
 
void Card5 ()
 Generate and Write : Linear Rod Powers. More...
 
void Card7 ()
 Generate and Write : Channel Connexion Data. More...
 
void Card8 ()
 Generate and Write : Rod To Subchannel Connection Data. More...
 
void Card10 ()
 Generate and Write : Channel Data. More...
 
void Card11 ()
 Generate and Write : Grids position. More...
 
void Card12 ()
 Generate and Write : Data for COBRA Fuel Heating Models. More...
 
void Card14 ()
 Generate and Write : Hydraulic Model Indicators. More...
 
void Card18 ()
 Generate and Write : Two Phase Friction Model. More...
 
void Card20 ()
 Generate and Write : Void Friction Model. More...
 
void Card22 ()
 Generate and Write : Heat Transfer Model. More...
 
void Card26 ()
 Generate and Write : Parameters Section A and B. More...
 
void Card27 ()
 Generate and Write : Convergence Parameters. More...
 
void Card29 ()
 Generate and Write : Operating Conditions. More...
 
void Card30 ()
 Generate and Write : Time Data. More...
 
void Card32 ()
 Generate and Write : Transient Parameters. More...
 
void Card36 ()
 Generate and Write : Output Printing. More...
 
Internal methods
 COBRA (const COBRA &c)
 < Copy constructor More...
 
void Init ()
 Initializes some structures. More...
 
void THDataCalculations ()
 Calculates values necessary to COBRA code. More...
 
void MeshGridMC ()
 Create mesh grid correspondance between MURE and COBRA lattices. More...
 
void CardComment (int N, string Comment)
 Generate and Write comments of cards. More...
 
string InputCardTruncate (double Value, int CharNumber, bool MustBeADouble=false)
 Truncate value to the correct input size. More...
 
void CalculatePowerDeposits ()
 Calculate cells' power deposits. More...
 
void CalculateChannelsPositions ()
 Calculate channels' positions. More...
 
vector< double > CalculateChannelConnectionAndData (int ChannelNumber)
 Calculate channels connections distances and channels data (area and perimeters) More...
 
vector< double > IdentifyRodsToSubChannelsConnexion (int RodNumber)
 Calculate Rod to subchannel connection data. More...
 
void OrganizeChannels ()
 Organize Channels types. More...
 
void PrintData ()
 Print output files of geometry and power deposits. More...
 
void PrintNewTHData ()
 Print output files of new operating conditions. More...
 
void RunCOBRA ()
 Run script for COBRA launching. More...
 
void CheckCoherence ()
 Checks coherence on data : some improvments are to be done. More...
 
COBRA Reader Internal subroutines
void UpdateData ()
 Run routines to get and update all data. More...
 
void CheckOutputFile ()
 Checks output file presence (results of thermal hydraulics computation) More...
 
void ExtractData ()
 Read the output file and store required data into matrix (temperatures, densities, ...) More...
 
void MCNPCellsDataAverages ()
 Do an average on thermal data (COBRA mesh —> MURE mesh) More...
 
void MCNPZonesDataAverages ()
 Do an average on radial zones thermal data for each axial level (MURE simplified mesh) More...
 
void RebootStrapping ()
 Re initialize some values (in the case of iterations with neutronics) More...
 
- Protected Member Functions inherited from ReactorMesh
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...
 

Private Attributes

bool fHydraulicModelIndicators
 If true, user hydraulics parameters are used. More...
 
string fAssemblyName
 Identification Name Of the assembly. More...
 
int fFuelRodsNumber
 Total number of fuel rods (control rods are including in this numbering but they do not release power) More...
 
int fChannelsNumber
 Total number of coolant channels (not including bypass channels) More...
 
int fChannelType
 Number of different channel types. More...
 
int fNDX
 Number of axials interval in thermal hydraulics. More...
 
double fInletTemperature
 Inlet temperature (K) default = 560 K. More...
 
double fInletDensity
 If necessary for plenum : inlet density linked with the temperature. More...
 
double fInletMassFlux
 Average inlet mass flux (kg/m2/s) default = 3900 kg/m2/s. More...
 
double fInletBoronConcentration
 Inlet boron concentration (mass proportion in ppm) default = 1000 ppm. More...
 
double fExitPressure
 System exit pressure (MPa) default = 15.8 MPa. More...
 
string fDirectory
 MURE output directory. More...
 
ofstream * fInputFile
 COBRA Input File. More...
 
ifstream * fOutputFile
 COBRA Output File. More...
 
int fNumberOfGrids
 Number of grids. More...
 
double fGridCoeff
 Grid loss coefficient. More...
 
vector< double > fGridPositions
 Positions of grids. More...
 
vector< vector< double > > fPower
 Power deposit value for each radial and axial zones. More...
 
vector< vector< double > > fPowerErr
 Error on power deposit value for each radial and axial zones. More...
 
vector< vector< int > > fCOBRARodsLatticeNumbering
 Matrix containing rods lattice mesh data for COBRA identification number (MURE->COBRA) More...
 
vector< vector< int > > fCOBRAChannelsLatticeNumbering
 Matrix containing channels lattice mesh data for COBRA identification number (MURE->COBRA) More...
 
vector< vector< double > > fCOBRAChannelsRCXPos
 Matrix containing channels top right corner X cartesian position. More...
 
vector< vector< double > > fCOBRAChannelsRCYPos
 Matrix containing channels top right corner Y cartesian position. More...
 
vector< vector< double > > fCOBRAChannelsCenterXPos
 Matrix containing channels center X cartesian position. More...
 
vector< vector< double > > fCOBRAChannelsCenterYPos
 Matrix containing channels center Y cartesian position. More...
 
vector< vector< int > > fChannelTypes
 Matrix containing channels types with their identification number. More...
 
vector< double > fChannelFlowArea
 Flow area value of the channel. More...
 
vector< double > fChannelWettedPerimeter
 Wetted perimeter value of the channel. More...
 
vector< double > fChannelHeatedPerimeter
 Heated perimeter value of the channel. More...
 
vector< vector< double > > fMUREFuelCellsTemp
 Matrix containing MURE fuel cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first) More...
 
vector< vector< double > > fMURECladCellsTemp
 Matrix containing MURE cladding cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first) More...
 
vector< vector< double > > fMURECoolantCellsTemp
 Matrix containing MURE coolant cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first) More...
 
vector< vector< double > > fCOBRACoolantChannelDensity
 Temporary Matrix containing COBRA coolant channels temperature f[X][Y] : X = COBRA channel numbering ; Y = Levels steps (bottom at first) More...
 
vector< vector< double > > fMURECoolantCellsDensity
 Matrix containing MURE coolant cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first) More...
 
double fOutletMeanTemperature
 Outlet mean temperature (used for plenum) More...
 
double fOutletMeanDensity
 Outlet mean density (used for plenum) More...
 

Static Private Attributes

static bool fSigmaPhiUpdated =false
 Check if the update of sigma phi is already done. More...
 

Miscellaneous methods

void SetInletTemperature (double T)
 Set system inlet temperature (K) More...
 
void SetInletMassFlux (double Q)
 Set average inlet mass flux for channels (kg/m2/s) More...
 
void SetInletBoronConcentration (double C)
 Set inlet boron concentration (mass proportion in ppm) More...
 
void SetExitPressure (double P)
 Set system exit pressure (MPa) More...
 
void BuildCOBRAFile ()
 Generate and Write file on disk (calling others methods) More...
 
void SetGridsCoeff (double GridCoefficient)
 Set grid loss coefficients. More...
 
void SetGridsPos (double Pos)
 Set relative grid position (fractional distance up channel : z/H) More...
 
string GetAssemblyName ()
 returns the name of the assembly More...
 
void SetInletDensity (double D)
 Set system inlet density (kg/m3) - used only to plenum IF necessary. If it is not used, default value is the first cell density. More...
 
void SetUserHydraulicsModel ()
 Use special models for heat transfer (use carefully) More...
 
static void ResetSigmaPhiBool ()
 

Additional Inherited Members

- Protected Attributes inherited from ReactorMesh
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...
 
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...
 
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...
 
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 the coupling analysis with thermal hydraulics code COBRA-EN.

This Object creates the input file of the thermal hydraulic code COBRA-EN. It manages the running and the update of the new temperature and densities into the simulated reactor. This class do not directly creates the geometry. It call class ReactorMesh to generate a filled geometry (for use : cf. class ReactorMesh). So about the geometry and neutronics aspects you have to use methods of the ReactorMesh class.

Data are in SI (ex : dimensions in meters, power in watts,...)

Author
Nico*
Version
1.0

Constructor & Destructor Documentation

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

Default constructor.

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

Default destructor.

COBRA::COBRA ( )

Fictitious constructor ; just used for reset of static bool.

COBRA::COBRA ( const COBRA c)
protected

< Copy constructor

Member Function Documentation

void COBRA::BuildCOBRAFile ( )

Generate and Write file on disk (calling others methods)

vector< double > COBRA::CalculateChannelConnectionAndData ( int  ChannelNumber)
protected

Calculate channels connections distances and channels data (area and perimeters)

void COBRA::CalculateChannelsPositions ( )
protected

Calculate channels' positions.

void COBRA::CalculatePowerDeposits ( )
protected

Calculate cells' power deposits.

void COBRA::Card1 ( )
protected

Generate and Write : Run Identifier.

void COBRA::Card10 ( )
protected

Generate and Write : Channel Data.

void COBRA::Card11 ( )
protected

Generate and Write : Grids position.

void COBRA::Card12 ( )
protected

Generate and Write : Data for COBRA Fuel Heating Models.

void COBRA::Card14 ( )
protected

Generate and Write : Hydraulic Model Indicators.

void COBRA::Card18 ( )
protected

Generate and Write : Two Phase Friction Model.

void COBRA::Card2 ( )
protected

Generate and Write : General Options.

void COBRA::Card20 ( )
protected

Generate and Write : Void Friction Model.

void COBRA::Card22 ( )
protected

Generate and Write : Heat Transfer Model.

void COBRA::Card26 ( )
protected

Generate and Write : Parameters Section A and B.

void COBRA::Card27 ( )
protected

Generate and Write : Convergence Parameters.

void COBRA::Card29 ( )
protected

Generate and Write : Operating Conditions.

void COBRA::Card3 ( )
protected

Generate and Write : General TH Parameters.

void COBRA::Card30 ( )
protected

Generate and Write : Time Data.

void COBRA::Card32 ( )
protected

Generate and Write : Transient Parameters.

void COBRA::Card36 ( )
protected

Generate and Write : Output Printing.

void COBRA::Card4 ( )
protected

Generate and Write : Axial Intervals.

void COBRA::Card5 ( )
protected

Generate and Write : Linear Rod Powers.

void COBRA::Card7 ( )
protected

Generate and Write : Channel Connexion Data.

void COBRA::Card8 ( )
protected

Generate and Write : Rod To Subchannel Connection Data.

void COBRA::CardComment ( int  N,
string  Comment 
)
protected

Generate and Write comments of cards.

void COBRA::CheckCoherence ( )
protected

Checks coherence on data : some improvments are to be done.

void COBRA::CheckOutputFile ( )
protected

Checks output file presence (results of thermal hydraulics computation)

virtual COBRA* COBRA::Clone ( )
inlinevirtual

Correct way to copy a COBRA object in case of derivation.

Reimplemented from ReactorMesh.

void COBRA::ExtractData ( )
protected

Read the output file and store required data into matrix (temperatures, densities, ...)

string COBRA::GetAssemblyName ( )
inline

returns the name of the assembly

vector< double > COBRA::IdentifyRodsToSubChannelsConnexion ( int  RodNumber)
protected

Calculate Rod to subchannel connection data.

void COBRA::Init ( )
protected

Initializes some structures.

string COBRA::InputCardTruncate ( double  Value,
int  CharNumber,
bool  MustBeADouble = false 
)
protected

Truncate value to the correct input size.

void COBRA::MCNPCellsDataAverages ( )
protected

Do an average on thermal data (COBRA mesh —> MURE mesh)

void COBRA::MCNPZonesDataAverages ( )
protected

Do an average on radial zones thermal data for each axial level (MURE simplified mesh)

void COBRA::MeshGridMC ( )
protected

Create mesh grid correspondance between MURE and COBRA lattices.

void COBRA::OrganizeChannels ( )
protected

Organize Channels types.

void COBRA::PrintData ( )
protected

Print output files of geometry and power deposits.

void COBRA::PrintNewTHData ( )
protected

Print output files of new operating conditions.

void COBRA::RebootStrapping ( )
protected

Re initialize some values (in the case of iterations with neutronics)

static void COBRA::ResetSigmaPhiBool ( )
inlinestatic
void COBRA::RunCOBRA ( )
protected

Run script for COBRA launching.

void COBRA::SetExitPressure ( double  P)
inline

Set system exit pressure (MPa)

void COBRA::SetGridsCoeff ( double  GridCoefficient)
inline

Set grid loss coefficients.

void COBRA::SetGridsPos ( double  Pos)
inline

Set relative grid position (fractional distance up channel : z/H)

void COBRA::SetInletBoronConcentration ( double  C)
inline

Set inlet boron concentration (mass proportion in ppm)

void COBRA::SetInletDensity ( double  D)
inline

Set system inlet density (kg/m3) - used only to plenum IF necessary. If it is not used, default value is the first cell density.

void COBRA::SetInletMassFlux ( double  Q)
inline

Set average inlet mass flux for channels (kg/m2/s)

void COBRA::SetInletTemperature ( double  T)
inline

Set system inlet temperature (K)

void COBRA::SetUserHydraulicsModel ( )
inline

Use special models for heat transfer (use carefully)

void COBRA::THDataCalculations ( )
protected

Calculates values necessary to COBRA code.

void COBRA::UpdateData ( )
protected

Run routines to get and update all data.

Member Data Documentation

string COBRA::fAssemblyName
private

Identification Name Of the assembly.

vector<double> COBRA::fChannelFlowArea
private

Flow area value of the channel.

vector<double> COBRA::fChannelHeatedPerimeter
private

Heated perimeter value of the channel.

int COBRA::fChannelsNumber
private

Total number of coolant channels (not including bypass channels)

int COBRA::fChannelType
private

Number of different channel types.

vector<vector<int> > COBRA::fChannelTypes
private

Matrix containing channels types with their identification number.

vector<double> COBRA::fChannelWettedPerimeter
private

Wetted perimeter value of the channel.

vector<vector<double> > COBRA::fCOBRAChannelsCenterXPos
private

Matrix containing channels center X cartesian position.

vector<vector<double> > COBRA::fCOBRAChannelsCenterYPos
private

Matrix containing channels center Y cartesian position.

vector<vector<int> > COBRA::fCOBRAChannelsLatticeNumbering
private

Matrix containing channels lattice mesh data for COBRA identification number (MURE->COBRA)

vector<vector<double> > COBRA::fCOBRAChannelsRCXPos
private

Matrix containing channels top right corner X cartesian position.

vector<vector<double> > COBRA::fCOBRAChannelsRCYPos
private

Matrix containing channels top right corner Y cartesian position.

vector<vector<double> > COBRA::fCOBRACoolantChannelDensity
private

Temporary Matrix containing COBRA coolant channels temperature f[X][Y] : X = COBRA channel numbering ; Y = Levels steps (bottom at first)

vector<vector<int> > COBRA::fCOBRARodsLatticeNumbering
private

Matrix containing rods lattice mesh data for COBRA identification number (MURE->COBRA)

string COBRA::fDirectory
private

MURE output directory.

double COBRA::fExitPressure
private

System exit pressure (MPa) default = 15.8 MPa.

int COBRA::fFuelRodsNumber
private

Total number of fuel rods (control rods are including in this numbering but they do not release power)

double COBRA::fGridCoeff
private

Grid loss coefficient.

vector<double> COBRA::fGridPositions
private

Positions of grids.

bool COBRA::fHydraulicModelIndicators
private

If true, user hydraulics parameters are used.

double COBRA::fInletBoronConcentration
private

Inlet boron concentration (mass proportion in ppm) default = 1000 ppm.

double COBRA::fInletDensity
private

If necessary for plenum : inlet density linked with the temperature.

double COBRA::fInletMassFlux
private

Average inlet mass flux (kg/m2/s) default = 3900 kg/m2/s.

double COBRA::fInletTemperature
private

Inlet temperature (K) default = 560 K.

ofstream* COBRA::fInputFile
private

COBRA Input File.

vector<vector<double> > COBRA::fMURECladCellsTemp
private

Matrix containing MURE cladding cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first)

vector<vector<double> > COBRA::fMURECoolantCellsDensity
private

Matrix containing MURE coolant cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first)

vector<vector<double> > COBRA::fMURECoolantCellsTemp
private

Matrix containing MURE coolant cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first)

vector<vector<double> > COBRA::fMUREFuelCellsTemp
private

Matrix containing MURE fuel cells temperature f[X][Y] : X = COBRA rod numbering ; Y = Levels steps (bottom at first)

int COBRA::fNDX
private

Number of axials interval in thermal hydraulics.

int COBRA::fNumberOfGrids
private

Number of grids.

double COBRA::fOutletMeanDensity
private

Outlet mean density (used for plenum)

double COBRA::fOutletMeanTemperature
private

Outlet mean temperature (used for plenum)

ifstream* COBRA::fOutputFile
private

COBRA Output File.

vector<vector<double> > COBRA::fPower
private

Power deposit value for each radial and axial zones.

vector<vector<double> > COBRA::fPowerErr
private

Error on power deposit value for each radial and axial zones.

bool COBRA::fSigmaPhiUpdated =false
staticprivate

Check if the update of sigma phi is already done.


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

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