222 virtual vector < Material *>
Duplicate(
int N,
bool TrueClone =
true);
231 void UpdateZAI(
bool WithReactions =
true,
bool WithSF =
true);
403 void DumpMaterial(
string Filename,
double Mass,
double Volume);
516 map < int, map < int, map < int, int > > >
fIndex;
DensityUnitType
Define the density units.
Definition Material.hxx:54
@ kdUNDEFINED
Definition Material.hxx:54
@ kdGCM3
Definition Material.hxx:54
@ kdATBCM
Definition Material.hxx:54
@ kdATCM3
Definition Material.hxx:54
ProportionUnitType
Define the proportion units.
Definition Material.hxx:48
@ kpMOL
Definition Material.hxx:48
@ kpMASS
Definition Material.hxx:48
@ kpUNDEFINED
Definition Material.hxx:48
@ kpATCM3
Definition Material.hxx:48
@ kpATBCM
Definition Material.hxx:48
Header file for NucleiTree class.
Header file for Nucleus class.
Header file for ZAI and ZAIReaction classes.
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
A Material constituing a Cell.
Definition Material.hxx:83
bool fControlMaterial
This is a control material (e.g. for poison)
Definition Material.hxx:528
void SetPseudoMaterial()
Define a pesudo material.
Definition Material.cxx:719
void SetFuel(bool flag=true)
Definition Material.hxx:317
void EnablePrint()
Definition Material.hxx:364
bool IsControlMaterial()
Definition Material.hxx:313
virtual Material * Copy()
Copy a Material.
Definition Material.cxx:230
void SetMaterialName(string name)
Definition Material.hxx:457
Nucleus_ptr GetNucleus(int Z, int A, int I=0)
return the Nucleus Z, A, I
Definition Material.cxx:527
virtual vector< Material * > Duplicate(int N, bool TrueClone=true)
Duplicate material n times over.
Definition Material.cxx:1082
Material()
Normal Constructor.
Definition Material.cxx:47
void DumpMaterial(string filename="material.dat")
Make a nuclear chart &ascii tree of the material &write them to disk.
Definition Material.cxx:632
double fTemperature
Temperature (in K) at which the Material is used (to find the right MCNP code)
Definition Material.hxx:502
void SetModeratorBox(bool flag=true)
Definition Material.hxx:337
bool fFuel
whether or not this material is considered fuel.
Definition Material.hxx:518
void SetNumber(int n)
Definition Material.hxx:413
void CFAddElement(int Z, double p)
Definition Material.hxx:234
virtual Material * Clone(double Temperature=- 1)
Clone a Material.
Definition Material.cxx:306
string fMaterialName
Name of the material (uo2, water, ... used when thermal coupling)
Definition Material.hxx:509
void ResetProportion()
set all proprtion to 0.
Definition Material.cxx:1016
bool IsEvolving()
Definition Material.hxx:430
virtual ~Material()
Destructor.
Definition Material.cxx:359
bool fEvolution
whether or not will this Material will evolve with the time
Definition Material.hxx:504
bool IsFuel()
Definition Material.hxx:289
void AddNucleus(int Z, int A, double Proportion=1., ProportionUnitType ProportionUnit=kpMOL, string ModeratorCategory="")
Add a new Nucleus to the Material composition in the ground state.
Definition Material.cxx:386
bool IsModeratorBox()
Definition Material.hxx:309
bool fUpdated
true if ZAI have been updated (UpdateZAI) for evolution only
Definition Material.hxx:512
void SetPerturbative(bool flag=true)
Definition Material.hxx:438
bool IsPerturbativeTallyMaterial()
Definition Material.hxx:470
double fCFMeanMolarMass
Definition Material.hxx:539
bool IsOutCore()
Definition Material.hxx:452
void CFAddElement(double h, string Z, double p)
bool IsPerturbative()
Definition Material.hxx:434
void AddToGlobalNucleiVector()
add all nuclei of this material to GlobalNucleiVector
Definition Material.cxx:804
vector< Nucleus_ptr > fComposition
the Composition vector
Definition Material.hxx:514
void CFAddElement(string Z, double p)
void SetCladding(bool flag=true)
Definition Material.hxx:325
string PrintCompositionInfo()
Definition Material.cxx:941
void SetEvolution()
Say that this Material will evolve.
Definition Material.cxx:709
void SetDefaultXSExtension(string name)
Set a default extension for all nuclei of the material.
Definition Material.cxx:959
void SetCoolantGap(bool flag=true)
Definition Material.hxx:333
void SetCoolant(bool flag=true)
Definition Material.hxx:329
bool IsZAIInTree(ZAI *zai)
Definition Material.hxx:475
void DumpCompositionInfo(string name="CompInfo.dat")
Write the full composition information to a file.
Definition Material.cxx:910
ZAI * GetZAIInTree(ZAI *zai)
Definition Material.hxx:481
vector< ProportionUnitType > CFPropElement
Definition Material.hxx:538
ProportionUnitType fProportionUnit
Proportion vector unit (mol (default), at/barn.cm, at/cm3 or g/cm3)
Definition Material.hxx:501
void SetIsPerturbativeTallyMaterial(bool f=true)
Definition Material.hxx:466
int fNumber
Number of the Material in MCNP file.
Definition Material.hxx:498
Material * GetFatherOfPseudoClone()
Definition Material.hxx:446
void FindTotalSigmaPerNucleus()
Find total cross-section.
Definition Material.cxx:968
double MeanMolarMass()
return the mean molar mass (in gram)
Definition Material.cxx:822
double GetTemperature()
Definition Material.hxx:271
int GetZAIIndex(ZAI *zai)
Get the index of a given zai in the composition vector. Return -1 if not there.
Definition Material.cxx:684
string GetMaterialName()
Definition Material.hxx:461
bool fModeratorBox
whether or not this material is considered ModeratorBox.
Definition Material.hxx:520
bool fPerturbative
whether this Material is a virtual (perturbative) material for MCNP input
Definition Material.hxx:507
bool fModerator
whether or not this material is considered moderator.
Definition Material.hxx:519
bool HasModerator()
Definition Material.hxx:276
void SortCompositionByAmount()
Sort the proportions/compositions in proportion order (highest first).
Definition Material.cxx:575
Material * Mix(Material *M2, double part, ProportionUnitType ProportionUnit=kpMOL)
Mix 2 Materials.
Definition Material.cxx:1025
void CFAddElementNucleus(int Z, int A, double frac, ProportionUnitType unit)
Definition Material.hxx:243
bool fCoolantGap
whether or not this material is considered WaterGap.
Definition Material.hxx:523
string fModeratorName
Name of the moderator to be print in MT card (e.g. grph.06t)
Definition Material.hxx:508
bool fCladding
whether or not this material is considered cladding.
Definition Material.hxx:521
bool fPseudoMaterial
Is the material a pseudomaterial?
Definition Material.hxx:527
vector< Nucleus_ptr > & GetComposition()
Definition Material.hxx:182
vector< vector< ZAI * > > CFIsotopes
Definition Material.hxx:534
vector< vector< double > > CFIsotopeProportions
Definition Material.hxx:535
void SortCompositionByMass()
Sort the proportions/compositions in atomic mass order (highest first).
Definition Material.cxx:603
bool IsModerator()
Definition Material.hxx:293
DensityUnitType GetDensityUnit()
Definition Material.hxx:267
vector< double > CFps
Definition Material.hxx:532
bool IsCladding()
Definition Material.hxx:297
Cell * SetOutCore(int TheNumber, double TheVolume)
return a out core cell of volume TheVolume and number TheNumber
Definition Material.cxx:1101
void CFSetDensity(double dens, DensityUnitType unit)
Definition Material.hxx:248
bool IsPrintable()
Definition Material.hxx:385
bool fPrintable
whether or not material is printable in MCNP input file (default)
Definition Material.hxx:525
bool fIsPerturbativeTallyMaterial
Definition Material.hxx:529
void ForbidPrint()
Forbid Material print in MCNP.
Definition Material.hxx:360
string PrintProportionUnit(ProportionUnitType ProportionUnit=kpUNDEFINED)
Pretty print of proportion units.
Definition Material.cxx:1145
void Proportion2AtomCM3()
Convert proportion unit (kpMOL or kpMASS) in at/cm3.
Definition Material.cxx:1272
void SetModeratorName(string name)
Definition Material.hxx:280
void SetDensity(double Density, DensityUnitType DensityUnit=kdGCM3)
Set the density.
Definition Material.cxx:379
bool IsPseudoMaterial()
Definition Material.hxx:380
void CFAddElementNucleus(int Z, int A, int I, double frac, ProportionUnitType unit)
Definition Material.cxx:1309
void SetTemperatureEvolution(bool flag=true)
set the Temperature evolution flag
Definition Material.cxx:730
bool fTemperatureEvolution
whether or not temperature will evolve
Definition Material.hxx:505
bool fCoolant
whether or not this material is considered Coolant.
Definition Material.hxx:522
int GetNumber()
Definition Material.hxx:409
bool fOutCore
whether or not material is an Out core evolving material
Definition Material.hxx:526
Nucleus_ptr GetComposition(int i)
Definition Material.hxx:186
DensityUnitType fDensityUnit
Density unit (either g/cm3 (default), at/cm3 or at/barn.cm)
Definition Material.hxx:500
double GetDensity(DensityUnitType DensityUnit)
Definition Material.cxx:845
void SetProportion(int i, double proportion, ProportionUnitType ProportionUnit)
Set the Proportion of the ith nucleus.
Definition Material.cxx:1231
vector< double > CFhs
Definition Material.hxx:533
string fDefaultXSExtension
Give a default extension to all nucleus.
Definition Material.hxx:510
map< int, map< int, map< int, int > > > fIndex
The index of the ZAI in the material composition.
Definition Material.hxx:516
vector< int > CFElements
Definition Material.hxx:531
string PrintDensityUnit(DensityUnitType DensityUnit=kdUNDEFINED)
Pretty print of density units.
Definition Material.cxx:1125
double SumProportion()
return the sum of Proportion of each nucleus
Definition Material.cxx:566
void UpdateZAI(bool WithReactions=true, bool WithSF=true)
Update all ZAI of material (With reactions&decays or just decays).
Definition Material.cxx:741
void SetTemperature(double T=293.6)
Set the temperature in K.
Definition Material.cxx:812
vector< double > fProportion
the Proportion vector
Definition Material.hxx:515
double CFDensity
Definition Material.hxx:540
Material * fFatherOfPseudoClone
the father to used in cell in case of Pseudo clone
Definition Material.hxx:517
string GetDefaultXSExtension()
Definition Material.hxx:425
void AddZAIDaughters(ZAI *zai)
add the daughters of zai in this with proportion=0
Definition Material.cxx:498
void CFCalculateMaterial()
Definition Material.cxx:1350
vector< double > CFElementRho
Definition Material.hxx:537
double fDensity
Density of the Material.
Definition Material.hxx:499
void SetModerator(bool flag=true)
Definition Material.hxx:321
vector< double > CFElementMolarMass
Definition Material.hxx:536
bool IsCoolant()
Definition Material.hxx:301
DensityUnitType CFDensityUnit
Definition Material.hxx:541
string GetModeratorName()
Definition Material.hxx:284
string PrintAll()
Print the Material (and its Nuclei) in MCNP format.
Definition Material.cxx:535
double GetProportion(int i, ProportionUnitType ProportionUnit)
Definition Material.cxx:1169
void SetComposition(vector< Nucleus_ptr > f)
Definition Material.hxx:190
ProportionUnitType GetProportionUnit()
Definition Material.hxx:224
bool IsCoolantGap()
Definition Material.hxx:305
Handle dynamical object creation and pointer affectation.
Definition TReference.hxx:74
A ZAI defined a (Z, A, Isomere) for a Nucleus.
Definition ZAI.hxx:118
int I()
Definition ZAI.hxx:144
int A()
Definition ZAI.hxx:140
int Z()
Definition ZAI.hxx:136
the namespace of the Standard C++