60 std::map<char*, std::pair<float, Isotope*> >
_isotopes;
119 void retrieveXS(
float* xs,
int num_xs,
char* xs_type);
void setAtomicMass(float atomic_mass)
Sets the material's total atomic mass.
Definition: Material.cpp:803
std::map< Isotope *, float > _isotopes_AO
Definition: Material.h:62
float getFissionMicroXS(float energy)
Returns the total microscopic fission cross-section for the Material at some energy (eV)...
Definition: Material.cpp:619
Represents a neutron in a PINSPEC simulation.
Definition: Neutron.h:27
void setDensity(float density, char *unit)
Sets this material's density.
Definition: Material.cpp:743
float getElasticMicroXS(float energy)
Returns the total macroscopic elastic scattering cross-section for the material at some energy (eV)...
Definition: Material.cpp:380
void incrementVolume(float volume)
Increments the volume occupied by this material in the geometry.
Definition: Material.cpp:827
float getAbsorptionMicroXS(float energy)
Returns the total microscopic absorption cross-section for the material at some energy (eV)...
Definition: Material.cpp:460
densityUnits
Units in which density for isotopes may be expressed.
Definition: Material.h:23
float getElasticMacroXS(float energy)
Returns the total macroscopic elastic scattering cross-section for the material at some energy (eV)...
Definition: Material.cpp:340
void sampleIsotope(neutron *neutron)
Samples an isotope for a collision.
Definition: Material.cpp:961
int getNumXSEnergies(char *xs_type)
Returns the total number of energies for which cross-sections are defined for one of the material's c...
Definition: Material.cpp:163
void retrieveXSEnergies(float *energies, int num_xs, char *xs_type)
Fills an array with cross-section energy values.
Definition: Material.cpp:198
The Isotope represents a nuclide at some temperature.
Definition: Isotope.h:41
char * _material_name
Definition: Material.h:41
float getDensity()
Returns the material's density.
Definition: Material.cpp:1007
float getBucklingSquared()
Returns the geometric buckling squared for the geometry.
Definition: Material.cpp:137
void retrieveXS(float *xs, int num_xs, char *xs_type)
Fills an array with macroscopic cross-section values.
Definition: Material.cpp:232
float getTotalMacroXS(float energy)
Returns the total macroscopic cross-section for the material at some energy (eV). ...
Definition: Material.cpp:264
Material * clone()
This method clones a given material object by executing a deep copy of all of the material's class at...
Definition: Material.cpp:1040
Material(char *material_name)
Material constructor.
Definition: Material.cpp:13
float getFissionMacroXS(float energy)
Returns the total macroscopic fission cross-section for the material at some energy (eV)...
Definition: Material.cpp:579
float getIsotopeDensity(Isotope *isotope, densityUnit units=NUM_CM3)
This method takes in a character array specifier for an isotope's name and returns a float for the Is...
Definition: Material.cpp:93
void setMaterialName(char *name)
Sets the name for the material.
Definition: Material.cpp:733
float _material_atomic_mass
Definition: Material.h:52
float getVolume()
Returns the total volume of all regions containing this material.
Definition: Material.cpp:146
float sampleDistanceTraveled(neutron *neutron)
Samples a random distance to collision within this material.
Definition: Material.cpp:948
float getAbsorptionMacroXS(float energy)
Returns the total macroscopic absorption cross-section for the material at some energy.
Definition: Material.cpp:420
float _material_number_density
Definition: Material.h:49
float getCaptureMicroXS(float energy)
Returns the total microscopic capture cross-section for the material at some energy (eV) ...
Definition: Material.cpp:539
void collideNeutron(neutron *neutron)
Samples an isotope and a reaction rate for a neutron.
Definition: Material.cpp:1021
void setBucklingSquared(float buckling_squared)
Sets the squared geomtric buckling for the geometry in which this material resides.
Definition: Material.cpp:815
densityUnit _density_unit
Definition: Material.h:65
float getTransportMicroXS(float energy)
Returns the total microscopic transport cross-section for the material at some energy (eV) ...
Definition: Material.cpp:657
std::map< char *, std::pair< float, Isotope * > > _isotopes
Definition: Material.h:60
The Material class represents a collection of isotope objects.
Definition: Material.h:37
virtual ~Material()
Mterial destructor.
Definition: Material.cpp:36
float getCaptureMacroXS(float energy)
Returns the total macroscopic capture cross-section within this material at some energy (eV)...
Definition: Material.cpp:499
enum densityUnits densityUnit
A unit in which density for isotopes may be expressed.
int _uid
Definition: Material.h:45
void setNumberDensity(float number_density, const char *unit)
Sets the material's number density.
Definition: Material.cpp:770
Isotope * getIsotope(char *isotope)
This method takes in a character array specifier for an isotope's name and returns a pointer to the I...
Definition: Material.cpp:81
static int _n
Definition: Material.h:43
bool containsIsotope(Isotope *isotope)
This method checks if the material contains a given isotope.
Definition: Material.cpp:125
float _volume
Definition: Material.h:57
float _material_density
Definition: Material.h:47
char * getMaterialName()
Returns the material name.
Definition: Material.cpp:45
float _buckling_squared
Definition: Material.h:55
float getTransportMacroXS(float energy)
Returns the total macroscopic transport cross-section for the material at some energy (eV) ...
Definition: Material.cpp:696
void addIsotope(Isotope *isotope, float atomic_ratio)
Adds a new isotope to this material with a given atomic ratio.
Definition: Material.cpp:846
int getUid() const
Returns the unique ID auto-generated for the material.
Definition: Material.cpp:54
float getTotalMicroXS(float energy)
Returns the total microscopic cross-section for the material at some energy (eV). ...
Definition: Material.cpp:304
float getMaterialNumberDensity()
Returns the total number density for all isotopes within the material.
Definition: Material.cpp:64